Refactor AdvowareAkte ↔ CDokumente relationship from junction table to direct n:1 relationship

- Removed CAdvowareAktenCDokumente junction table and associated service.
- Updated CDokumente entity to include foreign key cAdvowareAktenId and related fields.
- Changed relationship in CDokumente from hasMany to belongsTo.
- Updated CAdvowareAkten to reflect new direct relationship.
- Implemented CDokumente service with duplicateDocument method for document duplication.
- Refactored hooks to support new relationship and document propagation.
- Removed obsolete API routes related to the junction table.
- Added i18n translations for new fields and updated tooltips.
- Document flow and auto-linking logic enhanced for better integration with Advoware.
- Validation checks passed, and no data migration needed.
This commit is contained in:
2026-03-23 20:36:10 +01:00
parent 0b829e9dfe
commit 22665948e4
22 changed files with 689 additions and 773 deletions

View File

@@ -61,35 +61,52 @@
"isCustom": true,
"tooltip": true
},
"cAdvowareAktenId": {
"type": "varchar",
"len": 17,
"index": true,
"isCustom": true
},
"cAdvowareAktenName": {
"type": "varchar",
"isCustom": true
},
"hnr": {
"type": "int",
"tooltip": true,
"isCustom": true
},
"syncStatus": {
"type": "enum",
"options": [
"new",
"unclean",
"synced",
"failed",
"unsupported"
],
"style": {
"new": "info",
"unclean": "warning",
"synced": "success",
"failed": "danger",
"unsupported": "default"
},
"default": "new",
"tooltip": true,
"isCustom": true
},
"syncedHash": {
"type": "varchar",
"len": 64,
"tooltip": true,
"isCustom": true
},
"puls": {
"type": "link",
"entity": "CPuls",
"isCustom": true
},
"advowareAktenHnr": {
"type": "int",
"notStorable": true,
"utility": true,
"layoutAvailabilityList": [
"listForAdvowareAkten"
]
},
"advowareAktenSyncstatus": {
"type": "varchar",
"notStorable": true,
"utility": true,
"layoutAvailabilityList": [
"listForAdvowareAkten"
]
},
"advowareAktenLastSync": {
"type": "datetime",
"notStorable": true,
"utility": true,
"layoutAvailabilityList": [
"listForAdvowareAkten"
]
},
"aiKnowledgeAiDocumentId": {
"type": "varchar",
"notStorable": true,
@@ -216,18 +233,12 @@
"audited": false,
"isCustom": true
},
"advowareAktens": {
"type": "hasMany",
"relationName": "cAdvowareAktenDokumente",
"cAdvowareAkten": {
"type": "belongsTo",
"foreign": "dokumentes",
"entity": "CAdvowareAkten",
"audited": false,
"isCustom": true,
"columnAttributeMap": {
"hnr": "advowareAktenHnr",
"syncstatus": "advowareAktenSyncstatus",
"lastSync": "advowareAktenLastSync"
}
"audited": true,
"isCustom": true
},
"aIKnowledges": {
"type": "hasMany",