Commit 32f743af authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Formule de Picardie #47224

(cherry picked from commit 59771eec)
parent b3ea6950
Loading
Loading
Loading
Loading
+6 −3
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)
@@ -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)



+46 −24
Original line number Diff line number Diff line
@@ -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!');
+0 −5
Original line number Diff line number Diff line
@@ -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