From b29903c6444e1e99ca6ee437e53ffd510b9d7f9d Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 29 Dec 2021 20:05:26 -0800 Subject: [PATCH 1/2] Cherrypick CDK Fixes. --- server/cdk/cdk-job-export.js | 85 +++++++++++++++++++++--------------- 1 file changed, 51 insertions(+), 34 deletions(-) diff --git a/server/cdk/cdk-job-export.js b/server/cdk/cdk-job-export.js index 497021805..9fe9ca92d 100644 --- a/server/cdk/cdk-job-export.js +++ b/server/cdk/cdk-job-export.js @@ -96,6 +96,7 @@ exports.default = async function (socket, { txEnvelope, jobid }) { async function CdkSelectedCustomer(socket, selectedCustomerId) { try { + socket.selectedCustomerId = selectedCustomerId; if (selectedCustomerId) { CdkBase.createLogEvent( socket, @@ -282,7 +283,12 @@ async function CalculateDmsVid(socket, JobData) { )}` ); CheckCdkResponseForError(socket, soapResponseVehicleInsertUpdate); - return result && result.return && result.return[0]; + + //if (result && result.return && result.return.length > 1) { + return result.return.find((r) => r.vehiclesVehId); + //} + + //return result && result.return && result.return[0]; } catch (error) { CdkBase.createXmlEvent( socket, @@ -605,7 +611,7 @@ async function InsertDmsCustomer(socket, newCustomerNumber) { contactInfo: { mainTelephoneNumber: { main: true, - value: socket.JobData.ownr_ph1, + value: socket.JobData.ownr_ph1.replace(replaceSpecialRegex, ""), }, email: { desc: socket.JobData.ownr_ea ? "Other" : "CustomerDeclined", @@ -773,45 +779,56 @@ async function UpdateDmsVehicle(socket) { let ids = []; - const existingOwnerinVeh = - socket.DMSVeh && - socket.DMSVeh.owners && - socket.DMSVeh.owners.find((o) => o.id.value === socket.DMSCust.id.value); + //if it's a generic customer, don't update the vehicle owners. - if (existingOwnerinVeh) { - ids = socket.DMSVeh.owners.map((o) => { - return { - id: { - assigningPartyId: - o.id.value === socket.DMSCust.id.value ? "CURRENT" : "PREVIOUS", - value: o.id.value, - }, - }; - }); + if ( + socket.selectedCustomerId === + socket.JobData.bodyshop.cdk_configuration.generic_customer_number + ) { + ids = socket.DMSVeh && socket.DMSVeh.owners && socket.DMSVeh.owners; } else { - const oldOwner = + const existingOwnerinVeh = socket.DMSVeh && socket.DMSVeh.owners && - socket.DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT"); + socket.DMSVeh.owners.find( + (o) => o.id.value === socket.DMSCust.id.value + ); - ids = [ - { - id: { - assigningPartyId: "CURRENT", - value: socket.DMSCust.id.value, + if (existingOwnerinVeh) { + ids = socket.DMSVeh.owners.map((o) => { + return { + id: { + assigningPartyId: + o.id.value === socket.DMSCust.id.value ? "CURRENT" : "PREVIOUS", + value: o.id.value, + }, + }; + }); + } else { + const oldOwner = + socket.DMSVeh && + socket.DMSVeh.owners && + socket.DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT"); + + ids = [ + { + id: { + assigningPartyId: "CURRENT", + value: socket.DMSCust.id.value, + }, }, - }, - ...(oldOwner - ? [ - { - id: { - assigningPartyId: "PREVIOUS", - value: oldOwner.id.value, + ...(oldOwner + ? [ + { + id: { + assigningPartyId: "PREVIOUS", + value: oldOwner.id.value, + }, }, - }, - ] - : []), - ]; + ] + : []), + ]; + } } const soapResponseVehicleInsertUpdate = From ebde2516b7abcd490a6012357103ea2e7718ee69 Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 29 Dec 2021 21:55:02 -0800 Subject: [PATCH 2/2] Expose in service date for CDK. --- bodyshop_translations.babel | 21 +++++++++++++++++++ .../dms-post-form/dms-post-form.component.jsx | 9 ++++++++ client/src/translations/en_us/common.json | 1 + client/src/translations/es/common.json | 1 + client/src/translations/fr/common.json | 1 + server/cdk/cdk-job-export.js | 20 +++++++++++++----- 6 files changed, 48 insertions(+), 5 deletions(-) diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index c6fbd2117..263f5d6fc 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -20474,6 +20474,27 @@ + + inservicedate + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + journal false diff --git a/client/src/components/dms-post-form/dms-post-form.component.jsx b/client/src/components/dms-post-form/dms-post-form.component.jsx index 44b1f86fb..bcd31e5be 100644 --- a/client/src/components/dms-post-form/dms-post-form.component.jsx +++ b/client/src/components/dms-post-form/dms-post-form.component.jsx @@ -2,6 +2,7 @@ import { DeleteFilled, DownOutlined } from "@ant-design/icons"; import { Button, Card, + DatePicker, Divider, Dropdown, Form, @@ -24,6 +25,7 @@ import DmsCdkMakes from "../dms-cdk-makes/dms-cdk-makes.component"; import DmsCdkMakesRefetch from "../dms-cdk-makes/dms-cdk-makes.refetch.component"; import CurrencyInput from "../form-items-formatted/currency-form-item.component"; import LayoutFormRow from "../layout-form-row/layout-form-row.component"; +import moment from "moment"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, @@ -82,6 +84,7 @@ export function DmsPostForm({ bodyshop, socket, job, logsRef }) { ro_number: job.ro_number, area_of_damage: job.area_of_damage && job.area_of_damage.impact1, }).substr(0, 239), + inservicedate: moment("2019-01-01"), }} > @@ -154,6 +157,12 @@ export function DmsPostForm({ bodyshop, socket, job, logsRef }) { > + + + diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index bfabd708d..7552ed34e 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -1248,6 +1248,7 @@ "dms_model": "DMS Model", "dms_wip_acctnumber": "Cost WIP DMS Acct #", "id": "DMS ID", + "inservicedate": "In Service Date", "journal": "Journal #", "name1": "Customer Name", "payer": { diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 0edd70d22..60d916187 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -1248,6 +1248,7 @@ "dms_model": "", "dms_wip_acctnumber": "", "id": "", + "inservicedate": "", "journal": "", "name1": "", "payer": { diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index f1debe9fd..c0dfdc456 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -1248,6 +1248,7 @@ "dms_model": "", "dms_wip_acctnumber": "", "id": "", + "inservicedate": "", "journal": "", "name1": "", "payer": { diff --git a/server/cdk/cdk-job-export.js b/server/cdk/cdk-job-export.js index 9fe9ca92d..2a78af167 100644 --- a/server/cdk/cdk-job-export.js +++ b/server/cdk/cdk-job-export.js @@ -611,7 +611,9 @@ async function InsertDmsCustomer(socket, newCustomerNumber) { contactInfo: { mainTelephoneNumber: { main: true, - value: socket.JobData.ownr_ph1.replace(replaceSpecialRegex, ""), + value: + socket.JobData.ownr_ph1 && + socket.JobData.ownr_ph1.replace(replaceSpecialRegex, ""), }, email: { desc: socket.JobData.ownr_ea ? "Other" : "CustomerDeclined", @@ -712,7 +714,11 @@ async function InsertDmsVehicle(socket) { arg2: { dealer: { dealerNumber: socket.JobData.bodyshop.cdk_dealerid, - inServiceDate: moment().startOf("day").toISOString(), + ...(socket.txEnvelope.inservicedate && { + inServiceDate: moment(socket.txEnvelope.inservicedate) + .startOf("day") + .toISOString(), + }), vehicleId: socket.DMSVid.vehiclesVehId, }, manufacturer: {}, @@ -839,9 +845,13 @@ async function UpdateDmsVehicle(socket) { ...socket.DMSVeh, dealer: { ...socket.DMSVeh.dealer, - inServiceDate: moment( - socket.DMSVeh.dealer.inServiceDate - ).toISOString(), + ...((socket.txEnvelope.inservicedate || + socket.DMSVeh.dealer.inServiceDate) && { + inServiceDate: moment( + socket.DMSVeh.dealer.inServiceDate || + socket.txEnvelope.inservicedate + ).toISOString(), + }), }, vehicle: { ...socket.DMSVeh.vehicle,