Refactor CreateAdvowareAkte and SyncAdvowareAkte to synchronize only Aktennummer; update localization keys for advowareAktenzeichen; adjust microtime values in config and state files
This commit is contained in:
@@ -83,17 +83,14 @@ class CreateAdvowareAkte implements AfterSave
|
||||
|
||||
private function createNewAkte(Entity $kuendigung): void
|
||||
{
|
||||
// Hole oder generiere Aktennummer
|
||||
// Hole Aktennummer aus Kündigung (falls vorhanden)
|
||||
$aktennummer = $kuendigung->get('aktennr');
|
||||
if (!$aktennummer) {
|
||||
$aktennummer = time();
|
||||
}
|
||||
|
||||
// Hole oder generiere Aktenzeichen
|
||||
$aktenzeichen = $kuendigung->get('advowareAktenzeichen');
|
||||
if (!$aktenzeichen) {
|
||||
$aktenzeichen = 'AZ-' . date('Y-m-d-His');
|
||||
}
|
||||
// Generiere Aktenzeichen (wird in CAdvowareAkten gespeichert)
|
||||
$aktenzeichen = 'AZ-' . date('Y-m-d-His');
|
||||
|
||||
// Erstelle AdvowareAkte
|
||||
$akteData = [
|
||||
@@ -117,8 +114,11 @@ class CreateAdvowareAkte implements AfterSave
|
||||
$kuendigung->set('advowareAktenId', $akte->getId());
|
||||
$this->entityManager->saveEntity($kuendigung, ['silent' => true, 'skipHooks' => true]);
|
||||
|
||||
// Synchronisiere Aktennummer zurück zur Kündigung
|
||||
$this->syncAktennummer($kuendigung, $akte);
|
||||
// Synchronisiere Aktennummer zurück zur Kündigung (falls leer war)
|
||||
if (!$kuendigung->get('aktennr') && $akte->get('aktennummer')) {
|
||||
$kuendigung->set('aktennr', $akte->get('aktennummer'));
|
||||
$this->entityManager->saveEntity($kuendigung, ['silent' => true, 'skipHooks' => true]);
|
||||
}
|
||||
|
||||
$GLOBALS['log']->info("CKuendigung CreateAdvowareAkte: Created new AdvowareAkte: {$akte->getId()}");
|
||||
} else {
|
||||
@@ -128,21 +128,11 @@ class CreateAdvowareAkte implements AfterSave
|
||||
|
||||
private function syncAktennummer(Entity $kuendigung, Entity $akte): void
|
||||
{
|
||||
$needsUpdate = false;
|
||||
|
||||
// Synchronisiere nur Aktennummer (nicht Aktenzeichen, das ist in der Beziehung)
|
||||
if (!$kuendigung->get('aktennr') && $akte->get('aktennummer')) {
|
||||
$kuendigung->set('aktennr', $akte->get('aktennummer'));
|
||||
$needsUpdate = true;
|
||||
}
|
||||
|
||||
if (!$kuendigung->get('advowareAktenzeichen') && $akte->get('aktenzeichen')) {
|
||||
$kuendigung->set('advowareAktenzeichen', $akte->get('aktenzeichen'));
|
||||
$needsUpdate = true;
|
||||
}
|
||||
|
||||
if ($needsUpdate) {
|
||||
$this->entityManager->saveEntity($kuendigung, ['silent' => true, 'skipHooks' => true]);
|
||||
$GLOBALS['log']->info("CKuendigung CreateAdvowareAkte: Synchronized Aktennummer/Aktenzeichen");
|
||||
$GLOBALS['log']->info("CKuendigung CreateAdvowareAkte: Synchronized Aktennummer");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,22 +62,14 @@ class SyncAdvowareAkte implements AfterRelate
|
||||
// Verknüpfe AdvowareAkte mit Kündigung (belongsTo relationship - set field directly)
|
||||
$entity->set('advowareAktenId', $advowareAkteId);
|
||||
|
||||
// Synchronisiere Aktennummer und Aktenzeichen
|
||||
$needsUpdate = false;
|
||||
|
||||
// Synchronisiere nur Aktennummer (Aktenzeichen kommt über Beziehung)
|
||||
if (!$entity->get('aktennr') && $advowareAkte->get('aktennummer')) {
|
||||
$entity->set('aktennr', $advowareAkte->get('aktennummer'));
|
||||
$needsUpdate = true;
|
||||
}
|
||||
|
||||
if (!$entity->get('advowareAktenzeichen') && $advowareAkte->get('aktenzeichen')) {
|
||||
$entity->set('advowareAktenzeichen', $advowareAkte->get('aktenzeichen'));
|
||||
$needsUpdate = true;
|
||||
}
|
||||
|
||||
// Save once with all changes
|
||||
$this->entityManager->saveEntity($entity, ['silent' => true, 'skipHooks' => true]);
|
||||
$GLOBALS['log']->info("CKuendigung SyncAdvowareAkte: Successfully linked AdvowareAkte and synchronized fields to Kündigung");
|
||||
$GLOBALS['log']->info("CKuendigung SyncAdvowareAkte: Successfully linked AdvowareAkte and synchronized Aktennummer to Kündigung");
|
||||
}
|
||||
} else {
|
||||
$GLOBALS['log']->info("CKuendigung SyncAdvowareAkte: Räumungsklage {$foreignEntity->getId()} has no AdvowareAkte yet");
|
||||
|
||||
Reference in New Issue
Block a user