diff --git a/src/State/WorkHourBulkUpsertProcessor.php b/src/State/WorkHourBulkUpsertProcessor.php index 62d99bf..3bd9551 100644 --- a/src/State/WorkHourBulkUpsertProcessor.php +++ b/src/State/WorkHourBulkUpsertProcessor.php @@ -125,6 +125,14 @@ final readonly class WorkHourBulkUpsertProcessor implements ProcessorInterface continue; } + // Si aucune donnée n'a changé, on ne touche pas la ligne: + // cela évite de perdre les validations existantes (site/RH) sur un simple enregistrement. + if (null !== $existing && $this->isSameAsExisting($existing, $normalized)) { + ++$result->processed; + + continue; + } + if ($this->isEntryEmpty($normalized)) { // Convention choisie: une ligne vide supprime l'enregistrement existant. if ($existing) {