Update sync status handling in UpdateJunctionSyncStatus hook; enforce required aiProvider field in CAkten entity; adjust microtime values in config and state files
This commit is contained in:
@@ -61,20 +61,24 @@ class UpdateJunctionSyncStatus implements AfterSave, AfterRemove
|
||||
}
|
||||
|
||||
// Fall 3: Relevante Feldänderungen (Datei, Name, Beschreibung, …)
|
||||
if (!$this->hasRelevantChanges($entity)) {
|
||||
if ($this->hasRelevantChanges($entity)) {
|
||||
if (!$entity->get('cAktenId')) {
|
||||
return;
|
||||
}
|
||||
$entity->set('syncStatus', 'unclean');
|
||||
$entity->set('aiSyncStatus', 'unclean');
|
||||
$entity->set('aiParsingStatus', 'unknown');
|
||||
$this->entityManager->saveEntity($entity, ['silent' => true, 'skipHooks' => true]);
|
||||
$this->triggerAkteUpdate($entity->get('cAktenId'));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$entity->get('cAktenId')) {
|
||||
return;
|
||||
// Fall 4: aiParsingStatus geändert (z.B. durch externen Parsing-Service)
|
||||
// → Akte neu berechnen, aber KEIN unclean setzen (Inhalt ist unverändert)
|
||||
if ($entity->isAttributeChanged('aiParsingStatus') && $entity->get('cAktenId')) {
|
||||
$this->triggerAkteUpdate($entity->get('cAktenId'));
|
||||
}
|
||||
|
||||
$entity->set('syncStatus', 'unclean');
|
||||
$entity->set('aiSyncStatus', 'unclean');
|
||||
$entity->set('aiParsingStatus', 'unknown');
|
||||
$this->entityManager->saveEntity($entity, ['silent' => true, 'skipHooks' => true]);
|
||||
$this->triggerAkteUpdate($entity->get('cAktenId'));
|
||||
|
||||
} catch (\Exception $e) {
|
||||
$GLOBALS['log']->error('CDokumente UpdateJunctionSyncStatus afterSave Error: ' . $e->getMessage());
|
||||
}
|
||||
|
||||
@@ -171,13 +171,18 @@
|
||||
},
|
||||
"aiProvider": {
|
||||
"type": "enum",
|
||||
"required": false,
|
||||
"required": true,
|
||||
"options": [
|
||||
"ragflow",
|
||||
"xai"
|
||||
],
|
||||
"default": "ragflow",
|
||||
"isCustom": true
|
||||
"isCustom": true,
|
||||
"style": {
|
||||
"ragflow": null,
|
||||
"xai": null
|
||||
},
|
||||
"audited": true
|
||||
},
|
||||
"globalSyncStatus": {
|
||||
"type": "enum",
|
||||
@@ -233,9 +238,10 @@
|
||||
"complete_with_failures": "warning"
|
||||
},
|
||||
"default": "unknown",
|
||||
"readOnly": true,
|
||||
"readOnly": false,
|
||||
"tooltip": true,
|
||||
"isCustom": true
|
||||
"isCustom": true,
|
||||
"audited": true
|
||||
},
|
||||
"graphParsingStatus": {
|
||||
"type": "enum",
|
||||
|
||||
Reference in New Issue
Block a user