Browse Source

fix(proweb): Améliore la validation des dates de sortie et ajuste la gestion des valeurs vides

stany.ferer 1 week ago
parent
commit
c47e753f79
1 changed files with 6 additions and 4 deletions
  1. 6 4
      core/class/proweb.class.php

+ 6 - 4
core/class/proweb.class.php

@@ -135,9 +135,11 @@ class proweb
         } else {
             $_return["loginIdRH"] = (empty($verifRH["loginId"]) or $verifRH["loginId"] == $_return["loginId"]) ? NULL : $verifRH["loginId"];
             $_return["jourEntreeRH"] = (empty($verifRH["jourEntree"]) or self::convertDateMoisAnJour($verifRH["jourEntree"]) == $_return["jourEntree"]) ? NULL : self::convertDateMoisAnJour($verifRH["jourEntree"]);
-            // Utiliser !empty() au lieu de isset() pour vérifier si jourSortie a une valeur non-nulle
-            $_return["jourSortie"] = (!empty($verifRH["jourSortie"])) ? $verifRH["jourSortie"] : $_return["jourSortie"];
-            $_return["RHBase"] = (!empty($verifRH["jourSortie"]) or empty($verifRH["id"])) ? 0 : 1;
+            // Vérifier si jourSortie est une vraie date valide (pas NULL, pas vide, pas 0000-00-00)
+            $jourSortieRH = $verifRH["jourSortie"] ?? null;
+            $isValidJourSortie = !empty($jourSortieRH) && $jourSortieRH !== "0000-00-00" && $jourSortieRH !== "0000-00-00 00:00:00" && strpos($jourSortieRH, "0000") !== 0;
+            $_return["jourSortie"] = $isValidJourSortie ? $jourSortieRH : $_return["jourSortie"];
+            $_return["RHBase"] = ($isValidJourSortie or empty($verifRH["id"])) ? 0 : 1;
             $_return["actif"] = ($_return["meyclubSubv"] == 1 or $_return["meyclubAccess"] == 1 or $_return["Webaccess"] == 1) ? 1 : 0;
             $_return["contrat"] = (isset($verifRH["contrat"])) ? $verifRH["contrat"] : 0;
 
@@ -239,7 +241,7 @@ class proweb
      */
     private static function archiveExcelValuesDate(string $_string)
     {
-        if (!isset($_string) or $_string == "00-00-0000") {
+        if (!isset($_string) or $_string == "00-00-0000" or $_string == "" or empty($_string)) {
             return "N/A";
         } else {
             return str_replace(" 00:00:00", "", $_string);