feat: Update dateOfBirth mapping and enhance rowId handling in sync process for Beteiligte
This commit is contained in:
@@ -140,10 +140,11 @@ class BeteiligteMapper:
|
|||||||
if zusatz:
|
if zusatz:
|
||||||
espo_data['zusatz'] = zusatz
|
espo_data['zusatz'] = zusatz
|
||||||
|
|
||||||
# GEBURTSDATUM
|
# GEBURTSDATUM (nur Datum-Teil ohne Zeit)
|
||||||
geburtsdatum = advo_entity.get('geburtsdatum')
|
geburtsdatum = advo_entity.get('geburtsdatum')
|
||||||
if geburtsdatum:
|
if geburtsdatum:
|
||||||
espo_data['dateOfBirth'] = geburtsdatum
|
# Advoware gibt '2001-01-05T00:00:00', EspoCRM will nur '2001-01-05'
|
||||||
|
espo_data['dateOfBirth'] = geburtsdatum.split('T')[0] if 'T' in geburtsdatum else geburtsdatum
|
||||||
|
|
||||||
# HINWEIS: handelsRegisterNummer und registergericht werden NICHT gemappt
|
# HINWEIS: handelsRegisterNummer und registergericht werden NICHT gemappt
|
||||||
# Advoware ignoriert diese Felder im PUT (trotz Swagger Schema)
|
# Advoware ignoriert diese Felder im PUT (trotz Swagger Schema)
|
||||||
@@ -151,6 +152,9 @@ class BeteiligteMapper:
|
|||||||
|
|
||||||
logger.debug(f"Mapped to EspoCRM STAMMDATEN: name={espo_data.get('name')}")
|
logger.debug(f"Mapped to EspoCRM STAMMDATEN: name={espo_data.get('name')}")
|
||||||
|
|
||||||
|
# WICHTIG: Entferne None-Werte (EspoCRM mag keine expliziten None bei required fields)
|
||||||
|
espo_data = {k: v for k, v in espo_data.items() if v is not None}
|
||||||
|
|
||||||
return espo_data
|
return espo_data
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|||||||
@@ -259,6 +259,13 @@ async def handle_update(entity_id, betnr, espo_entity, espocrm, advoware, sync_u
|
|||||||
elif isinstance(put_result, dict):
|
elif isinstance(put_result, dict):
|
||||||
new_rowid = put_result.get('rowId')
|
new_rowid = put_result.get('rowId')
|
||||||
|
|
||||||
|
# Schreibe neue rowId zurück nach EspoCRM
|
||||||
|
if new_rowid:
|
||||||
|
await espocrm.update_entity('CBeteiligte', entity_id, {
|
||||||
|
'advowareRowId': new_rowid
|
||||||
|
})
|
||||||
|
context.logger.info(f"📝 rowId in EspoCRM aktualisiert: {new_rowid[:20]}...")
|
||||||
|
|
||||||
await sync_utils.release_sync_lock(
|
await sync_utils.release_sync_lock(
|
||||||
entity_id,
|
entity_id,
|
||||||
'clean',
|
'clean',
|
||||||
|
|||||||
2
bitbylaw/types.d.ts
vendored
2
bitbylaw/types.d.ts
vendored
@@ -12,7 +12,7 @@ declare module 'motia' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface Handlers {
|
interface Handlers {
|
||||||
'VMH Beteiligte Sync': EventHandler<never, never>
|
'VMH Beteiligte Sync Handler': EventHandler<never, never>
|
||||||
'VMH Webhook Beteiligte Update': ApiRouteHandler<Record<string, unknown>, unknown, { topic: 'vmh.beteiligte.update'; data: never }>
|
'VMH Webhook Beteiligte Update': ApiRouteHandler<Record<string, unknown>, unknown, { topic: 'vmh.beteiligte.update'; data: never }>
|
||||||
'VMH Webhook Beteiligte Delete': ApiRouteHandler<Record<string, unknown>, unknown, { topic: 'vmh.beteiligte.delete'; data: never }>
|
'VMH Webhook Beteiligte Delete': ApiRouteHandler<Record<string, unknown>, unknown, { topic: 'vmh.beteiligte.delete'; data: never }>
|
||||||
'VMH Webhook Beteiligte Create': ApiRouteHandler<Record<string, unknown>, unknown, { topic: 'vmh.beteiligte.create'; data: never }>
|
'VMH Webhook Beteiligte Create': ApiRouteHandler<Record<string, unknown>, unknown, { topic: 'vmh.beteiligte.create'; data: never }>
|
||||||
|
|||||||
Reference in New Issue
Block a user