1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| SELECT * FROM (
SELECT annee, mois, indicateur, ROUND(SUM(valeur),2) AS valeur, secteur_name, antenne
FROM contingent
INNER JOIN secteurs
ON contingent.numero_secteur = secteurs.id
WHERE secteur_name = '" + secteur + "'
AND mois = '" + periode + "'
AND annee = '" + annee + "'
AND indicateur IN ('Total Heures dispo par mois (Base 38)',
'Nbre H Absentéisme (code M) (Base 38)',
'Nbre H Prestées (code PR) (Base 38)',
'Ecart H Dispo et H prestées (Base 38)')
GROUP BY annee, mois, indicateur, antenne, secteur_name
UNION ALL
SELECT annee, '', indicateur, ROUND(SUM(valeur),2) AS valeur, secteur_name, antenne
FROM pot_depart_conges
INNER JOIN secteurs
ON pot_depart_conges.numero_secteur = secteurs.id
WHERE secteur_name = '" + secteur + "'
AND annee = '" + annee + "'
GROUP BY indicateur, antenne, annee, secteur_name
UNION ALL
SELECT annee, mois, indicateur, ROUND(SUM(valeur),2) AS valeur, secteur_name, antenne
FROM conges_pris
INNER JOIN secteurs
ON conges_pris.numero_secteur = secteurs.id
WHERE secteur_name = '" + secteur + "'
AND mois = '" + additionPeriode + "'
AND annee = '" + annee + "'
GROUP BY indicateur, antenne, annee, mois, secteur_name
UNION ALL
SELECT pot_depart_conges.annee, conges_pris.mois AS mois, 'Congés Restants',
(SELECT ROUND(SUM(valeur),2) AS valeur
FROM pot_depart_conges
INNER JOIN secteurs
ON pot_depart_conges.numero_secteur = secteurs.id
WHERE annee = '" + annee + "' AND antenne = '" + centre + "' AND secteur_name = '" + secteur +"')
-
(SELECT ROUND(SUM(valeur),2) AS valeur
FROM conges_pris
INNER JOIN secteurs
ON conges_pris.numero_secteur = secteurs.id
WHERE annee = '" + annee + "'
AND antenne = '" + centre + "'
AND secteur_name = '" + secteur + "'
AND mois = '" + additionPeriode + "') AS Soustraction,
secteur_name, antenne
FROM pot_depart_conges
INNER JOIN secteurs
ON pot_depart_conges.numero_secteur = secteurs.id
INNER JOIN conges_pris
ON pot_depart_conges.numero_secteur = conges_pris.numero_secteur
WHERE antenne = '" + centre + "'
AND mois = '" + additionPeriode + "'
AND secteur_name = '" + secteur + "'
AND pot_depart_conges.annee = '" + annee + "'
GROUP BY pot_depart_conges.indicateur, secteur_name, antenne, pot_depart_conges.annee, mois
UNION ALL
SELECT annee, '', indicateur, ROUND(SUM(valeur),2) AS valeur, secteur_name, antenne
FROM solde_heures_recup
INNER JOIN secteurs
ON solde_heures_recup.numero_secteur = secteurs.id
WHERE secteur_name = '" + secteur + "' " +
AND annee = '" + annee + "' " +
GROUP BY indicateur, antenne, annee, secteur_name
) alias
order by case indicateur
WHEN 'Total Heures dispo par mois (Base 38)' THEN 1
WHEN 'Nbre H Prestées (code PR) (Base 38)' THEN 2
WHEN 'Ecart H Dispo et H prestées (Base 38)' THEN 3
WHEN 'Nbre H Absentéisme (code M) (Base 38)' THEN 4
WHEN 'Pot départ congés' THEN 5
WHEN 'congés pris' THEN 6
WHEN 'solde congés'THEN 7
WHEN 'Solde heures récup' THEN 8
END ASC; |
Partager