Fortellis bug fixes.
This commit is contained in:
@@ -77,13 +77,26 @@ export function DmsCustomerSelector({ bodyshop, jobid }) {
|
|||||||
|
|
||||||
const onUseGeneric = () => {
|
const onUseGeneric = () => {
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
socket.emit(`${dmsType}-selected-customer`, bodyshop.cdk_configuration.generic_customer_number);
|
|
||||||
|
if (Fortellis.treatment === "on") {
|
||||||
|
wsssocket.emit(`fortellis-selected-customer`, {
|
||||||
|
selectedCustomerId: bodyshop.cdk_configuration.generic_customer_number,
|
||||||
|
jobid
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
socket.emit(`${dmsType}-selected-customer`, bodyshop.cdk_configuration.generic_customer_number);
|
||||||
|
}
|
||||||
setSelectedCustomer(null);
|
setSelectedCustomer(null);
|
||||||
};
|
};
|
||||||
|
|
||||||
const onCreateNew = () => {
|
const onCreateNew = () => {
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
socket.emit(`${dmsType}-selected-customer`, null);
|
|
||||||
|
if (Fortellis.treatment === "on") {
|
||||||
|
wsssocket.emit(`fortellis-selected-customer`, { selectedCustomerId: null, jobid });
|
||||||
|
} else {
|
||||||
|
socket.emit(`${dmsType}-selected-customer`, null);
|
||||||
|
}
|
||||||
setSelectedCustomer(null);
|
setSelectedCustomer(null);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -303,7 +303,7 @@ const FortellisActions = {
|
|||||||
? "https://api.fortellis.io/cdk/drive/service-vehicle-mgmt/v2/"
|
? "https://api.fortellis.io/cdk/drive/service-vehicle-mgmt/v2/"
|
||||||
: "https://api.fortellis.io/cdk-test/drive/service-vehicle-mgmt/v2/",
|
: "https://api.fortellis.io/cdk-test/drive/service-vehicle-mgmt/v2/",
|
||||||
type: "put",
|
type: "put",
|
||||||
apiName: "CDK Drive Post Customer",
|
apiName: "CDK Drive Post Service Vehicle",
|
||||||
},
|
},
|
||||||
GetCOA: {
|
GetCOA: {
|
||||||
type: "get",
|
type: "get",
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ async function FortellisJobExport({
|
|||||||
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.JobData, JobData, defaultFortellisTTL);
|
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.JobData, JobData, defaultFortellisTTL);
|
||||||
|
|
||||||
CreateFortellisLogEvent(socket, "DEBUG", `{1} Begin Calculate DMS Vehicle ID using VIN: ${JobData.v_vin}`);
|
CreateFortellisLogEvent(socket, "DEBUG", `{1} Begin Calculate DMS Vehicle ID using VIN: ${JobData.v_vin}`);
|
||||||
const DMSVid = await CalculateDmsVid({ socket, JobData, redisHelpers });
|
const DMSVid = (await CalculateDmsVid({ socket, JobData, redisHelpers }))[0];
|
||||||
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.DMSVid, DMSVid, defaultFortellisTTL);
|
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.DMSVid, DMSVid, defaultFortellisTTL);
|
||||||
|
|
||||||
let DMSVehCustomer;
|
let DMSVehCustomer;
|
||||||
@@ -125,7 +125,7 @@ async function FortellisSelectedCustomer({ socket, redisHelpers, ioHelpers, sele
|
|||||||
"DEBUG",
|
"DEBUG",
|
||||||
`{3.1} Querying the Customer using Customer ID: ${selectedCustomerId}`
|
`{3.1} Querying the Customer using Customer ID: ${selectedCustomerId}`
|
||||||
);
|
);
|
||||||
DMSCust = await QueryDmsCustomerById({ socket, redisHelpers, JobData, CustomerId: selectedCustomerId });
|
DMSCust = await QueryDmsCustomerById({ socket, redisHelpers, JobData, CustomerId: selectedCustomerId }); //TODO: Optimize here - if selected ID, we already have the customer information. Prevent an extra call to Fortellis.
|
||||||
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.DMSCust, DMSCust, defaultFortellisTTL);
|
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.DMSCust, DMSCust, defaultFortellisTTL);
|
||||||
} else {
|
} else {
|
||||||
CreateFortellisLogEvent(
|
CreateFortellisLogEvent(
|
||||||
@@ -133,7 +133,8 @@ async function FortellisSelectedCustomer({ socket, redisHelpers, ioHelpers, sele
|
|||||||
"DEBUG",
|
"DEBUG",
|
||||||
`{3.2} Creating new customer.`
|
`{3.2} Creating new customer.`
|
||||||
);
|
);
|
||||||
DMSCust = await InsertDmsCustomer({ socket, redisHelpers, JobData });
|
const DMSCustomerInsertResponse = await InsertDmsCustomer({ socket, redisHelpers, JobData });
|
||||||
|
DMSCust = { customerId: DMSCustomerInsertResponse.data }
|
||||||
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.DMSCust, DMSCust, defaultFortellisTTL);
|
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.DMSCust, DMSCust, defaultFortellisTTL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,7 +361,7 @@ async function InsertDmsCustomer({ socket, redisHelpers, JobData }) {
|
|||||||
{
|
{
|
||||||
//"uuid": "",
|
//"uuid": "",
|
||||||
"number": JobData.ownr_ph1?.replace(replaceSpecialRegex, ""),
|
"number": JobData.ownr_ph1?.replace(replaceSpecialRegex, ""),
|
||||||
// "type": "MOBILE",
|
"type": "HOME",
|
||||||
// "doNotCallIndicator": true,
|
// "doNotCallIndicator": true,
|
||||||
// "doNotCallIndicatorDate": `null,
|
// "doNotCallIndicatorDate": `null,
|
||||||
// "doNotCallRegistrySource": "",
|
// "doNotCallRegistrySource": "",
|
||||||
@@ -394,11 +395,11 @@ async function InsertDmsCustomer({ socket, redisHelpers, JobData }) {
|
|||||||
],
|
],
|
||||||
"emailAddresses": [
|
"emailAddresses": [
|
||||||
|
|
||||||
!_.isEmpty(socket.JobData.ownr_ea) ?
|
...!_.isEmpty(JobData.ownr_ea) ?
|
||||||
[{
|
[{
|
||||||
//"uuid": "",
|
//"uuid": "",
|
||||||
"address": socket.JobData.ownr_ea,
|
"address": JobData.ownr_ea,
|
||||||
// "type": "PERSONAL",
|
"type": "PERSONAL",
|
||||||
// "doNotEmailSource": "",
|
// "doNotEmailSource": "",
|
||||||
// "doNotEmail": false,
|
// "doNotEmail": false,
|
||||||
// "isPreferred": true,
|
// "isPreferred": true,
|
||||||
@@ -843,6 +844,14 @@ async function UpdateDmsVehicle({ socket, redisHelpers, JobData, DMSVeh, DMSCust
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const DMSVehToSend = _.cloneDeep(DMSVeh);
|
||||||
|
//Remove unsupported fields on the post API.
|
||||||
|
delete DMSVehToSend.dealer.lastActivityDate;
|
||||||
|
delete DMSVehToSend.manufacturer;
|
||||||
|
delete DMSVehToSend.invoice;
|
||||||
|
delete DMSVehToSend.inventoryAccount;
|
||||||
|
|
||||||
|
|
||||||
const result = await MakeFortellisCall({
|
const result = await MakeFortellisCall({
|
||||||
...FortellisActions.UpdateVehicle,
|
...FortellisActions.UpdateVehicle,
|
||||||
requestSearchParams: {},
|
requestSearchParams: {},
|
||||||
@@ -851,20 +860,21 @@ async function UpdateDmsVehicle({ socket, redisHelpers, JobData, DMSVeh, DMSCust
|
|||||||
socket,
|
socket,
|
||||||
jobid: JobData.id,
|
jobid: JobData.id,
|
||||||
body: {
|
body: {
|
||||||
...DMSVeh,
|
...DMSVehToSend,
|
||||||
dealer: {
|
dealer: {
|
||||||
...DMSVeh.dealer,
|
...DMSVehToSend.dealer, //TODO: Check why company is blank on a queried record.
|
||||||
...((txEnvelope.inservicedate || DMSVeh.dealer.inServiceDate) && {
|
comapny: "77",
|
||||||
|
...((txEnvelope.inservicedate || DMSVehToSend.dealer.inServiceDate) && {
|
||||||
inServiceDate:
|
inServiceDate:
|
||||||
txEnvelope.dms_unsold === true
|
txEnvelope.dms_unsold === true
|
||||||
? ""
|
? ""
|
||||||
: moment(DMSVeh.dealer.inServiceDate || txEnvelope.inservicedate)
|
: moment(DMSVehToSend.dealer.inServiceDate || txEnvelope.inservicedate)
|
||||||
// .tz(JobData.bodyshop.timezone)
|
// .tz(JobData.bodyshop.timezone)
|
||||||
.toISOString()
|
.toISOString()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
vehicle: {
|
vehicle: {
|
||||||
...DMSVeh.vehicle,
|
...DMSVehToSend.vehicle,
|
||||||
...(txEnvelope.dms_model_override
|
...(txEnvelope.dms_model_override
|
||||||
? {
|
? {
|
||||||
make: txEnvelope.dms_make,
|
make: txEnvelope.dms_make,
|
||||||
@@ -874,7 +884,7 @@ async function UpdateDmsVehicle({ socket, redisHelpers, JobData, DMSVeh, DMSCust
|
|||||||
deliveryDate:
|
deliveryDate:
|
||||||
txEnvelope.dms_unsold === true
|
txEnvelope.dms_unsold === true
|
||||||
? ""
|
? ""
|
||||||
: moment(DMSVeh.vehicle.deliveryDate)
|
: moment(DMSVehToSend.vehicle.deliveryDate)
|
||||||
//.tz(JobData.bodyshop.timezone)
|
//.tz(JobData.bodyshop.timezone)
|
||||||
.toISOString()
|
.toISOString()
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user