Browse Source

fix(salaries): Préserve la date de sortie existante lors de la mise à jour des salariés désactivés

stany.ferer 1 week ago
parent
commit
1df6d4f709
1 changed files with 6 additions and 2 deletions
  1. 6 2
      core/class/salaries.class.php

+ 6 - 2
core/class/salaries.class.php

@@ -637,13 +637,17 @@ class salaries
                     $forSFTP["actif"] = 1;
                     $SFTP[$cp["forSFTP"]++] = $forSFTP;
                 } elseif ($salaries["log"] == "DISABLE") {
+                    // Récupérer la date de sortie existante pour ne pas l'écraser
+                    $existingSalarie = self::getSalarieByidLocal($salaries["idLocal"]);
+                    $dateJourSortie = (!empty($existingSalarie["jourSortie"])) ? $existingSalarie["jourSortie"] : $jourSortie;
+
                     db::query("UPDATE " . DB_T_SALARIES . " SET "
                         . "jourSortie = :jourSortie, "
                         . "maj = CURRENT_TIMESTAMP(), "
                         . "actif = :actif "
                         . "WHERE idLocal = :idLocal");
 
-                    db::bind(':jourSortie', $jourSortie);
+                    db::bind(':jourSortie', $dateJourSortie);
                     db::bind(':actif', 0);
                     db::bind(':idLocal', $salaries["idLocal"]);
 
@@ -659,7 +663,7 @@ class salaries
                     $forSFTP["loginId"] = $salaries["loginId"];
                     $forSFTP["contrat"] = $salaries["contrat"];
                     $forSFTP["jourEntree"] = $salaries["jourEntree"];
-                    $forSFTP["jourSortie"] = $jourSortie;
+                    $forSFTP["jourSortie"] = $dateJourSortie;
                     $forSFTP["repriseContrat"] = NULL;
                     $forSFTP["actif"] = 0;
                     $SFTP[$cp["forSFTP"]++] = $forSFTP;