feat: Enhance mapping logic in BeteiligteMapper for additional fields and improved comments

This commit is contained in:
2026-02-07 21:36:50 +00:00
parent f3d41dbb7f
commit 99fb2e22c7

View File

@@ -33,11 +33,10 @@ class BeteiligteMapper:
# Bestimme ob Person oder Firma (über firmenname-Feld)
firmenname = espo_entity.get('firmenname')
is_firma = bool(firmenname and firmenname.strip())
rechtsform = espo_entity.get('rechtsform', '')
# Basis-Struktur (nur Stammdaten, keine Kontaktdaten!)
# Basis-Struktur (nur die 8 funktionierenden Felder!)
advo_data = {
'rechtsform': rechtsform,
'rechtsform': espo_entity.get('rechtsform', ''),
}
# NAME: Person vs. Firma
@@ -50,28 +49,33 @@ class BeteiligteMapper:
advo_data['name'] = espo_entity.get('lastName', '')
advo_data['vorname'] = espo_entity.get('firstName', '')
# ANREDE
salutation = espo_entity.get('salutationName', '')
# ANREDE & TITEL (funktionierende Felder)
salutation = espo_entity.get('salutationName')
if salutation:
advo_data['anrede'] = salutation
titel = espo_entity.get('titel')
if titel:
advo_data['titel'] = titel
# BRIEFANREDE (bAnrede)
brief_anrede = espo_entity.get('briefAnrede')
if brief_anrede:
advo_data['bAnrede'] = brief_anrede
# ZUSATZ
zusatz = espo_entity.get('zusatz')
if zusatz:
advo_data['zusatz'] = zusatz
# GEBURTSDATUM
date_of_birth = espo_entity.get('dateOfBirth')
if date_of_birth:
advo_data['geburtsdatum'] = date_of_birth
# HANDELSREGISTER (nur für Firmen)
if is_firma:
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.)
# HINWEIS: handelsRegisterNummer und registergericht funktionieren NICHT!
# Advoware ignoriert diese Felder im PUT (trotz Swagger Schema)
# Siehe: docs/ADVOWARE_BETEILIGTE_FIELDS.md
logger.debug(f"Mapped to Advoware STAMMDATEN: name={advo_data.get('name')}, vorname={advo_data.get('vorname')}, rechtsform={rechtsform}")
@@ -117,29 +121,33 @@ class BeteiligteMapper:
espo_data['firstName'] = None
espo_data['lastName'] = None
# ANREDE
# ANREDE & TITEL
anrede = advo_entity.get('anrede')
if anrede:
espo_data['salutationName'] = anrede
titel = advo_entity.get('titel')
if titel:
espo_data['titel'] = titel
# BRIEFANREDE
b_anrede = advo_entity.get('bAnrede')
if b_anrede:
espo_data['briefAnrede'] = b_anrede
# ZUSATZ
zusatz = advo_entity.get('zusatz')
if zusatz:
espo_data['zusatz'] = zusatz
# GEBURTSDATUM
geburtsdatum = advo_entity.get('geburtsdatum')
if geburtsdatum:
espo_data['dateOfBirth'] = geburtsdatum
# HANDELSREGISTER (nur für Firmen)
if not is_person:
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
# HINWEIS: handelsRegisterNummer und registergericht werden NICHT gemappt
# Advoware ignoriert diese Felder im PUT (trotz Swagger Schema)
# Siehe: docs/ADVOWARE_BETEILIGTE_FIELDS.md
logger.debug(f"Mapped to EspoCRM STAMMDATEN: name={espo_data.get('name')}")