Skip to content
Snippets Groups Projects
Commit 32f743af authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Formule de Picardie #47224

(cherry picked from commit 59771eec)
parent b3ea6950
No related branches found
No related tags found
No related merge requests found
# Version stable
[OSE 20.0](#ose-20--28022023-)
[OSE 20.1](#ose-201--04042023-)
# OSE 21 (à venir)
......@@ -11,7 +11,8 @@
* Taux HETD personnalisables
# OSE 20.1 (A venir)
# OSE 20.1 (04/04/2023)
## Nouveautés
......@@ -27,7 +28,9 @@
* 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)
......
......@@ -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;
......@@ -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;
......@@ -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'));
......@@ -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;
......@@ -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;
......@@ -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;
......@@ -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'));
......@@ -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;
......@@ -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;
......@@ -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;
......@@ -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;
......@@ -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!');
......
......@@ -110,10 +110,5 @@ return [
26 => [
'LIBELLE' => 'Université de Picardie Jules Verne',
'PACKAGE_NAME' => 'FORMULE_PICARDIE',
'VH_PARAM_1_LIBELLE' => 'param 1',
'VH_PARAM_2_LIBELLE' => 'param 2',
'VH_PARAM_3_LIBELLE' => 'param 3',
'VH_PARAM_4_LIBELLE' => 'param 4',
'VH_PARAM_5_LIBELLE' => 'param 5',
],
];
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment