From bc73730190c25c2b437e0e6863fa2e3553e32fcf Mon Sep 17 00:00:00 2001 From: Narindra ezway Date: Wed, 9 Apr 2025 14:08:31 +0300 Subject: [PATCH] refactor: update SQL order by clause and enhance export functionality for return_to_siege data --- gestion/lib/Db/Bdd.php | 10 ++++-- .../Service/ExportThanatoStatisticService.php | 31 +++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/gestion/lib/Db/Bdd.php b/gestion/lib/Db/Bdd.php index d307261..f61e01e 100644 --- a/gestion/lib/Db/Bdd.php +++ b/gestion/lib/Db/Bdd.php @@ -226,7 +226,7 @@ class Bdd { LEFT JOIN ".$this->tableprefix."client as client_devis on devis.id_client = client_devis.id LEFT JOIN ".$this->tableprefix."client as client on ligne_trajet.id_client = client.id LEFT JOIN ".$this->tableprefix."defunt as defunt on devis.id_defunt = defunt.id - WHERE ligne_trajet.id_trajet = ? ORDER BY ligne_trajet.rang ASC;"; + WHERE ligne_trajet.id_trajet = ? ORDER BY ligne_trajet.date ASC , ligne_trajet.rang ASC;"; return $this->execSQL($sql, array($numtrajet)); } @@ -1292,7 +1292,7 @@ class Bdd { $this->insertTrajet($devis->id_thanato, $date_devis_split[1], $date_devis_split[0], $idNextcloud); $trajet = json_decode($this->getOneTrajet_byThanatoMonthYear($devis->id_thanato, $date_devis_split[1], $date_devis_split[0]))[0]; } - $devis->return_to_siege =true ; + $this->insertTrajetdetails_byDevis($trajet->id, $devis, $idNextcloud); if($devis->return_to_siege){ @@ -2139,7 +2139,9 @@ class Bdd { } public function insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$devisComment,$calendarUuid = self::DEFAULT_CALENDAR_UUID_FOR_DEVIS,$date = null,$idNextcloud = "admin" , $returnToSiege = false){ - + + $returnToSiege = $returnToSiege ? 1 : 0; + if($date == null){ $dateTime = new Datetime(); $date = $dateTime->format('Y-m-d'); @@ -2267,6 +2269,7 @@ class Bdd { devis.id_lieu as id_lieu, devis.id_client as id_client, devis.id_thanato as id_thanato, + devis.return_to_siege as return_to_siege, thanato.nom as nom_thanato, thanato.prenom as prenom_thanato, thanato.fk_thanato_type_key as fk_thanato_type_key, @@ -3554,6 +3557,7 @@ COMMENTAIRES: ".$comment; devis.id_lieu as id_lieu, devis.id_client as id_client, devis.id_thanato as id_thanato, + devis.return_to_siege as return_to_siege, thanato.nom as nom_thanato, thanato.prenom as prenom_thanato, defunt.nom as nom_defunt, diff --git a/gestion/lib/Service/ExportThanatoStatisticService.php b/gestion/lib/Service/ExportThanatoStatisticService.php index 2c67f30..232d3ee 100644 --- a/gestion/lib/Service/ExportThanatoStatisticService.php +++ b/gestion/lib/Service/ExportThanatoStatisticService.php @@ -176,6 +176,33 @@ class ExportThanatoStatisticService { return $fileContent; } + private function populateReturnToSiegeDataInToFileContent(string $fileContent , $devis){ + $fileContent = $fileContent. + ''.';'. + FileExportHelpers::FormatTextForExport($devis['nom_thanato'] . ' ' . $devis['prenom_thanatho']).';'. + FileExportHelpers::FormatTextForExport($devis["date"]).';'. + ''.';'. + ''.';'. + ''.';'. + ''.';'. + ''.';'. + ''.';'. + ''.';'. + ''.';'. + FileExportHelpers::FormatTextForExport('H2F').';'. + ''.';'. + ''.';'. + ''.';'. + "0.5H".';'. + ''.';'. + ''.';'. + ''.';'. + ''.';'. + ''.';'."\n"; + + return $fileContent; + } + public function populateExportDataIntoFileContent(array $exportData,string $fileContent): string{ foreach($exportData as $devisDate => $devisData){ $totalDevisHours = 0; @@ -216,6 +243,10 @@ class ExportThanatoStatisticService { if(!empty($devisList)){ foreach($devisList as $devis){ $fileContent = $this->populateDevisDataIntoThanatoExportFileContent($fileContent,$devis); + if ($devis['return_to_siege']) { + $fileContent = $this->populateReturnToSiegeDataInToFileContent($fileContent , $devis); + } + $totalDevisHours += $devis["totalHours"]; } }