From abd4ab037b7a5cc50041da55e3e3a246a0703303 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr>
Date: Tue, 12 May 2020 11:36:43 +0200
Subject: [PATCH] =?UTF-8?q?Correction=20de=20quelques=20coquilles=20suppl?=
 =?UTF-8?q?=C3=A9mentaires=20pour=20l'extraction=20CSV=20des=20services?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CHANGELOG.md                                 |  2 +-
 code/test6.php                               | 17 ++++-------------
 data/Etats de sortie/export_services_csv.php | 15 +++------------
 3 files changed, 8 insertions(+), 26 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 352f1b1392..8ca978a75e 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,7 +7,7 @@
    * Edition des régles de validations (volume horaire / type intervenant)
    * Edition des types d'activites des centres de coûts (pilotage, enseignement, accueil etc..)
    
-* L'export CSV des services affiche maintenant le motif de non paiement, en plus des heures non payées
+* L'export CSV des services affiche maintenant les heures non payées avec chaque motif dans des lignes distinctes, ventilées par type d'intervention (CM/TD/TP)
 * Par défaut, les pièces jointes ne sont plus demandées si l'intervenant ne fait que des heures non payables dans son service. Possibilité de les forcer en obligatoire dans l'admin si on le souhaite.   
 
 ## Corrections de bugs
diff --git a/code/test6.php b/code/test6.php
index 7d1c919815..af92389908 100755
--- a/code/test6.php
+++ b/code/test6.php
@@ -12,7 +12,7 @@
 $entityManager = $container->get(\Application\Constants::BDD);
 $options       = ['annee' => '2019 / 2020'];
 
-$data = $entityManager->getConnection()->fetchAll('select * from v_export_service where intervenant_id = 188294 AND type_volume_horaire_id = 1 AND etat_volume_horaire_id = 1');
+$data = $entityManager->getConnection()->fetchAll('select * from v_export_service where intervenant_id = 189558 AND type_volume_horaire_id = 1 AND etat_volume_horaire_id = 1');
 
 // initialisation
 
@@ -44,7 +44,6 @@ $dateColumns       = [
 ];
 $addableColumns    = [
     '__total__',
-    'heures-non-payees',
     'heures-ref',
     'service-fi',
     'service-fa',
@@ -56,24 +55,18 @@ $addableColumns    = [
     'heures-compl-fc-majorees',
     'heures-compl-referentiel',
     'total',
-    'heures-non-payees-libelle',
 ];
 
 // récupération des données
 
+$dateExtraction = new \DateTime();
 foreach ($data as $d) {
-
-    if ((int)$d['HEURES_NON_PAYEES'] === 1) {
-        $d['HEURES_NON_PAYEES'] = $d['HEURES'];
-        $d['HEURES']            = 0;
-    }
-
-
     $sid = $d['SERVICE_ID'] ? $d['SERVICE_ID'] . '_' . $d['PERIODE_ID'] : $d['ID'];
+    $sid .= '_' . $d['MOTIF_NON_PAIEMENT_ID'];
     $ds  = [
         '__total__'                 => (float)$d['HEURES'] + (float)$d['HEURES_NON_PAYEES'] + (float)$d['HEURES_REF'] + (float)$d['TOTAL'],
         'type-etat'                 => $d['TYPE_ETAT'],
-        'date'                      => new \DateTime(),
+        'date'                      => $dateExtraction,
         'service-date-modification' => $d['SERVICE_DATE_MODIFICATION'],
         'annee-libelle'             => (string)$options['annee'],
 
@@ -108,7 +101,6 @@ foreach ($data as $d) {
         'element-source-libelle'        => $d['ELEMENT_SOURCE_LIBELLE'],
 
         'periode-libelle'              => $d['PERIODE_LIBELLE'],
-        'heures-non-payees'            => (float)$d['HEURES_NON_PAYEES'],
         'heures-non-payees-libelle'    => $d['MOTIF_NON_PAIEMENT'],
 
         // types d'intervention traités en aval
@@ -214,7 +206,6 @@ $head = [
     'element-ponderation-compl'     => 'Majoration',
     'element-source-libelle'        => 'Source enseignement',
     'periode-libelle'               => 'Période',
-    'heures-non-payees'             => 'Heures non payées',
     'heures-non-payees-libelle'     => 'Motif de non paiement',
 ];
 uasort($typesIntervention, function ($ti1, $ti2) {
diff --git a/data/Etats de sortie/export_services_csv.php b/data/Etats de sortie/export_services_csv.php
index d23419d4e4..ab1b51be17 100644
--- a/data/Etats de sortie/export_services_csv.php	
+++ b/data/Etats de sortie/export_services_csv.php	
@@ -41,7 +41,6 @@ $dateColumns       = [
 ];
 $addableColumns    = [
     '__total__',
-    'heures-non-payees',
     'heures-ref',
     'service-fi',
     'service-fa',
@@ -53,24 +52,18 @@ $addableColumns    = [
     'heures-compl-fc-majorees',
     'heures-compl-referentiel',
     'total',
-    'heures-non-payees-libelle',
 ];
 
 // récupération des données
 
+$dateExtraction = new \DateTime();
 foreach ($data as $d) {
-
-    if ((int)$d['HEURES_NON_PAYEES'] === 1) {
-        $d['HEURES_NON_PAYEES'] = $d['HEURES'];
-        $d['HEURES']            = 0;
-    }
-
-
     $sid = $d['SERVICE_ID'] ? $d['SERVICE_ID'] . '_' . $d['PERIODE_ID'] : $d['ID'];
+    $sid .= '_' . $d['MOTIF_NON_PAIEMENT_ID'];
     $ds  = [
         '__total__'                 => (float)$d['HEURES'] + (float)$d['HEURES_NON_PAYEES'] + (float)$d['HEURES_REF'] + (float)$d['TOTAL'],
         'type-etat'                 => $d['TYPE_ETAT'],
-        'date'                      => new \DateTime(),
+        'date'                      => $dateExtraction,
         'service-date-modification' => $d['SERVICE_DATE_MODIFICATION'],
         'annee-libelle'             => (string)$options['annee'],
 
@@ -105,7 +98,6 @@ foreach ($data as $d) {
         'element-source-libelle'        => $d['ELEMENT_SOURCE_LIBELLE'],
 
         'periode-libelle'              => $d['PERIODE_LIBELLE'],
-        'heures-non-payees'            => (float)$d['HEURES_NON_PAYEES'],
         'heures-non-payees-libelle'    => $d['MOTIF_NON_PAIEMENT'],
 
         // types d'intervention traités en aval
@@ -211,7 +203,6 @@ $head = [
     'element-ponderation-compl'     => 'Majoration',
     'element-source-libelle'        => 'Source enseignement',
     'periode-libelle'               => 'Période',
-    'heures-non-payees'             => 'Heures non payées',
     'heures-non-payees-libelle'     => 'Motif de non paiement',
 ];
 uasort($typesIntervention, function ($ti1, $ti2) {
-- 
GitLab