From 0ef78e6a22fac9964ea448f5fa94d0d371ffbc71 Mon Sep 17 00:00:00 2001 From: Thorsten Schmitz Date: Fri, 4 Sep 2026 02:01:40 +0200 Subject: [PATCH] Correct export of Delivery Unit EON_CRM_CONTRACT (24 files, replaces incomplete initial export) --- uniorg/eon/crm/contract/v1/post-contract.xsjs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/uniorg/eon/crm/contract/v1/post-contract.xsjs b/uniorg/eon/crm/contract/v1/post-contract.xsjs index af1c327..4b7c343 100644 --- a/uniorg/eon/crm/contract/v1/post-contract.xsjs +++ b/uniorg/eon/crm/contract/v1/post-contract.xsjs @@ -24,7 +24,7 @@ var groupcode_b2m = 103; var cmpprivate_b2c = "cPrivate"; var cmpprivate_b2b = "cCompany"; var cmpprivate_b2m = "cCompany"; -var service_version = '5.9'; +var service_version = '6.0'; // 03.11.2020 U_ORDER_ID (262) // last changes: 31.03.2020 eoperate Felder // Mapping Verträge 19.05.2020 @@ -52,6 +52,7 @@ var service_version = '5.9'; //28.01.2026 PFT-1233: MBV - Erweiterung von Contract-API und E.ON Vertrag um "rechnungsbegleitende Unterlagen" //02.02.2026 PFT-1340 / PFT-590: Validierung Project/PSP und ItemCode //05.03.2026 PFT-1565: Chargepoints ohne Text1 sollen entfernt werden +//03.09.2026 PFT-2394: KFZ-Kennzeichen auf Vertragsparameter umstellen var debugLevel = 0; switch ($.request.parameters.get("debug")) { @@ -672,7 +673,10 @@ function buildContractObj(InObj, SBOOBJ, billingMode, attachmentsObj) { // EVDRIVERS Collection UDOObj.EON_CONTRACT_EVDRVCollection = []; - + + // prüfen, ob es mindestens einen EV-Driver Parameter mit KFZ-Kennzeichen gibt + var licensePlateInParamsExists = Boolean(InObj.ev_drivers && InObj.ev_drivers.findIndex(function(evd) {return Boolean(evd.parameters && evd.parameters.findIndex(function(param) {return Boolean(param.license_plate);}) > -1);}) > -1); + for (var g in SBOOBJ.EON_CONTRACT_EVDRVCollection) { var myEVDRV = {}; // copy existing @@ -687,7 +691,13 @@ function buildContractObj(InObj, SBOOBJ, billingMode, attachmentsObj) { myEVDRV.U_FIRSTNAME = (InObj.ev_drivers[h].firstname === null) ? myEVDRV.U_FIRSTNAME : InObj.ev_drivers[h].firstname; myEVDRV.U_LASTNAME = (InObj.ev_drivers[h].lastname === null) ? myEVDRV.U_LASTNAME : InObj.ev_drivers[h].lastname; // myParam.U_EMAIL = (InObj.ev_drivers[h].email === null) ? myEVDRV.U_EMAIL : InObj.ev_drivers[h].email; - myEVDRV.U_LICENSE_PLATE = (InObj.ev_drivers[h].license_plate === null) ? myEVDRV.U_LICENSE_PLATE : InObj.ev_drivers[h].license_plate; + // wenn eine license_plate in ev_driver.params gefüllt ist, müssen alte license_plate Werte unter EV-Driver entfernt werden + if (licensePlateInParamsExists) { + myEVDRV.U_LICENSE_PLATE = ""; + } + else { + myEVDRV.U_LICENSE_PLATE = (InObj.ev_drivers[h].license_plate === null) ? myEVDRV.U_LICENSE_PLATE : InObj.ev_drivers[h].license_plate; + } myEVDRV.U_VIRTA_ID = (InObj.ev_drivers[h].virta_id === null) ? myEVDRV.U_VIRTA_ID : InObj.ev_drivers[h].virta_id; myEVDRV.U_VIRTA_VALID_FROM = (InObj.ev_drivers[h].virta_valid_from === null) ? myEVDRV.U_VIRTA_VALID_FROM : InObj.ev_drivers[h].virta_valid_from; myEVDRV.U_VIRTA_VALID_TO = (InObj.ev_drivers[h].virta_valid_to === null) ? myEVDRV.U_VIRTA_VALID_TO : InObj.ev_drivers[h].virta_valid_to; @@ -781,6 +791,7 @@ function buildContractObj(InObj, SBOOBJ, billingMode, attachmentsObj) { InObj.ev_drivers[h].parameters[j].valid_to; //myParam.U_ITEM=SBOOBJ.EON_CONTRACT_PARAMCollection[g].U_ITEM; myParam2.U_DATA_TEXT3 = (InObj.ev_drivers[h].ev_driverid === null) ? myParam2.U_DATA_TEXT3 : InObj.ev_drivers[h].ev_driverid; + myParam2.U_LICENSE_PLATE = (InObj.ev_drivers[h].parameters[j].license_plate === null) ? myParam2.U_LICENSE_PLATE : InObj.ev_drivers[h].parameters[j].license_plate; break loopEVDriversInObj; } } @@ -913,6 +924,7 @@ function buildContractObj(InObj, SBOOBJ, billingMode, attachmentsObj) { myParam3.U_VALID_FROM = InObj.ev_drivers[h].parameters[k].valid_from; myParam3.U_VALID_TO = InObj.ev_drivers[h].parameters[k].valid_to; myParam3.U_DATA_TEXT3 = InObj.ev_drivers[h].ev_driverid; + myParam3.U_LICENSE_PLATE = InObj.ev_drivers[h].parameters[k].license_plate; //myParam.U_ITEM=""; UDOObj.EON_CONTRACT_PARAMCollection.push(myParam3);