Commit bebb40d1 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Fiabilisation plafonds

parent 8c94a8da
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -8,15 +8,7 @@
 * @var $viewFile   string
 */

$controller->flashMessenger()->addSuccessMessage('addSuccessMessage');
$controller->flashMessenger()->addInfoMessage('addInfoMessage');
$controller->flashMessenger()->addWarningMessage('addWarningMessage');
$controller->flashMessenger()->addErrorMessage('addErrorMessage');

$messenger = $this->messenger();

$messenger->addCurrentMessagesFromFlashMessengerWithNamespace('error');

echo $messenger;
/** @var \Application\Connecteur\LdapConnecteur $c */
$c = $container->get(\Application\Connecteur\LdapConnecteur::class);

?>
+94 −1
Original line number Diff line number Diff line
@@ -2267,7 +2267,100 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
          CASE WHEN p.heures > COALESCE(p.PLAFOND,ps.heures,0) + COALESCE(pd.heures, 0) + 0.05 THEN 1 ELSE 0 END depassement
        FROM
          (
            SELECT NULL PLAFOND_ID,NULL ANNEE_ID,NULL TYPE_VOLUME_HORAIRE_ID,NULL INTERVENANT_ID,NULL TYPE_MISSION_ID,NULL HEURES,NULL PLAFOND,NULL PLAFOND_ETAT_ID,NULL DEROGATION FROM dual WHERE 0 = 1
          SELECT 14 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
            SELECT
                i.annee_id                        annee_id,
                vhm.type_volume_horaire_id        type_volume_horaire_id,
                i.id                              intervenant_id,
                tm.id                             type_mission_id,
                SUM(vhm.heures)                   heures
              FROM
                     mission       m
                JOIN intervenant                i ON i.id = m.intervenant_id
                JOIN type_mission     tm ON tm.id = m.type_mission_id
                JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
              WHERE
                m.histo_destruction IS NULL
              GROUP BY
                i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
            ) p
          SELECT 12 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
            SELECT
                i.annee_id                        annee_id,
                vhm.type_volume_horaire_id        type_volume_horaire_id,
                i.id                              intervenant_id,
                tm.id                             type_mission_id,
                SUM(vhm.heures)                   heures
              FROM
                     mission       m
                JOIN intervenant                i ON i.id = m.intervenant_id
                JOIN type_mission     tm ON tm.id = m.type_mission_id
                JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
              WHERE
                m.histo_destruction IS NULL
              GROUP BY
                i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
            ) p

            UNION ALL

          SELECT 11 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
            SELECT
                i.annee_id                        annee_id,
                vhm.type_volume_horaire_id        type_volume_horaire_id,
                i.id                              intervenant_id,
                tm.id                             type_mission_id,
                SUM(vhm.heures)                   heures
              FROM
                     mission       m
                JOIN intervenant                i ON i.id = m.intervenant_id
                JOIN type_mission     tm ON tm.id = m.type_mission_id
                JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
              WHERE
                m.histo_destruction IS NULL
              GROUP BY
                i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
            ) p

            UNION ALL

          SELECT 13 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
            SELECT
                i.annee_id                        annee_id,
                vhm.type_volume_horaire_id        type_volume_horaire_id,
                i.id                              intervenant_id,
                tm.id                             type_mission_id,
                SUM(vhm.heures)                   heures
              FROM
                     mission       m
                JOIN intervenant                i ON i.id = m.intervenant_id
                JOIN type_mission     tm ON tm.id = m.type_mission_id
                JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
              WHERE
                m.histo_destruction IS NULL
              GROUP BY
                i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
            ) p

            UNION ALL

          SELECT 14 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
            SELECT
                i.annee_id                        annee_id,
                vhm.type_volume_horaire_id        type_volume_horaire_id,
                i.id                              intervenant_id,
                tm.id                             type_mission_id,
                SUM(vhm.heures)                   heures
              FROM
                     mission       m
                JOIN intervenant                i ON i.id = m.intervenant_id
                JOIN type_mission     tm ON tm.id = m.type_mission_id
                JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
              WHERE
                m.histo_destruction IS NULL
              GROUP BY
                i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
            ) p
          ) p
          JOIN intervenant i ON i.id = p.intervenant_id
          LEFT JOIN plafond_mission ps ON ps.plafond_id = p.plafond_id AND ps.type_mission_id = p.type_mission_id AND ps.annee_id = i.annee_id AND ps.histo_destruction IS NULL
+20 −0
Original line number Diff line number Diff line
CREATE OR REPLACE FORCE VIEW V_INDICATEUR_P_MISSION AS
SELECT
  p.numero*100 + pm.type_volume_horaire_id * 10 numero,
  pm.intervenant_id,
  COALESCE(srs.structure_id, i.structure_id) structure_id,
  pe.libelle etat,
  tm.libelle type_mission,
  pm.heures,
  pm.plafond,
  pm.derogation
FROM
  tbl_plafond_mission pm
  JOIN plafond p ON p.id = pm.plafond_id
  JOIN plafond_etat pe ON pe.id = pm.plafond_etat_id
  JOIN intervenant i ON i.id = pm.intervenant_id
  JOIN type_mission tm ON tm.id = pm.type_mission_id
  LEFT JOIN (SELECT DISTINCT intervenant_id, type_mission_id, structure_id FROM mission) srs ON srs.intervenant_id = pm.intervenant_id AND srs.type_mission_id = pm.type_mission_id
WHERE
  pe.code <> 'desactive'
  AND pm.depassement = 1
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ SELECT
    WHEN 'referentiel'    THEN 14
    WHEN 'element'        THEN 15
    WHEN 'volume_horaire' THEN 16
    WHEN 'mission'        THEN 17
  END type_indicateur_id,
  0 irrecevables
FROM
+77 −1
Original line number Diff line number Diff line
@@ -16,7 +16,83 @@ SELECT
  CASE WHEN p.heures > COALESCE(p.PLAFOND,ps.heures,0) + COALESCE(pd.heures, 0) + 0.05 THEN 1 ELSE 0 END depassement
FROM
  (
    SELECT NULL PLAFOND_ID,NULL ANNEE_ID,NULL TYPE_VOLUME_HORAIRE_ID,NULL INTERVENANT_ID,NULL TYPE_MISSION_ID,NULL HEURES,NULL PLAFOND,NULL PLAFOND_ETAT_ID,NULL DEROGATION FROM dual WHERE 0 = 1
  SELECT 12 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                        annee_id,
        vhm.type_volume_horaire_id        type_volume_horaire_id,
        i.id                              intervenant_id,
        tm.id                             type_mission_id,
        SUM(vhm.heures)                   heures
      FROM
             mission       m
        JOIN intervenant                i ON i.id = m.intervenant_id
        JOIN type_mission     tm ON tm.id = m.type_mission_id
        JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
      WHERE
        m.histo_destruction IS NULL
      GROUP BY
        i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
    ) p

    UNION ALL

  SELECT 11 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                        annee_id,
        vhm.type_volume_horaire_id        type_volume_horaire_id,
        i.id                              intervenant_id,
        tm.id                             type_mission_id,
        SUM(vhm.heures)                   heures
      FROM
             mission       m
        JOIN intervenant                i ON i.id = m.intervenant_id
        JOIN type_mission     tm ON tm.id = m.type_mission_id
        JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
      WHERE
        m.histo_destruction IS NULL
      GROUP BY
        i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
    ) p

    UNION ALL

  SELECT 13 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                        annee_id,
        vhm.type_volume_horaire_id        type_volume_horaire_id,
        i.id                              intervenant_id,
        tm.id                             type_mission_id,
        SUM(vhm.heures)                   heures
      FROM
             mission       m
        JOIN intervenant                i ON i.id = m.intervenant_id
        JOIN type_mission     tm ON tm.id = m.type_mission_id
        JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
      WHERE
        m.histo_destruction IS NULL
      GROUP BY
        i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
    ) p

    UNION ALL

  SELECT 14 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM (
    SELECT
        i.annee_id                        annee_id,
        vhm.type_volume_horaire_id        type_volume_horaire_id,
        i.id                              intervenant_id,
        tm.id                             type_mission_id,
        SUM(vhm.heures)                   heures
      FROM
             mission       m
        JOIN intervenant                i ON i.id = m.intervenant_id
        JOIN type_mission     tm ON tm.id = m.type_mission_id
        JOIN volume_horaire_mission       vhm ON vhm.mission_id = m.id AND vhm.histo_destruction IS NULL
      WHERE
        m.histo_destruction IS NULL
      GROUP BY
        i.annee_id, vhm.type_volume_horaire_id, i.id, tm.id
    ) p
  ) p
  JOIN intervenant i ON i.id = p.intervenant_id
  LEFT JOIN plafond_mission ps ON ps.plafond_id = p.plafond_id AND ps.type_mission_id = p.type_mission_id AND ps.annee_id = i.annee_id AND ps.histo_destruction IS NULL
Loading