Loading CHANGELOG.md +7 −4 Changes for CHANGELOG.md: 7 added lines, 4 removed lines. Original line number Diff line number Diff line # Version stable [OSE 20.0](#ose-20--28022023-) [OSE 20.1](#ose-201--04042023-) # OSE 21 (à venir) Loading @@ -11,7 +11,8 @@ * Taux HETD personnalisables # OSE 20.1 (A venir) # OSE 20.1 (04/04/2023) ## Nouveautés Loading @@ -26,8 +27,10 @@ * Correction d'une régression de la V20 sur le module Export Siham * Suppression d'un message d'erreur sur l'envoi de mail via les indicateurs (#49873) * Formule Paris 8 : correction d'un problème de code de composante * Formule Poitiers : (#46805) * Formule La Réunion : (#24229) * Formule de Picardie: (#47224) Loading config/autoload/unicaen-authentification.global.php +10 −0 Changes for config/autoload/unicaen-authentification.global.php: 10 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -76,6 +76,11 @@ $settings = [ */ 'enabled' => AppConfig::get('cas', 'actif', false), /** * Permet de sauter le formulaire d'authentification "/auth/connexion" si CAS est la seule source d'authentification */ 'form_skip' => true, /** * Description facultative de ce mode d'authentification qui apparaîtra sur la page de connexion. */ Loading @@ -92,6 +97,11 @@ $settings = [ */ 'enable' => false, /** * Permet de sauter le formulaire d'authentification "/auth/connexion" si CAS est la seule source d'authentification */ 'form_skip' => true, /** * URL de déconnexion. */ Loading data/ddl/package/FORMULE_PARIS8/body.sql +19 −19 Changes for data/ddl/package/FORMULE_PARIS8/body.sql: 19 added lines, 19 removed lines. Original line number Diff line number Diff line CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS decalageLigne NUMERIC DEFAULT 20; decalageLigne NUMERIC DEFAULT 19; /* Stockage des valeurs intermédiaires */ TYPE t_cell IS RECORD ( Loading Loading @@ -53,13 +52,13 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS END IF; END IF; feuille(c).cells(l).enCalcul := TRUE; feuille(c).cells(l).enCalcul := true; val := calcCell( c, l ); IF ose_formule.debug_actif THEN dbgCell( c, l, val ); END IF; feuille(c).cells(l).valeur := val; feuille(c).cells(l).enCalcul := FALSE; feuille(c).cells(l).enCalcul := false; RETURN val; END; Loading Loading @@ -225,12 +224,12 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- AG=IF([.$H20]="Référentiel";0;IF(AND(MID([.$N20];1;4)="PRIO";MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0)) -- AG=IF([.$H20]="Référentiel";0;IF(AND(MID([.$N20];1;4)="PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0)) WHEN 'AG' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE IF SUBSTR(vh.param_1, 1, 4) = 'PRIO' AND SUBSTR(vh.structure_code, 1, 5) <> '15310' THEN IF COALESCE(SUBSTR(vh.param_1, 1, 4),' ') = 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -293,9 +292,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- AM=IF(AND([.$H20]="Référentiel";[.$A20]=[.$K$10];MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0) -- AM=IF(AND([.$H20]="Référentiel";[.$A20]=[.$K$10];MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0) WHEN 'AM' THEN IF vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '15310' THEN IF vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -357,9 +356,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- AS=IF(AND([.$H20]<>"Référentiel";[.$A20]=i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0) -- AS=IF(AND([.$H20]<>"Référentiel";[.$A20]=i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0) WHEN 'AS' THEN IF vh.volume_horaire_ref_id IS NULL AND vh.structure_is_affectation AND SUBSTR(vh.param_1, 1, 4) <> 'PRIO' AND SUBSTR(vh.structure_code, 1, 5) <> '15310' THEN IF vh.volume_horaire_ref_id IS NULL AND vh.structure_is_affectation AND COALESCE(SUBSTR(vh.param_1, 1, 4),' ') <> 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -421,9 +420,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- AY=IF(AND(AND([.$H20]="Référentiel";[.$A20]=i_structure_code);( MID([.$A20];1;5))<>"15310");[.$M20]*[.$AD20];0) -- AY=IF(AND(AND([.$H20]="Référentiel";[.$A20]=i_structure_code);( MID([.$A20];1;5))<>"20595");[.$M20]*[.$AD20];0) WHEN 'AY' THEN IF (vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_affectation) AND (SUBSTR(vh.structure_code, 1, 5)) <> '15310' THEN IF (vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_affectation) AND (COALESCE(SUBSTR(vh.structure_code, 1, 5),' ')) <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -485,9 +484,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- BE=IF(AND([.$H20]<>"Référentiel";[.$A20]<>i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0) -- BE=IF(AND([.$H20]<>"Référentiel";[.$A20]<>i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0) WHEN 'BE' THEN IF vh.volume_horaire_ref_id IS NULL AND NOT vh.structure_is_affectation AND SUBSTR(vh.param_1, 1, 4) <> 'PRIO' AND SUBSTR(vh.structure_code, 1, 5) <> '15310' THEN IF vh.volume_horaire_ref_id IS NULL AND NOT vh.structure_is_affectation AND COALESCE(SUBSTR(vh.param_1, 1, 4),' ') <> 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -549,9 +548,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- BK=IF(AND([.$H20]="Référentiel";[.$A20]<>i_structure_code;[.$A20]<>[.$K$10];MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0) -- BK=IF(AND([.$H20]="Référentiel";[.$A20]<>i_structure_code;[.$A20]<>[.$K$10];MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0) WHEN 'BK' THEN IF vh.volume_horaire_ref_id IS NOT NULL AND NOT vh.structure_is_affectation AND NOT vh.structure_is_univ AND SUBSTR(vh.structure_code, 1, 5) <> '15310' THEN IF vh.volume_horaire_ref_id IS NOT NULL AND NOT vh.structure_is_affectation AND NOT vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -613,9 +612,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- BQ=IF(MID([.$A20];1;25)="15310";[.$M20]*[.$AE20];0) -- BQ=IF(MID([.$A20];1;25)="20595";[.$M20]*[.$AE20];0) WHEN 'BQ' THEN IF SUBSTR(vh.structure_code, 1, 25) = '15310' THEN IF COALESCE(SUBSTR(vh.structure_code, 1, 25),' ') = '20595' THEN RETURN vh.heures * cell('AE',l); ELSE RETURN 0; Loading Loading @@ -695,7 +694,8 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS LEFT JOIN service s ON s.id = fvh.service_id LEFT JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id ORDER BY ordre'; ordre '; END; END FORMULE_PARIS8; No newline at end of file data/ddl/package/FORMULE_PICARDIE/body.sql +46 −24 Changes for data/ddl/package/FORMULE_PICARDIE/body.sql: 46 added lines, 24 removed lines. Original line number Diff line number Diff line Loading @@ -218,10 +218,10 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AB=IF([.$H20]="Référentiel";[.$AQ20]+[.$BC20]+[.$BQ20];0) -- AB=IF([.$H20]="Référentiel";[.$BQ20]+[.$BS20];0) WHEN 'AB' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN cell('AQ',l) + cell('BC',l) + cell('BQ',l); RETURN cell('BQ',l) + cell('BS',l); ELSE RETURN 0; END IF; Loading Loading @@ -284,9 +284,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AJ=IF([.AH$17]=0;([.AG20]-[.AI20])/[.$AD20];0) -- AJ=IF([.AI20]<[.AG20];([.AG20]-[.AI20])/[.$AD20];0) WHEN 'AJ' THEN IF cell('AH17') = 0 THEN IF cell('AI',l) < cell('AG',l) THEN RETURN (cell('AG',l) - cell('AI',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -314,12 +314,18 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AN15=SUM([.AM$1:.AM$1048576]) WHEN 'AN15' THEN -- AN14=SUM([.AM$1:.AM$1048576]) WHEN 'AN14' THEN RETURN calcFnc('somme','AM'); -- AN15=MIN([.AN14];i_service_du/3) WHEN 'AN15' THEN RETURN LEAST(cell('AN14'), i.service_du / 3); -- AN16=MIN([.AN15];[.AH17]) WHEN 'AN16' THEN RETURN LEAST(cell('AN15'), cell('AH17')); Loading @@ -332,10 +338,10 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AN=IF([.AN$15]>0;[.AM20]/[.AN$15];0) -- AN=IF([.AN$14]>0;[.AM20]/[.AN$14];0) WHEN 'AN' THEN IF cell('AN15') > 0 THEN RETURN cell('AM',l) / cell('AN15'); IF cell('AN14') > 0 THEN RETURN cell('AM',l) / cell('AN14'); ELSE RETURN 0; END IF; Loading @@ -348,9 +354,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AP=IF([.AN$17]=0;([.AM20]-[.AO20])/[.$AD20];0) -- AP=IF([.AO20]<[.AM20];([.AM20]-[.AO20])/[.$AD20];0) WHEN 'AP' THEN IF cell('AN17') = 0 THEN IF cell('AO',l) < cell('AM',l) THEN RETURN (cell('AM',l) - cell('AO',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -412,9 +418,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AV=IF([.AT$17]=0;([.AS20]-[.AU20])/[.$AD20];0) -- AV=IF([.AU20]<[.AS20];([.AS20]-[.AU20])/[.$AD20];0) WHEN 'AV' THEN IF cell('AT17') = 0 THEN IF cell('AU',l) < cell('AS',l) THEN RETURN (cell('AS',l) - cell('AU',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -442,12 +448,18 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AZ15=SUM([.AY$1:.AY$1048576]) WHEN 'AZ15' THEN -- AZ14=SUM([.AY$1:.AY$1048576]) WHEN 'AZ14' THEN RETURN calcFnc('somme','AY'); -- AZ15=MIN([.AZ14];(i_service_du/3)-[.AN16]) WHEN 'AZ15' THEN RETURN LEAST(cell('AZ14'), (i.service_du / 3) - cell('AN16')); -- AZ16=MIN([.AZ15];[.AT17]) WHEN 'AZ16' THEN RETURN LEAST(cell('AZ15'), cell('AT17')); Loading @@ -460,10 +472,10 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AZ=IF([.AZ$15]>0;[.AY20]/[.AZ$15];0) -- AZ=IF([.AZ$14]>0;[.AY20]/[.AZ$14];0) WHEN 'AZ' THEN IF cell('AZ15') > 0 THEN RETURN cell('AY',l) / cell('AZ15'); IF cell('AZ14') > 0 THEN RETURN cell('AY',l) / cell('AZ14'); ELSE RETURN 0; END IF; Loading @@ -476,9 +488,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- BB=IF([.AZ$17]=0;([.AY20]-[.BA20])/[.$AD20];0) -- BB=IF([.BA20]<[.AY20];([.AY20]-[.BA20])/[.$AD20];0) WHEN 'BB' THEN IF cell('AZ17') = 0 THEN IF cell('BA',l) < cell('AY',l) THEN RETURN (cell('AY',l) - cell('BA',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -540,9 +552,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- BH=IF([.BF$17]=0;([.BE20]-[.BG20])/[.$AD20];0) -- BH=IF([.BG20]<[.BE20];([.BE20]-[.BG20])/[.$AD20];0) WHEN 'BH' THEN IF cell('BF17') = 0 THEN IF cell('BG',l) < cell('BE',l) THEN RETURN (cell('BE',l) - cell('BG',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -604,9 +616,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- BN=IF([.BL$17]=0;([.BK20]-[.BM20])/[.$AD20];0) -- BN=IF([.BM20]<[.BK20];([.BK20]-[.BM20])/[.$AD20];0) WHEN 'BN' THEN IF cell('BL17') = 0 THEN IF cell('BM',l) < cell('BK',l) THEN RETURN (cell('BK',l) - cell('BM',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -634,6 +646,16 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- BS=IF(AND([.$D20]="Oui";[.$BL$17]=0;[.$H20]="Référentiel");([.AQ20]+[.BC20])*[.$AE20];0) WHEN 'BS' THEN IF vh.service_statutaire AND cell('BL17') = 0 AND vh.volume_horaire_ref_id IS NOT NULL THEN RETURN (cell('AQ',l) + cell('BC',l)) * cell('AE',l); ELSE RETURN 0; END IF; ELSE dbms_output.put_line('La colonne c=' || c || ', l=' || l || ' n''existe pas!'); Loading data/ddl/package/FORMULE_POITIERS/body.sql +19 −20 Changes for data/ddl/package/FORMULE_POITIERS/body.sql: 19 added lines, 20 removed lines. Original line number Diff line number Diff line Loading @@ -126,32 +126,32 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- U=IF([.$I20]="Référentiel";0;([.$AJ20])*[.F20]) -- U=IF([.$I20]="Référentiel";0;[.$AJ20]*[.F20]) WHEN 'U' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AJ',l)) * vh.taux_fi; RETURN cell('AJ',l) * vh.taux_fi; END IF; -- V=IF([.$I20]="Référentiel";0;([.$AJ20])*[.G20]) -- V=IF([.$I20]="Référentiel";0;[.$AJ20]*[.G20]) WHEN 'V' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AJ',l)) * vh.taux_fa; RETURN cell('AJ',l) * vh.taux_fa; END IF; -- W=IF([.$I20]="Référentiel";0;([.$AJ20])*[.H20]) -- W=IF([.$I20]="Référentiel";0;[.$AJ20]*[.H20]) WHEN 'W' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AJ',l)) * vh.taux_fc; RETURN cell('AJ',l) * vh.taux_fc; END IF; Loading @@ -166,32 +166,32 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- Y=IF([.$I20]="Référentiel";0;([.$AL20])*[.F20]) -- Y=IF([.$I20]="Référentiel";0;[.$AL20]*[.F20]) WHEN 'Y' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AL',l)) * vh.taux_fi; RETURN cell('AL',l) * vh.taux_fi; END IF; -- Z=IF([.$I20]="Référentiel";0;([.$AL20])*[.G20]) -- Z=IF([.$I20]="Référentiel";0;[.$AL20]*[.G20]) WHEN 'Z' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AL',l)) * vh.taux_fa; RETURN cell('AL',l) * vh.taux_fa; END IF; -- AA=IF([.$I20]="Référentiel";0;([.$AL20])*[.H20]) -- AA=IF([.$I20]="Référentiel";0;[.$AL20]*[.H20]) WHEN 'AA' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AL',l)) * vh.taux_fc; RETURN cell('AL',l) * vh.taux_fc; END IF; Loading @@ -212,7 +212,7 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- AE=IF(ISERROR([.J20]);1;[.J20]*IF(ISERROR([.L20]);1;[.L20])) -- AE=IF(ISERROR([.J20]);1;[.J20]) WHEN 'AE' THEN RETURN vh.taux_service_du; Loading @@ -220,7 +220,7 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- AF=IF(ISERROR([.K20]);1;[.K20]*IF(ISERROR([.M20]);1;[.M20])) WHEN 'AF' THEN RETURN vh.taux_service_compl; RETURN (vh.taux_service_compl * vh.ponderation_service_compl); Loading Loading @@ -268,10 +268,14 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- AK=IF([.AI$17]=0;([.AH20]-[.AJ20])/[.$AE20];0) -- AK=IF([.AI$17]=0;IF([.AE20]=0;0;([.AH20]-[.AJ20])/[.$AE20]);0) WHEN 'AK' THEN IF cell('AI17') = 0 THEN IF cell('AE',l) = 0 THEN RETURN 0; ELSE RETURN (cell('AH',l) - cell('AJ',l)) / cell('AE',l); END IF; ELSE RETURN 0; END IF; Loading Loading @@ -303,11 +307,6 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS BEGIN feuille.delete; IF ose_formule.intervenant.annee_id < 2022 THEN FORMULE_POITIERS_2021.CALCUL_RESULTAT; RETURN; END IF; IF ose_formule.intervenant.depassement_service_du_sans_hc THEN -- HC traitées comme du service ose_formule.intervenant.service_du := ose_formule.intervenant.heures_service_statutaire + ose_formule.intervenant.heures_service_modifie; END IF; Loading Loading
CHANGELOG.md +7 −4 Changes for CHANGELOG.md: 7 added lines, 4 removed lines. Original line number Diff line number Diff line # Version stable [OSE 20.0](#ose-20--28022023-) [OSE 20.1](#ose-201--04042023-) # OSE 21 (à venir) Loading @@ -11,7 +11,8 @@ * Taux HETD personnalisables # OSE 20.1 (A venir) # OSE 20.1 (04/04/2023) ## Nouveautés Loading @@ -26,8 +27,10 @@ * Correction d'une régression de la V20 sur le module Export Siham * Suppression d'un message d'erreur sur l'envoi de mail via les indicateurs (#49873) * Formule Paris 8 : correction d'un problème de code de composante * Formule Poitiers : (#46805) * Formule La Réunion : (#24229) * Formule de Picardie: (#47224) Loading
config/autoload/unicaen-authentification.global.php +10 −0 Changes for config/autoload/unicaen-authentification.global.php: 10 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -76,6 +76,11 @@ $settings = [ */ 'enabled' => AppConfig::get('cas', 'actif', false), /** * Permet de sauter le formulaire d'authentification "/auth/connexion" si CAS est la seule source d'authentification */ 'form_skip' => true, /** * Description facultative de ce mode d'authentification qui apparaîtra sur la page de connexion. */ Loading @@ -92,6 +97,11 @@ $settings = [ */ 'enable' => false, /** * Permet de sauter le formulaire d'authentification "/auth/connexion" si CAS est la seule source d'authentification */ 'form_skip' => true, /** * URL de déconnexion. */ Loading
data/ddl/package/FORMULE_PARIS8/body.sql +19 −19 Changes for data/ddl/package/FORMULE_PARIS8/body.sql: 19 added lines, 19 removed lines. Original line number Diff line number Diff line CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS decalageLigne NUMERIC DEFAULT 20; decalageLigne NUMERIC DEFAULT 19; /* Stockage des valeurs intermédiaires */ TYPE t_cell IS RECORD ( Loading Loading @@ -53,13 +52,13 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS END IF; END IF; feuille(c).cells(l).enCalcul := TRUE; feuille(c).cells(l).enCalcul := true; val := calcCell( c, l ); IF ose_formule.debug_actif THEN dbgCell( c, l, val ); END IF; feuille(c).cells(l).valeur := val; feuille(c).cells(l).enCalcul := FALSE; feuille(c).cells(l).enCalcul := false; RETURN val; END; Loading Loading @@ -225,12 +224,12 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- AG=IF([.$H20]="Référentiel";0;IF(AND(MID([.$N20];1;4)="PRIO";MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0)) -- AG=IF([.$H20]="Référentiel";0;IF(AND(MID([.$N20];1;4)="PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0)) WHEN 'AG' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE IF SUBSTR(vh.param_1, 1, 4) = 'PRIO' AND SUBSTR(vh.structure_code, 1, 5) <> '15310' THEN IF COALESCE(SUBSTR(vh.param_1, 1, 4),' ') = 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -293,9 +292,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- AM=IF(AND([.$H20]="Référentiel";[.$A20]=[.$K$10];MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0) -- AM=IF(AND([.$H20]="Référentiel";[.$A20]=[.$K$10];MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0) WHEN 'AM' THEN IF vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '15310' THEN IF vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -357,9 +356,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- AS=IF(AND([.$H20]<>"Référentiel";[.$A20]=i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0) -- AS=IF(AND([.$H20]<>"Référentiel";[.$A20]=i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0) WHEN 'AS' THEN IF vh.volume_horaire_ref_id IS NULL AND vh.structure_is_affectation AND SUBSTR(vh.param_1, 1, 4) <> 'PRIO' AND SUBSTR(vh.structure_code, 1, 5) <> '15310' THEN IF vh.volume_horaire_ref_id IS NULL AND vh.structure_is_affectation AND COALESCE(SUBSTR(vh.param_1, 1, 4),' ') <> 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -421,9 +420,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- AY=IF(AND(AND([.$H20]="Référentiel";[.$A20]=i_structure_code);( MID([.$A20];1;5))<>"15310");[.$M20]*[.$AD20];0) -- AY=IF(AND(AND([.$H20]="Référentiel";[.$A20]=i_structure_code);( MID([.$A20];1;5))<>"20595");[.$M20]*[.$AD20];0) WHEN 'AY' THEN IF (vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_affectation) AND (SUBSTR(vh.structure_code, 1, 5)) <> '15310' THEN IF (vh.volume_horaire_ref_id IS NOT NULL AND vh.structure_is_affectation) AND (COALESCE(SUBSTR(vh.structure_code, 1, 5),' ')) <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -485,9 +484,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- BE=IF(AND([.$H20]<>"Référentiel";[.$A20]<>i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0) -- BE=IF(AND([.$H20]<>"Référentiel";[.$A20]<>i_structure_code;MID([.$N20];1;4)<>"PRIO";MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0) WHEN 'BE' THEN IF vh.volume_horaire_ref_id IS NULL AND NOT vh.structure_is_affectation AND SUBSTR(vh.param_1, 1, 4) <> 'PRIO' AND SUBSTR(vh.structure_code, 1, 5) <> '15310' THEN IF vh.volume_horaire_ref_id IS NULL AND NOT vh.structure_is_affectation AND COALESCE(SUBSTR(vh.param_1, 1, 4),' ') <> 'PRIO' AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -549,9 +548,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- BK=IF(AND([.$H20]="Référentiel";[.$A20]<>i_structure_code;[.$A20]<>[.$K$10];MID([.$A20];1;5)<>"15310");[.$M20]*[.$AD20];0) -- BK=IF(AND([.$H20]="Référentiel";[.$A20]<>i_structure_code;[.$A20]<>[.$K$10];MID([.$A20];1;5)<>"20595");[.$M20]*[.$AD20];0) WHEN 'BK' THEN IF vh.volume_horaire_ref_id IS NOT NULL AND NOT vh.structure_is_affectation AND NOT vh.structure_is_univ AND SUBSTR(vh.structure_code, 1, 5) <> '15310' THEN IF vh.volume_horaire_ref_id IS NOT NULL AND NOT vh.structure_is_affectation AND NOT vh.structure_is_univ AND COALESCE(SUBSTR(vh.structure_code, 1, 5),' ') <> '20595' THEN RETURN vh.heures * cell('AD',l); ELSE RETURN 0; Loading Loading @@ -613,9 +612,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS -- BQ=IF(MID([.$A20];1;25)="15310";[.$M20]*[.$AE20];0) -- BQ=IF(MID([.$A20];1;25)="20595";[.$M20]*[.$AE20];0) WHEN 'BQ' THEN IF SUBSTR(vh.structure_code, 1, 25) = '15310' THEN IF COALESCE(SUBSTR(vh.structure_code, 1, 25),' ') = '20595' THEN RETURN vh.heures * cell('AE',l); ELSE RETURN 0; Loading Loading @@ -695,7 +694,8 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PARIS8 AS LEFT JOIN service s ON s.id = fvh.service_id LEFT JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id ORDER BY ordre'; ordre '; END; END FORMULE_PARIS8; No newline at end of file
data/ddl/package/FORMULE_PICARDIE/body.sql +46 −24 Changes for data/ddl/package/FORMULE_PICARDIE/body.sql: 46 added lines, 24 removed lines. Original line number Diff line number Diff line Loading @@ -218,10 +218,10 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AB=IF([.$H20]="Référentiel";[.$AQ20]+[.$BC20]+[.$BQ20];0) -- AB=IF([.$H20]="Référentiel";[.$BQ20]+[.$BS20];0) WHEN 'AB' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN cell('AQ',l) + cell('BC',l) + cell('BQ',l); RETURN cell('BQ',l) + cell('BS',l); ELSE RETURN 0; END IF; Loading Loading @@ -284,9 +284,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AJ=IF([.AH$17]=0;([.AG20]-[.AI20])/[.$AD20];0) -- AJ=IF([.AI20]<[.AG20];([.AG20]-[.AI20])/[.$AD20];0) WHEN 'AJ' THEN IF cell('AH17') = 0 THEN IF cell('AI',l) < cell('AG',l) THEN RETURN (cell('AG',l) - cell('AI',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -314,12 +314,18 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AN15=SUM([.AM$1:.AM$1048576]) WHEN 'AN15' THEN -- AN14=SUM([.AM$1:.AM$1048576]) WHEN 'AN14' THEN RETURN calcFnc('somme','AM'); -- AN15=MIN([.AN14];i_service_du/3) WHEN 'AN15' THEN RETURN LEAST(cell('AN14'), i.service_du / 3); -- AN16=MIN([.AN15];[.AH17]) WHEN 'AN16' THEN RETURN LEAST(cell('AN15'), cell('AH17')); Loading @@ -332,10 +338,10 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AN=IF([.AN$15]>0;[.AM20]/[.AN$15];0) -- AN=IF([.AN$14]>0;[.AM20]/[.AN$14];0) WHEN 'AN' THEN IF cell('AN15') > 0 THEN RETURN cell('AM',l) / cell('AN15'); IF cell('AN14') > 0 THEN RETURN cell('AM',l) / cell('AN14'); ELSE RETURN 0; END IF; Loading @@ -348,9 +354,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AP=IF([.AN$17]=0;([.AM20]-[.AO20])/[.$AD20];0) -- AP=IF([.AO20]<[.AM20];([.AM20]-[.AO20])/[.$AD20];0) WHEN 'AP' THEN IF cell('AN17') = 0 THEN IF cell('AO',l) < cell('AM',l) THEN RETURN (cell('AM',l) - cell('AO',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -412,9 +418,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AV=IF([.AT$17]=0;([.AS20]-[.AU20])/[.$AD20];0) -- AV=IF([.AU20]<[.AS20];([.AS20]-[.AU20])/[.$AD20];0) WHEN 'AV' THEN IF cell('AT17') = 0 THEN IF cell('AU',l) < cell('AS',l) THEN RETURN (cell('AS',l) - cell('AU',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -442,12 +448,18 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AZ15=SUM([.AY$1:.AY$1048576]) WHEN 'AZ15' THEN -- AZ14=SUM([.AY$1:.AY$1048576]) WHEN 'AZ14' THEN RETURN calcFnc('somme','AY'); -- AZ15=MIN([.AZ14];(i_service_du/3)-[.AN16]) WHEN 'AZ15' THEN RETURN LEAST(cell('AZ14'), (i.service_du / 3) - cell('AN16')); -- AZ16=MIN([.AZ15];[.AT17]) WHEN 'AZ16' THEN RETURN LEAST(cell('AZ15'), cell('AT17')); Loading @@ -460,10 +472,10 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- AZ=IF([.AZ$15]>0;[.AY20]/[.AZ$15];0) -- AZ=IF([.AZ$14]>0;[.AY20]/[.AZ$14];0) WHEN 'AZ' THEN IF cell('AZ15') > 0 THEN RETURN cell('AY',l) / cell('AZ15'); IF cell('AZ14') > 0 THEN RETURN cell('AY',l) / cell('AZ14'); ELSE RETURN 0; END IF; Loading @@ -476,9 +488,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- BB=IF([.AZ$17]=0;([.AY20]-[.BA20])/[.$AD20];0) -- BB=IF([.BA20]<[.AY20];([.AY20]-[.BA20])/[.$AD20];0) WHEN 'BB' THEN IF cell('AZ17') = 0 THEN IF cell('BA',l) < cell('AY',l) THEN RETURN (cell('AY',l) - cell('BA',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -540,9 +552,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- BH=IF([.BF$17]=0;([.BE20]-[.BG20])/[.$AD20];0) -- BH=IF([.BG20]<[.BE20];([.BE20]-[.BG20])/[.$AD20];0) WHEN 'BH' THEN IF cell('BF17') = 0 THEN IF cell('BG',l) < cell('BE',l) THEN RETURN (cell('BE',l) - cell('BG',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -604,9 +616,9 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- BN=IF([.BL$17]=0;([.BK20]-[.BM20])/[.$AD20];0) -- BN=IF([.BM20]<[.BK20];([.BK20]-[.BM20])/[.$AD20];0) WHEN 'BN' THEN IF cell('BL17') = 0 THEN IF cell('BM',l) < cell('BK',l) THEN RETURN (cell('BK',l) - cell('BM',l)) / cell('AD',l); ELSE RETURN 0; Loading Loading @@ -634,6 +646,16 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_PICARDIE AS -- BS=IF(AND([.$D20]="Oui";[.$BL$17]=0;[.$H20]="Référentiel");([.AQ20]+[.BC20])*[.$AE20];0) WHEN 'BS' THEN IF vh.service_statutaire AND cell('BL17') = 0 AND vh.volume_horaire_ref_id IS NOT NULL THEN RETURN (cell('AQ',l) + cell('BC',l)) * cell('AE',l); ELSE RETURN 0; END IF; ELSE dbms_output.put_line('La colonne c=' || c || ', l=' || l || ' n''existe pas!'); Loading
data/ddl/package/FORMULE_POITIERS/body.sql +19 −20 Changes for data/ddl/package/FORMULE_POITIERS/body.sql: 19 added lines, 20 removed lines. Original line number Diff line number Diff line Loading @@ -126,32 +126,32 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- U=IF([.$I20]="Référentiel";0;([.$AJ20])*[.F20]) -- U=IF([.$I20]="Référentiel";0;[.$AJ20]*[.F20]) WHEN 'U' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AJ',l)) * vh.taux_fi; RETURN cell('AJ',l) * vh.taux_fi; END IF; -- V=IF([.$I20]="Référentiel";0;([.$AJ20])*[.G20]) -- V=IF([.$I20]="Référentiel";0;[.$AJ20]*[.G20]) WHEN 'V' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AJ',l)) * vh.taux_fa; RETURN cell('AJ',l) * vh.taux_fa; END IF; -- W=IF([.$I20]="Référentiel";0;([.$AJ20])*[.H20]) -- W=IF([.$I20]="Référentiel";0;[.$AJ20]*[.H20]) WHEN 'W' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AJ',l)) * vh.taux_fc; RETURN cell('AJ',l) * vh.taux_fc; END IF; Loading @@ -166,32 +166,32 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- Y=IF([.$I20]="Référentiel";0;([.$AL20])*[.F20]) -- Y=IF([.$I20]="Référentiel";0;[.$AL20]*[.F20]) WHEN 'Y' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AL',l)) * vh.taux_fi; RETURN cell('AL',l) * vh.taux_fi; END IF; -- Z=IF([.$I20]="Référentiel";0;([.$AL20])*[.G20]) -- Z=IF([.$I20]="Référentiel";0;[.$AL20]*[.G20]) WHEN 'Z' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AL',l)) * vh.taux_fa; RETURN cell('AL',l) * vh.taux_fa; END IF; -- AA=IF([.$I20]="Référentiel";0;([.$AL20])*[.H20]) -- AA=IF([.$I20]="Référentiel";0;[.$AL20]*[.H20]) WHEN 'AA' THEN IF vh.volume_horaire_ref_id IS NOT NULL THEN RETURN 0; ELSE RETURN (cell('AL',l)) * vh.taux_fc; RETURN cell('AL',l) * vh.taux_fc; END IF; Loading @@ -212,7 +212,7 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- AE=IF(ISERROR([.J20]);1;[.J20]*IF(ISERROR([.L20]);1;[.L20])) -- AE=IF(ISERROR([.J20]);1;[.J20]) WHEN 'AE' THEN RETURN vh.taux_service_du; Loading @@ -220,7 +220,7 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- AF=IF(ISERROR([.K20]);1;[.K20]*IF(ISERROR([.M20]);1;[.M20])) WHEN 'AF' THEN RETURN vh.taux_service_compl; RETURN (vh.taux_service_compl * vh.ponderation_service_compl); Loading Loading @@ -268,10 +268,14 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS -- AK=IF([.AI$17]=0;([.AH20]-[.AJ20])/[.$AE20];0) -- AK=IF([.AI$17]=0;IF([.AE20]=0;0;([.AH20]-[.AJ20])/[.$AE20]);0) WHEN 'AK' THEN IF cell('AI17') = 0 THEN IF cell('AE',l) = 0 THEN RETURN 0; ELSE RETURN (cell('AH',l) - cell('AJ',l)) / cell('AE',l); END IF; ELSE RETURN 0; END IF; Loading Loading @@ -303,11 +307,6 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS BEGIN feuille.delete; IF ose_formule.intervenant.annee_id < 2022 THEN FORMULE_POITIERS_2021.CALCUL_RESULTAT; RETURN; END IF; IF ose_formule.intervenant.depassement_service_du_sans_hc THEN -- HC traitées comme du service ose_formule.intervenant.service_du := ose_formule.intervenant.heures_service_statutaire + ose_formule.intervenant.heures_service_modifie; END IF; Loading