feat: Implement entity comparison logic for improved sync detection between EspoCRM and Advoware

This commit is contained in:
2026-02-07 19:41:20 +00:00
parent 9076688f58
commit 101f290293
3 changed files with 121 additions and 16 deletions

View File

@@ -64,6 +64,11 @@ class BeteiligteMapper:
hr_nummer = espo_entity.get('handelsregisterNummer')
if hr_nummer:
advo_data['handelsRegisterNummer'] = hr_nummer
# Registergericht
registergericht = espo_entity.get('registergericht')
if registergericht:
advo_data['registergericht'] = registergericht
# TODO: Weitere Stammdaten-Felder hier ergänzen (Steuernummer, etc.)
@@ -92,6 +97,7 @@ class BeteiligteMapper:
espo_data = {
'rechtsform': advo_entity.get('rechtsform', ''),
'betnr': advo_entity.get('betNr'), # Link zu Advoware
'advowareRowId': advo_entity.get('rowId'), # Änderungserkennung
}
# NAME: Person vs. Firma
@@ -123,6 +129,11 @@ class BeteiligteMapper:
hr_nummer = advo_entity.get('handelsRegisterNummer')
if hr_nummer:
espo_data['handelsregisterNummer'] = hr_nummer
# Registergericht
registergericht = advo_entity.get('registergericht')
if registergericht:
espo_data['registergericht'] = registergericht
# TODO: Weitere Stammdaten-Felder hier ergänzen
# HINWEIS: Kontaktdaten (Telefon, Email, Fax) werden über separate Endpoints gesynct
@@ -153,7 +164,8 @@ class BeteiligteMapper:
'name', 'firstName', 'lastName', 'firmenname',
'emailAddress', 'phoneNumber',
'dateOfBirth', 'rechtsform',
'handelsregisterNummer'
'handelsregisterNummer', 'handelsregisterArt', 'registergericht',
'betnr', 'advowareRowId'
]
for field in compare_fields: