From 5cf18b50dcf0b94d8a46d2e6bfbce06edba4494c Mon Sep 17 00:00:00 2001 From: Tiavina Date: Fri, 28 Mar 2025 16:47:58 +0300 Subject: [PATCH 1/3] Enhance exportThanatoStatistic method to include month and year parameters; refactor absence hour calculations for clarity --- gestion/lib/Controller/PageController.php | 2 +- gestion/lib/Service/ExportThanatoStatisticService.php | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gestion/lib/Controller/PageController.php b/gestion/lib/Controller/PageController.php index 55c08e9..88fe45c 100644 --- a/gestion/lib/Controller/PageController.php +++ b/gestion/lib/Controller/PageController.php @@ -2599,7 +2599,7 @@ class PageController extends Controller { * */ - public function exportThanatoStatistic($thanatoIdsToExport){ + public function exportThanatoStatistic($thanatoIdsToExport,$month,$year){ if(empty($thanatoIdsToExport)){ return ""; } diff --git a/gestion/lib/Service/ExportThanatoStatisticService.php b/gestion/lib/Service/ExportThanatoStatisticService.php index f3d33be..2c67f30 100644 --- a/gestion/lib/Service/ExportThanatoStatisticService.php +++ b/gestion/lib/Service/ExportThanatoStatisticService.php @@ -160,8 +160,8 @@ class ExportThanatoStatisticService { ''.';'. DateHelpers::getPublicHolidayText($leave['isPublicHoliday']).';'. $leaveValue.';'. - $diseaseValue.';'. $restValue.';'. + $diseaseValue.';'. ''.';'. ''.';'. ''.';'. @@ -203,7 +203,8 @@ class ExportThanatoStatisticService { } } } - $totalWorkedHours -= $totalLeaveHours - $totalRestHours - $totalDiseaseHours; + $totalAbsenceHours = $totalLeaveHours + $totalRestHours + $totalDiseaseHours; + $totalWorkedHours -= $totalAbsenceHours; } else{ $routeLines = $this->gestionBdd->getRouteLinesByDevisIdList($devisData["devisId"]); @@ -233,7 +234,8 @@ class ExportThanatoStatisticService { } } } - $totalWorkedHours -= $totalLeaveHours - $totalRestHours - $totalDiseaseHours; + $totalAbsenceHours = $totalLeaveHours + $totalRestHours + $totalDiseaseHours; + $totalWorkedHours -= $totalAbsenceHours; } $fileContent = $this->populateLastRecapForTheLine( $fileContent, From 8a368c838a1d8035b8411d40e796799894e96b26 Mon Sep 17 00:00:00 2001 From: Tiavina Date: Fri, 28 Mar 2025 17:02:04 +0300 Subject: [PATCH 2/3] Refactor message formatting in getDevisTalkRoomClientContent and update VCalendarHelpers to return datetime objects --- gestion/lib/Db/Bdd.php | 36 ++++++++++++++++-------- gestion/lib/Helpers/VCalendarHelpers.php | 2 ++ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/gestion/lib/Db/Bdd.php b/gestion/lib/Db/Bdd.php index 113776d..caf03e1 100644 --- a/gestion/lib/Db/Bdd.php +++ b/gestion/lib/Db/Bdd.php @@ -3273,7 +3273,7 @@ class Bdd { } private function getDevisTalkRoomClientContent($clientPrenom){ - $message = ". Pour PF: "; + $message = "Pour PF: "; $clientNameContent = "aucun"; $clientPrenomIsSet = $clientPrenom != null && $clientPrenom != "" && $clientPrenom != "-"; if($clientPrenomIsSet){ @@ -3295,8 +3295,16 @@ class Bdd { } $calendarData = $this->getCalendarDataByCalendarObjectUuid($devis->num); $devisTimeValue = VCalendarHelpers::GetStartAndEndTimeFromVCalendarString($calendarData); - $devis->startTime = $devisTimeValue["startTime"]; - $devis->endTime = $devisTimeValue["endTime"]; + $startTimeValueWithMinutes = ""; + $endTimeValueWithMinutes = ""; + if($devisTimeValue["datetimeStart"]){ + $startTimeValueWithMinutes = $devisTimeValue["datetimeStart"]->format('H\hi'); + } + if($devisTimeValue["datetimeEnd"]){ + $endTimeValueWithMinutes = $devisTimeValue["datetimeEnd"]->format('H\hi'); + } + $devis->startTime = $startTimeValueWithMinutes; + $devis->endTime = $endTimeValueWithMinutes; $devisProducts = $this->getDevisProduits($devisId); $devisProducts = json_encode($devisProducts); $devisProducts = json_decode($devisProducts); @@ -3308,7 +3316,7 @@ class Bdd { if(empty($devisProducts)){ return ""; } - $productMessage = ". ACTE A FAIRE : "; + $productMessage = "ACTE A FAIRE : "; foreach($devisProducts as $product){ $productMessage.= html_entity_decode($product->produit_reference).", "; } @@ -3326,19 +3334,24 @@ class Bdd { $devisDate = $devisDate->format('d/m/Y'); $message = "NOUVELLE INTERVENTION: "; $message .= html_entity_decode($devis->nom_defunt) . ' '; - $message .= 'le '.$devisDate. ' '; - $message .= 'à '.$devis->startTime. ' '; - $message .= 'à '.html_entity_decode($devis->lieu). ' '. html_entity_decode($devis->adresse_soin); + $message .= ' +le '.$devisDate; + $message .= ' à '.$devis->startTime. ' '; + $message .= ' +à '.html_entity_decode($devis->lieu). ' '. html_entity_decode($devis->adresse_soin); $clientMessageContent = $this->getDevisTalkRoomClientContent($devis->prenom); - $message .= $clientMessageContent; + $message .= ' +'.$clientMessageContent; $productMessage = $this->getDevisTalkRoomProductSectionMessage($devis->products); - $message .= $productMessage; + $message .= ' +'.$productMessage; $comment = "aucun"; if(strtolower($devis->comment) != "commentaire" && $devis->comment != ""){ $comment = html_entity_decode($devis->comment); } - $message .= ". COMMENTAIRES: ".$comment.". "; + $message .= " +COMMENTAIRES: ".$comment; $locationCodes = [ "Code portail" => $devis->portal_code, "Code alarme" => $devis->alarm_code, @@ -3353,7 +3366,8 @@ class Bdd { $locationCodeMessageContent .= $label. ": ".$value.". "; } $locationCodeMessageContent = trim($locationCodeMessageContent); - $message .= $locationCodeMessageContent; + $message .= ' +'.$locationCodeMessageContent; return $message; } diff --git a/gestion/lib/Helpers/VCalendarHelpers.php b/gestion/lib/Helpers/VCalendarHelpers.php index 9c0bcd3..2d977e7 100644 --- a/gestion/lib/Helpers/VCalendarHelpers.php +++ b/gestion/lib/Helpers/VCalendarHelpers.php @@ -53,6 +53,8 @@ class VCalendarHelpers $totalWorkedHours = DateHelpers::GetWorkingHoursBetweenDatetimeEndAndDatetimeStart($dateEnd,$dateStart); } return [ + "datetimeStart" => $dateStart, + "datetimeEnd" => $dateEnd, "startTime" => $startTimeValue, "endTime" => $endTimeValue, "totalHours" => $totalHours, From 102655c21e212e489adc1b474a83c343e861dff7 Mon Sep 17 00:00:00 2001 From: Tiavina Date: Fri, 28 Mar 2025 17:03:42 +0300 Subject: [PATCH 3/3] Add dateStart and dateEnd variables to VCalendarHelpers for improved date handling --- gestion/lib/Helpers/VCalendarHelpers.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gestion/lib/Helpers/VCalendarHelpers.php b/gestion/lib/Helpers/VCalendarHelpers.php index 2d977e7..cc09064 100644 --- a/gestion/lib/Helpers/VCalendarHelpers.php +++ b/gestion/lib/Helpers/VCalendarHelpers.php @@ -40,6 +40,8 @@ class VCalendarHelpers $endTimeValue = ""; $totalHours = 0; $totalWorkedHours = 0; + $dateStart = null; + $dateEnd = null; if($vCalendarString != ""){ $dateStart = self::GetDateStartOrDateEndFromVCalendarString("DTSTART", $vCalendarString); if($dateStart != null){