Loading data/ddl/package/UNICAEN_TBL/body.sql +68 −65 Original line number Diff line number Diff line Loading @@ -1454,15 +1454,15 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS pjd.type_piece_jointe_id type_piece_jointe_id, pjd.intervenant_id intervenant_id, CASE WHEN pjd.intervenant_id IS NULL THEN 0 ELSE 1 END demandee, SUM(CASE WHEN pjf.id IS NOT NULL THEN 1 ELSE 0 END) fournie, MAX(pjf.validation_id) KEEP(DENSE_RANK FIRST ORDER BY pjf.annee_id DESC) validee, SUM(CASE WHEN pjf.id IS NULL THEN 0 ELSE 1 END) fournie, MAX(pjf.validation_id) keep(DENSE_RANK FIRST ORDER BY pjf.annee_id DESC) validee, COALESCE(pjd.heures_pour_seuil,0) heures_pour_seuil, COALESCE(pjd.obligatoire,1) obligatoire FROM tbl_piece_jointe_demande pjd LEFT JOIN tbl_piece_jointe_fournie pjf ON pjf.code_intervenant = pjd.code_intervenant AND pjf.type_piece_jointe_id = pjd.type_piece_jointe_id AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite -1,(pjf.annee_id + pjd.duree_vie-1)) AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite -1,(pjf.annee_id + pjf.duree_vie-1)) WHERE 1=1 /*@INTERVENANT_ID=pjd.intervenant_id*/ Loading @@ -1478,7 +1478,7 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS pjf.intervenant_id intervenant_id, 0 demandee, 1 fournie, MAX(pjf.validation_id) KEEP(DENSE_RANK FIRST ORDER BY pjf.annee_id DESC) validee, MAX(pjf.validation_id) keep(DENSE_RANK FIRST ORDER BY pjf.annee_id DESC) validee, 0 heures_pour_seuil, 0 obligatoire FROM Loading @@ -1492,7 +1492,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS GROUP BY pjf.annee_id, pjf.type_piece_jointe_id, pjf.intervenant_id ) SELECT annee_id, SELECT annee_id, type_piece_jointe_id, intervenant_id, demandee, Loading @@ -1500,7 +1501,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS CASE WHEN validee IS NULL THEN 0 ELSE 1 END validee, heures_pour_seuil, obligatoire FROM t'; FROM t'; OPEN c FOR ' SELECT Loading Loading @@ -1593,37 +1595,39 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS i.id intervenant_id, tpj.id type_piece_jointe_id, MAX(COALESCE(i_h.heures, 0)) heures_pour_seuil, MAX(tpjs.obligatoire) obligatoire, MAX(COALESCE(hetd.total_hetd, 0)) heures_pour_seuil_hetd, MIN(tpjs.duree_vie) duree_vie tpjs.obligatoire obligatoire, MAX(COALESCE(hetd.total_hetd, 0)) heures_pour_seuil_hetd FROM intervenant i LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL JOIN type_piece_jointe_statut tpjs ON tpjs.statut_id = i.statut_id AND tpjs.histo_destruction IS NULL AND i.annee_id = tpjs.annee_id JOIN type_piece_jointe tpj ON tpj.id = tpjs.type_piece_jointe_id AND tpj.histo_destruction IS NULL LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL JOIN type_piece_jointe_statut tpjs ON tpjs.statut_id = i.statut_id AND tpjs.histo_destruction IS NULL AND i.annee_id = tpjs.annee_id JOIN type_piece_jointe tpj ON tpj.id = tpjs.type_piece_jointe_id AND tpj.histo_destruction IS NULL LEFT JOIN i_h ON i_h.intervenant_id = i.id LEFT JOIN hetd ON hetd.intervenant_id = i.id WHERE -- Gestion de l''historique i.histo_destruction IS NULL /*@INTERVENANT_ID=i.id*/ /*@ANNEE_ID=i.annee_id*/ -- Seuil heure soit en HETD soit en heure ou PJ obligatoire meme avec des heures non payables AND ( COALESCE(tpjs.seuil_hetd, 0) = 0 OR (COALESCE(tpjs.type_heure_hetd, 0) = 0 AND COALESCE(i_h.heures, 0) > COALESCE(tpjs.seuil_hetd, -1)) AND ((COALESCE(tpjs.type_heure_hetd,0) = 0 AND COALESCE(i_h.heures,0) > COALESCE(tpjs.seuil_hetd,-1)) OR (tpjs.type_heure_hetd = 1 AND COALESCE(hetd.total_hetd,0) > COALESCE(tpjs.seuil_hetd,-1)) OR (COALESCE(i_h.heures_non_payables, 0) > 0 AND tpjs.obligatoire_hnp = 1) ) OR (COALESCE(i_h.heures_non_payables,0) > 0 AND tpjs.obligatoire_hnp = 1 )) -- Le RIB n''est demandé QUE s''il est différent!! AND CASE WHEN tpjs.changement_rib = 0 OR d.id IS NULL THEN 1 ELSE CASE WHEN replace(i.bic, '' '', '''') = replace(d.bic, '' '', '''') AND replace(i.iban, '' '', '''') = replace(d.iban, '' '', '''') THEN 0 ELSE 1 END WHEN tpjs.changement_rib = 0 OR d.id IS NULL THEN 1 ELSE CASE WHEN REPLACE(i.bic, '' '', '''') = REPLACE(d.bic, '' '', '''') AND REPLACE(i.iban, '' '', '''') = REPLACE(d.iban, '' '', '''') THEN 0 ELSE 1 END END = 1 -- Filtre FC Loading @@ -1632,7 +1636,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS i.annee_id, i.id, i.code, tpj.id'; tpj.id, tpjs.obligatoire'; OPEN c FOR ' SELECT Loading @@ -1644,7 +1649,6 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS AND t.HEURES_POUR_SEUIL = v.HEURES_POUR_SEUIL AND COALESCE(t.OBLIGATOIRE,0) = COALESCE(v.OBLIGATOIRE,0) AND t.HEURES_POUR_SEUIL_HETD = v.HEURES_POUR_SEUIL_HETD AND t.DUREE_VIE = v.DUREE_VIE THEN -1 ELSE t.ID END ID, v.ANNEE_ID, v.CODE_INTERVENANT, Loading @@ -1652,8 +1656,7 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS v.TYPE_PIECE_JOINTE_ID, v.HEURES_POUR_SEUIL, v.OBLIGATOIRE, v.HEURES_POUR_SEUIL_HETD, v.DUREE_VIE v.HEURES_POUR_SEUIL_HETD FROM (' || QUERY_APPLY_PARAMS(viewQuery, useParams) || ') v FULL JOIN TBL_PIECE_JOINTE_DEMANDE t ON Loading Loading @@ -1900,50 +1903,59 @@ 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 1 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 9 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, fr.type_volume_horaire_id type_volume_horaire_id, fr.intervenant_id intervenant_id, fr.heures_compl_fi + fr.heures_compl_fc + fr.heures_compl_fa + fr.heures_compl_referentiel heures vh.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, SUM(vh.heures) heures FROM intervenant i volume_horaire vh JOIN service s ON s.id = vh.service_id JOIN intervenant i ON i.id = s.intervenant_id JOIN statut si ON si.id = i.statut_id JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id WHERE vh.histo_destruction IS NULL AND i.histo_destruction IS NULL AND vh.motif_non_paiement_id IS NULL AND si.code IN (''IMP'') GROUP BY i.annee_id, vh.type_volume_horaire_id, i.id, i.statut_id HAVING SUM(vh.heures) >= 0 ) p UNION ALL SELECT 2 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 1 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, fr.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, fr.total - fr.heures_compl_fc_majorees heures fr.intervenant_id intervenant_id, fr.heures_compl_fi + fr.heures_compl_fc + fr.heures_compl_fa + fr.heures_compl_referentiel heures FROM intervenant i JOIN statut si ON si.id = i.statut_id JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id JOIN statut si ON si.id = i.statut_id ) p UNION ALL SELECT 3 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 2 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, fr.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, fr.heures_compl_fc_majorees * a.taux_hetd heures /*ROUND( (COALESCE(si.plafond_hc_remu_fc,0) - COALESCE(i.montant_indemnite_fc,0)) / a.taux_hetd, 2 ) plafond*/ fr.total - fr.heures_compl_fc_majorees heures FROM intervenant i JOIN annee a ON a.id = i.annee_id JOIN statut si ON si.id = i.statut_id JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id JOIN statut si ON si.id = i.statut_id ) p UNION ALL Loading Loading @@ -1973,44 +1985,35 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS UNION ALL SELECT 9 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 8 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, vh.type_volume_horaire_id type_volume_horaire_id, fr.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, SUM(vh.heures) heures fr.service_referentiel + fr.heures_compl_referentiel heures FROM volume_horaire vh JOIN service s ON s.id = vh.service_id JOIN intervenant i ON i.id = s.intervenant_id intervenant i JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id JOIN statut si ON si.id = i.statut_id WHERE vh.histo_destruction IS NULL AND i.histo_destruction IS NULL AND vh.motif_non_paiement_id IS NULL AND si.code IN (''IMP'') GROUP BY i.annee_id, vh.type_volume_horaire_id, i.id, i.statut_id HAVING SUM(vh.heures) >= 0 ) p UNION ALL SELECT 8 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 3 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, fr.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, fr.service_referentiel + fr.heures_compl_referentiel heures fr.heures_compl_fc_majorees heures /*ROUND( (COALESCE(si.plafond_hc_remu_fc,0) - COALESCE(i.montant_indemnite_fc,0)) / a.taux_hetd, 2 ) plafond*/ FROM intervenant i JOIN annee a ON a.id = i.annee_id JOIN statut si ON si.id = i.statut_id JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id JOIN statut si ON si.id = i.statut_id ) p ) p JOIN intervenant i ON i.id = p.intervenant_id Loading data/ddl/table/TBL_PIECE_JOINTE_DEMANDE.php +0 −12 Original line number Diff line number Diff line Loading @@ -33,18 +33,6 @@ return [ 'position' => 3, 'commentaire' => NULL, ], 'DUREE_VIE' => [ 'name' => 'DUREE_VIE', 'type' => 'int', 'bdd-type' => 'NUMBER', 'length' => 0, 'scale' => NULL, 'precision' => NULL, 'nullable' => FALSE, 'default' => '1', 'position' => 9, 'commentaire' => NULL, ], 'HEURES_POUR_SEUIL' => [ 'name' => 'HEURES_POUR_SEUIL', 'type' => 'float', Loading data/ddl/view/V_TBL_PIECE_JOINTE.sql +1 −1 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ WITH t AS ( tbl_piece_jointe_demande pjd LEFT JOIN tbl_piece_jointe_fournie pjf ON pjf.code_intervenant = pjd.code_intervenant AND pjf.type_piece_jointe_id = pjd.type_piece_jointe_id AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite -1,(pjf.annee_id + pjd.duree_vie-1)) AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite -1,(pjf.annee_id + pjf.duree_vie-1)) WHERE 1=1 /*@INTERVENANT_ID=pjd.intervenant_id*/ Loading data/ddl/view/V_TBL_PIECE_JOINTE_DEMANDE.sql +24 −21 Original line number Diff line number Diff line Loading @@ -31,49 +31,52 @@ hetd AS ( GROUP BY intervenant_id ) SELECT i.annee_id annee_id, SELECT i.annee_id annee_id, i.code code_intervenant, i.id intervenant_id, tpj.id type_piece_jointe_id, MAX(COALESCE(i_h.heures, 0)) heures_pour_seuil, MAX(tpjs.obligatoire) obligatoire, MAX(COALESCE(hetd.total_hetd, 0)) heures_pour_seuil_hetd, MIN(tpjs.duree_vie) duree_vie FROM intervenant i LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL JOIN type_piece_jointe_statut tpjs ON tpjs.statut_id = i.statut_id AND tpjs.histo_destruction IS NULL AND i.annee_id = tpjs.annee_id JOIN type_piece_jointe tpj ON tpj.id = tpjs.type_piece_jointe_id AND tpj.histo_destruction IS NULL MAX(COALESCE(hetd.total_hetd, 0)) heures_pour_seuil_hetd FROM intervenant i LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL JOIN type_piece_jointe_statut tpjs ON tpjs.statut_id = i.statut_id AND tpjs.histo_destruction IS NULL AND i.annee_id = tpjs.annee_id JOIN type_piece_jointe tpj ON tpj.id = tpjs.type_piece_jointe_id AND tpj.histo_destruction IS NULL LEFT JOIN i_h ON i_h.intervenant_id = i.id LEFT JOIN hetd ON hetd.intervenant_id = i.id WHERE -- Gestion de l'historique i.histo_destruction IS NULL /*@INTERVENANT_ID=i.id*/ /*@ANNEE_ID=i.annee_id*/ -- Seuil heure soit en HETD soit en heure ou PJ obligatoire meme avec des heures non payables AND ( COALESCE(tpjs.seuil_hetd, 0) = 0 AND (COALESCE(tpjs.seuil_hetd, 0) = 0 OR (COALESCE(tpjs.type_heure_hetd, 0) = 0 AND COALESCE(i_h.heures, 0) > COALESCE(tpjs.seuil_hetd, -1)) OR (tpjs.type_heure_hetd = 1 AND COALESCE(hetd.total_hetd, 0) > COALESCE(tpjs.seuil_hetd, -1)) OR (COALESCE(i_h.heures_non_payables, 0) > 0 AND tpjs.obligatoire_hnp = 1) ) OR (COALESCE(i_h.heures_non_payables, 0) > 0 AND tpjs.obligatoire_hnp = 1)) -- Le RIB n'est demandé QUE s'il est différent!! AND CASE WHEN tpjs.changement_rib = 0 OR d.id IS NULL THEN 1 ELSE CASE WHEN replace(i.bic, ' ', '') = replace(d.bic, ' ', '') AND replace(i.iban, ' ', '') = replace(d.iban, ' ', '') THEN 0 ELSE 1 END WHEN tpjs.changement_rib = 0 OR d.id IS NULL THEN 1 ELSE CASE WHEN replace(i.bic, ' ', '') = replace(d.bic, ' ', '') AND replace(i.iban, ' ', '') = replace(d.iban, ' ', '') THEN 0 ELSE 1 END END = 1 -- Filtre FC AND (tpjs.fc = 0 OR i_h.fc > 0) GROUP BY i.annee_id, GROUP BY i.annee_id, i.id, i.code, tpj.id No newline at end of file data/ddl_columns_pos.php +0 −1 Original line number Diff line number Diff line Loading @@ -1530,7 +1530,6 @@ return [ 'HEURES_POUR_SEUIL', 'OBLIGATOIRE', 'HEURES_POUR_SEUIL_HETD', 'DUREE_VIE', ], 'TBL_PIECE_JOINTE_FOURNIE' => [ 'ID', Loading Loading
data/ddl/package/UNICAEN_TBL/body.sql +68 −65 Original line number Diff line number Diff line Loading @@ -1454,15 +1454,15 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS pjd.type_piece_jointe_id type_piece_jointe_id, pjd.intervenant_id intervenant_id, CASE WHEN pjd.intervenant_id IS NULL THEN 0 ELSE 1 END demandee, SUM(CASE WHEN pjf.id IS NOT NULL THEN 1 ELSE 0 END) fournie, MAX(pjf.validation_id) KEEP(DENSE_RANK FIRST ORDER BY pjf.annee_id DESC) validee, SUM(CASE WHEN pjf.id IS NULL THEN 0 ELSE 1 END) fournie, MAX(pjf.validation_id) keep(DENSE_RANK FIRST ORDER BY pjf.annee_id DESC) validee, COALESCE(pjd.heures_pour_seuil,0) heures_pour_seuil, COALESCE(pjd.obligatoire,1) obligatoire FROM tbl_piece_jointe_demande pjd LEFT JOIN tbl_piece_jointe_fournie pjf ON pjf.code_intervenant = pjd.code_intervenant AND pjf.type_piece_jointe_id = pjd.type_piece_jointe_id AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite -1,(pjf.annee_id + pjd.duree_vie-1)) AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite -1,(pjf.annee_id + pjf.duree_vie-1)) WHERE 1=1 /*@INTERVENANT_ID=pjd.intervenant_id*/ Loading @@ -1478,7 +1478,7 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS pjf.intervenant_id intervenant_id, 0 demandee, 1 fournie, MAX(pjf.validation_id) KEEP(DENSE_RANK FIRST ORDER BY pjf.annee_id DESC) validee, MAX(pjf.validation_id) keep(DENSE_RANK FIRST ORDER BY pjf.annee_id DESC) validee, 0 heures_pour_seuil, 0 obligatoire FROM Loading @@ -1492,7 +1492,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS GROUP BY pjf.annee_id, pjf.type_piece_jointe_id, pjf.intervenant_id ) SELECT annee_id, SELECT annee_id, type_piece_jointe_id, intervenant_id, demandee, Loading @@ -1500,7 +1501,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS CASE WHEN validee IS NULL THEN 0 ELSE 1 END validee, heures_pour_seuil, obligatoire FROM t'; FROM t'; OPEN c FOR ' SELECT Loading Loading @@ -1593,37 +1595,39 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS i.id intervenant_id, tpj.id type_piece_jointe_id, MAX(COALESCE(i_h.heures, 0)) heures_pour_seuil, MAX(tpjs.obligatoire) obligatoire, MAX(COALESCE(hetd.total_hetd, 0)) heures_pour_seuil_hetd, MIN(tpjs.duree_vie) duree_vie tpjs.obligatoire obligatoire, MAX(COALESCE(hetd.total_hetd, 0)) heures_pour_seuil_hetd FROM intervenant i LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL JOIN type_piece_jointe_statut tpjs ON tpjs.statut_id = i.statut_id AND tpjs.histo_destruction IS NULL AND i.annee_id = tpjs.annee_id JOIN type_piece_jointe tpj ON tpj.id = tpjs.type_piece_jointe_id AND tpj.histo_destruction IS NULL LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL JOIN type_piece_jointe_statut tpjs ON tpjs.statut_id = i.statut_id AND tpjs.histo_destruction IS NULL AND i.annee_id = tpjs.annee_id JOIN type_piece_jointe tpj ON tpj.id = tpjs.type_piece_jointe_id AND tpj.histo_destruction IS NULL LEFT JOIN i_h ON i_h.intervenant_id = i.id LEFT JOIN hetd ON hetd.intervenant_id = i.id WHERE -- Gestion de l''historique i.histo_destruction IS NULL /*@INTERVENANT_ID=i.id*/ /*@ANNEE_ID=i.annee_id*/ -- Seuil heure soit en HETD soit en heure ou PJ obligatoire meme avec des heures non payables AND ( COALESCE(tpjs.seuil_hetd, 0) = 0 OR (COALESCE(tpjs.type_heure_hetd, 0) = 0 AND COALESCE(i_h.heures, 0) > COALESCE(tpjs.seuil_hetd, -1)) AND ((COALESCE(tpjs.type_heure_hetd,0) = 0 AND COALESCE(i_h.heures,0) > COALESCE(tpjs.seuil_hetd,-1)) OR (tpjs.type_heure_hetd = 1 AND COALESCE(hetd.total_hetd,0) > COALESCE(tpjs.seuil_hetd,-1)) OR (COALESCE(i_h.heures_non_payables, 0) > 0 AND tpjs.obligatoire_hnp = 1) ) OR (COALESCE(i_h.heures_non_payables,0) > 0 AND tpjs.obligatoire_hnp = 1 )) -- Le RIB n''est demandé QUE s''il est différent!! AND CASE WHEN tpjs.changement_rib = 0 OR d.id IS NULL THEN 1 ELSE CASE WHEN replace(i.bic, '' '', '''') = replace(d.bic, '' '', '''') AND replace(i.iban, '' '', '''') = replace(d.iban, '' '', '''') THEN 0 ELSE 1 END WHEN tpjs.changement_rib = 0 OR d.id IS NULL THEN 1 ELSE CASE WHEN REPLACE(i.bic, '' '', '''') = REPLACE(d.bic, '' '', '''') AND REPLACE(i.iban, '' '', '''') = REPLACE(d.iban, '' '', '''') THEN 0 ELSE 1 END END = 1 -- Filtre FC Loading @@ -1632,7 +1636,8 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS i.annee_id, i.id, i.code, tpj.id'; tpj.id, tpjs.obligatoire'; OPEN c FOR ' SELECT Loading @@ -1644,7 +1649,6 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS AND t.HEURES_POUR_SEUIL = v.HEURES_POUR_SEUIL AND COALESCE(t.OBLIGATOIRE,0) = COALESCE(v.OBLIGATOIRE,0) AND t.HEURES_POUR_SEUIL_HETD = v.HEURES_POUR_SEUIL_HETD AND t.DUREE_VIE = v.DUREE_VIE THEN -1 ELSE t.ID END ID, v.ANNEE_ID, v.CODE_INTERVENANT, Loading @@ -1652,8 +1656,7 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS v.TYPE_PIECE_JOINTE_ID, v.HEURES_POUR_SEUIL, v.OBLIGATOIRE, v.HEURES_POUR_SEUIL_HETD, v.DUREE_VIE v.HEURES_POUR_SEUIL_HETD FROM (' || QUERY_APPLY_PARAMS(viewQuery, useParams) || ') v FULL JOIN TBL_PIECE_JOINTE_DEMANDE t ON Loading Loading @@ -1900,50 +1903,59 @@ 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 1 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 9 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, fr.type_volume_horaire_id type_volume_horaire_id, fr.intervenant_id intervenant_id, fr.heures_compl_fi + fr.heures_compl_fc + fr.heures_compl_fa + fr.heures_compl_referentiel heures vh.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, SUM(vh.heures) heures FROM intervenant i volume_horaire vh JOIN service s ON s.id = vh.service_id JOIN intervenant i ON i.id = s.intervenant_id JOIN statut si ON si.id = i.statut_id JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id WHERE vh.histo_destruction IS NULL AND i.histo_destruction IS NULL AND vh.motif_non_paiement_id IS NULL AND si.code IN (''IMP'') GROUP BY i.annee_id, vh.type_volume_horaire_id, i.id, i.statut_id HAVING SUM(vh.heures) >= 0 ) p UNION ALL SELECT 2 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 1 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, fr.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, fr.total - fr.heures_compl_fc_majorees heures fr.intervenant_id intervenant_id, fr.heures_compl_fi + fr.heures_compl_fc + fr.heures_compl_fa + fr.heures_compl_referentiel heures FROM intervenant i JOIN statut si ON si.id = i.statut_id JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id JOIN statut si ON si.id = i.statut_id ) p UNION ALL SELECT 3 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 2 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, fr.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, fr.heures_compl_fc_majorees * a.taux_hetd heures /*ROUND( (COALESCE(si.plafond_hc_remu_fc,0) - COALESCE(i.montant_indemnite_fc,0)) / a.taux_hetd, 2 ) plafond*/ fr.total - fr.heures_compl_fc_majorees heures FROM intervenant i JOIN annee a ON a.id = i.annee_id JOIN statut si ON si.id = i.statut_id JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id JOIN statut si ON si.id = i.statut_id ) p UNION ALL Loading Loading @@ -1973,44 +1985,35 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS UNION ALL SELECT 9 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 8 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, vh.type_volume_horaire_id type_volume_horaire_id, fr.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, SUM(vh.heures) heures fr.service_referentiel + fr.heures_compl_referentiel heures FROM volume_horaire vh JOIN service s ON s.id = vh.service_id JOIN intervenant i ON i.id = s.intervenant_id intervenant i JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id JOIN statut si ON si.id = i.statut_id WHERE vh.histo_destruction IS NULL AND i.histo_destruction IS NULL AND vh.motif_non_paiement_id IS NULL AND si.code IN (''IMP'') GROUP BY i.annee_id, vh.type_volume_horaire_id, i.id, i.statut_id HAVING SUM(vh.heures) >= 0 ) p UNION ALL SELECT 8 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT 3 PLAFOND_ID, NULL PLAFOND, NULL PLAFOND_ETAT_ID, p.* FROM ( SELECT i.annee_id annee_id, fr.type_volume_horaire_id type_volume_horaire_id, i.id intervenant_id, fr.service_referentiel + fr.heures_compl_referentiel heures fr.heures_compl_fc_majorees heures /*ROUND( (COALESCE(si.plafond_hc_remu_fc,0) - COALESCE(i.montant_indemnite_fc,0)) / a.taux_hetd, 2 ) plafond*/ FROM intervenant i JOIN annee a ON a.id = i.annee_id JOIN statut si ON si.id = i.statut_id JOIN etat_volume_horaire evh ON evh.code = ''saisi'' JOIN formule_resultat fr ON fr.intervenant_id = i.id AND fr.etat_volume_horaire_id = evh.id JOIN statut si ON si.id = i.statut_id ) p ) p JOIN intervenant i ON i.id = p.intervenant_id Loading
data/ddl/table/TBL_PIECE_JOINTE_DEMANDE.php +0 −12 Original line number Diff line number Diff line Loading @@ -33,18 +33,6 @@ return [ 'position' => 3, 'commentaire' => NULL, ], 'DUREE_VIE' => [ 'name' => 'DUREE_VIE', 'type' => 'int', 'bdd-type' => 'NUMBER', 'length' => 0, 'scale' => NULL, 'precision' => NULL, 'nullable' => FALSE, 'default' => '1', 'position' => 9, 'commentaire' => NULL, ], 'HEURES_POUR_SEUIL' => [ 'name' => 'HEURES_POUR_SEUIL', 'type' => 'float', Loading
data/ddl/view/V_TBL_PIECE_JOINTE.sql +1 −1 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ WITH t AS ( tbl_piece_jointe_demande pjd LEFT JOIN tbl_piece_jointe_fournie pjf ON pjf.code_intervenant = pjd.code_intervenant AND pjf.type_piece_jointe_id = pjd.type_piece_jointe_id AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite -1,(pjf.annee_id + pjd.duree_vie-1)) AND pjd.annee_id BETWEEN pjf.annee_id AND COALESCE(pjf.date_archive - 1,pjf.date_validite -1,(pjf.annee_id + pjf.duree_vie-1)) WHERE 1=1 /*@INTERVENANT_ID=pjd.intervenant_id*/ Loading
data/ddl/view/V_TBL_PIECE_JOINTE_DEMANDE.sql +24 −21 Original line number Diff line number Diff line Loading @@ -31,49 +31,52 @@ hetd AS ( GROUP BY intervenant_id ) SELECT i.annee_id annee_id, SELECT i.annee_id annee_id, i.code code_intervenant, i.id intervenant_id, tpj.id type_piece_jointe_id, MAX(COALESCE(i_h.heures, 0)) heures_pour_seuil, MAX(tpjs.obligatoire) obligatoire, MAX(COALESCE(hetd.total_hetd, 0)) heures_pour_seuil_hetd, MIN(tpjs.duree_vie) duree_vie FROM intervenant i LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL JOIN type_piece_jointe_statut tpjs ON tpjs.statut_id = i.statut_id AND tpjs.histo_destruction IS NULL AND i.annee_id = tpjs.annee_id JOIN type_piece_jointe tpj ON tpj.id = tpjs.type_piece_jointe_id AND tpj.histo_destruction IS NULL MAX(COALESCE(hetd.total_hetd, 0)) heures_pour_seuil_hetd FROM intervenant i LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id AND d.histo_destruction IS NULL JOIN type_piece_jointe_statut tpjs ON tpjs.statut_id = i.statut_id AND tpjs.histo_destruction IS NULL AND i.annee_id = tpjs.annee_id JOIN type_piece_jointe tpj ON tpj.id = tpjs.type_piece_jointe_id AND tpj.histo_destruction IS NULL LEFT JOIN i_h ON i_h.intervenant_id = i.id LEFT JOIN hetd ON hetd.intervenant_id = i.id WHERE -- Gestion de l'historique i.histo_destruction IS NULL /*@INTERVENANT_ID=i.id*/ /*@ANNEE_ID=i.annee_id*/ -- Seuil heure soit en HETD soit en heure ou PJ obligatoire meme avec des heures non payables AND ( COALESCE(tpjs.seuil_hetd, 0) = 0 AND (COALESCE(tpjs.seuil_hetd, 0) = 0 OR (COALESCE(tpjs.type_heure_hetd, 0) = 0 AND COALESCE(i_h.heures, 0) > COALESCE(tpjs.seuil_hetd, -1)) OR (tpjs.type_heure_hetd = 1 AND COALESCE(hetd.total_hetd, 0) > COALESCE(tpjs.seuil_hetd, -1)) OR (COALESCE(i_h.heures_non_payables, 0) > 0 AND tpjs.obligatoire_hnp = 1) ) OR (COALESCE(i_h.heures_non_payables, 0) > 0 AND tpjs.obligatoire_hnp = 1)) -- Le RIB n'est demandé QUE s'il est différent!! AND CASE WHEN tpjs.changement_rib = 0 OR d.id IS NULL THEN 1 ELSE CASE WHEN replace(i.bic, ' ', '') = replace(d.bic, ' ', '') AND replace(i.iban, ' ', '') = replace(d.iban, ' ', '') THEN 0 ELSE 1 END WHEN tpjs.changement_rib = 0 OR d.id IS NULL THEN 1 ELSE CASE WHEN replace(i.bic, ' ', '') = replace(d.bic, ' ', '') AND replace(i.iban, ' ', '') = replace(d.iban, ' ', '') THEN 0 ELSE 1 END END = 1 -- Filtre FC AND (tpjs.fc = 0 OR i_h.fc > 0) GROUP BY i.annee_id, GROUP BY i.annee_id, i.id, i.code, tpj.id No newline at end of file
data/ddl_columns_pos.php +0 −1 Original line number Diff line number Diff line Loading @@ -1530,7 +1530,6 @@ return [ 'HEURES_POUR_SEUIL', 'OBLIGATOIRE', 'HEURES_POUR_SEUIL_HETD', 'DUREE_VIE', ], 'TBL_PIECE_JOINTE_FOURNIE' => [ 'ID', Loading