feat: Enhance mapping logic in BeteiligteMapper for additional fields and improved comments
This commit is contained in:
@@ -33,11 +33,10 @@ class BeteiligteMapper:
|
|||||||
# Bestimme ob Person oder Firma (über firmenname-Feld)
|
# Bestimme ob Person oder Firma (über firmenname-Feld)
|
||||||
firmenname = espo_entity.get('firmenname')
|
firmenname = espo_entity.get('firmenname')
|
||||||
is_firma = bool(firmenname and firmenname.strip())
|
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 = {
|
advo_data = {
|
||||||
'rechtsform': rechtsform,
|
'rechtsform': espo_entity.get('rechtsform', ''),
|
||||||
}
|
}
|
||||||
|
|
||||||
# NAME: Person vs. Firma
|
# NAME: Person vs. Firma
|
||||||
@@ -50,28 +49,33 @@ class BeteiligteMapper:
|
|||||||
advo_data['name'] = espo_entity.get('lastName', '')
|
advo_data['name'] = espo_entity.get('lastName', '')
|
||||||
advo_data['vorname'] = espo_entity.get('firstName', '')
|
advo_data['vorname'] = espo_entity.get('firstName', '')
|
||||||
|
|
||||||
# ANREDE
|
# ANREDE & TITEL (funktionierende Felder)
|
||||||
salutation = espo_entity.get('salutationName', '')
|
salutation = espo_entity.get('salutationName')
|
||||||
if salutation:
|
if salutation:
|
||||||
advo_data['anrede'] = 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
|
# GEBURTSDATUM
|
||||||
date_of_birth = espo_entity.get('dateOfBirth')
|
date_of_birth = espo_entity.get('dateOfBirth')
|
||||||
if date_of_birth:
|
if date_of_birth:
|
||||||
advo_data['geburtsdatum'] = date_of_birth
|
advo_data['geburtsdatum'] = date_of_birth
|
||||||
|
|
||||||
# HANDELSREGISTER (nur für Firmen)
|
# HINWEIS: handelsRegisterNummer und registergericht funktionieren NICHT!
|
||||||
if is_firma:
|
# Advoware ignoriert diese Felder im PUT (trotz Swagger Schema)
|
||||||
hr_nummer = espo_entity.get('handelsregisterNummer')
|
# Siehe: docs/ADVOWARE_BETEILIGTE_FIELDS.md
|
||||||
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.)
|
|
||||||
|
|
||||||
logger.debug(f"Mapped to Advoware STAMMDATEN: name={advo_data.get('name')}, vorname={advo_data.get('vorname')}, rechtsform={rechtsform}")
|
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['firstName'] = None
|
||||||
espo_data['lastName'] = None
|
espo_data['lastName'] = None
|
||||||
|
|
||||||
# ANREDE
|
# ANREDE & TITEL
|
||||||
anrede = advo_entity.get('anrede')
|
anrede = advo_entity.get('anrede')
|
||||||
if anrede:
|
if anrede:
|
||||||
espo_data['salutationName'] = 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
|
||||||
geburtsdatum = advo_entity.get('geburtsdatum')
|
geburtsdatum = advo_entity.get('geburtsdatum')
|
||||||
if geburtsdatum:
|
if geburtsdatum:
|
||||||
espo_data['dateOfBirth'] = geburtsdatum
|
espo_data['dateOfBirth'] = geburtsdatum
|
||||||
|
|
||||||
# HANDELSREGISTER (nur für Firmen)
|
# HINWEIS: handelsRegisterNummer und registergericht werden NICHT gemappt
|
||||||
if not is_person:
|
# Advoware ignoriert diese Felder im PUT (trotz Swagger Schema)
|
||||||
hr_nummer = advo_entity.get('handelsRegisterNummer')
|
# Siehe: docs/ADVOWARE_BETEILIGTE_FIELDS.md
|
||||||
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
|
|
||||||
|
|
||||||
logger.debug(f"Mapped to EspoCRM STAMMDATEN: name={espo_data.get('name')}")
|
logger.debug(f"Mapped to EspoCRM STAMMDATEN: name={espo_data.get('name')}")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user