Fortellis bug fixes.
This commit is contained in:
@@ -303,7 +303,7 @@ const FortellisActions = {
|
||||
? "https://api.fortellis.io/cdk/drive/service-vehicle-mgmt/v2/"
|
||||
: "https://api.fortellis.io/cdk-test/drive/service-vehicle-mgmt/v2/",
|
||||
type: "put",
|
||||
apiName: "CDK Drive Post Customer",
|
||||
apiName: "CDK Drive Post Service Vehicle",
|
||||
},
|
||||
GetCOA: {
|
||||
type: "get",
|
||||
|
||||
@@ -51,7 +51,7 @@ async function FortellisJobExport({
|
||||
await setSessionTransactionData(socket.id, getTransactionType(jobid), FortellisCacheEnums.JobData, JobData, defaultFortellisTTL);
|
||||
|
||||
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);
|
||||
|
||||
let DMSVehCustomer;
|
||||
@@ -125,7 +125,7 @@ async function FortellisSelectedCustomer({ socket, redisHelpers, ioHelpers, sele
|
||||
"DEBUG",
|
||||
`{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);
|
||||
} else {
|
||||
CreateFortellisLogEvent(
|
||||
@@ -133,7 +133,8 @@ async function FortellisSelectedCustomer({ socket, redisHelpers, ioHelpers, sele
|
||||
"DEBUG",
|
||||
`{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);
|
||||
}
|
||||
|
||||
@@ -360,7 +361,7 @@ async function InsertDmsCustomer({ socket, redisHelpers, JobData }) {
|
||||
{
|
||||
//"uuid": "",
|
||||
"number": JobData.ownr_ph1?.replace(replaceSpecialRegex, ""),
|
||||
// "type": "MOBILE",
|
||||
"type": "HOME",
|
||||
// "doNotCallIndicator": true,
|
||||
// "doNotCallIndicatorDate": `null,
|
||||
// "doNotCallRegistrySource": "",
|
||||
@@ -394,11 +395,11 @@ async function InsertDmsCustomer({ socket, redisHelpers, JobData }) {
|
||||
],
|
||||
"emailAddresses": [
|
||||
|
||||
!_.isEmpty(socket.JobData.ownr_ea) ?
|
||||
...!_.isEmpty(JobData.ownr_ea) ?
|
||||
[{
|
||||
//"uuid": "",
|
||||
"address": socket.JobData.ownr_ea,
|
||||
// "type": "PERSONAL",
|
||||
"address": JobData.ownr_ea,
|
||||
"type": "PERSONAL",
|
||||
// "doNotEmailSource": "",
|
||||
// "doNotEmail": false,
|
||||
// "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({
|
||||
...FortellisActions.UpdateVehicle,
|
||||
requestSearchParams: {},
|
||||
@@ -851,20 +860,21 @@ async function UpdateDmsVehicle({ socket, redisHelpers, JobData, DMSVeh, DMSCust
|
||||
socket,
|
||||
jobid: JobData.id,
|
||||
body: {
|
||||
...DMSVeh,
|
||||
...DMSVehToSend,
|
||||
dealer: {
|
||||
...DMSVeh.dealer,
|
||||
...((txEnvelope.inservicedate || DMSVeh.dealer.inServiceDate) && {
|
||||
...DMSVehToSend.dealer, //TODO: Check why company is blank on a queried record.
|
||||
comapny: "77",
|
||||
...((txEnvelope.inservicedate || DMSVehToSend.dealer.inServiceDate) && {
|
||||
inServiceDate:
|
||||
txEnvelope.dms_unsold === true
|
||||
? ""
|
||||
: moment(DMSVeh.dealer.inServiceDate || txEnvelope.inservicedate)
|
||||
: moment(DMSVehToSend.dealer.inServiceDate || txEnvelope.inservicedate)
|
||||
// .tz(JobData.bodyshop.timezone)
|
||||
.toISOString()
|
||||
})
|
||||
},
|
||||
vehicle: {
|
||||
...DMSVeh.vehicle,
|
||||
...DMSVehToSend.vehicle,
|
||||
...(txEnvelope.dms_model_override
|
||||
? {
|
||||
make: txEnvelope.dms_make,
|
||||
@@ -874,7 +884,7 @@ async function UpdateDmsVehicle({ socket, redisHelpers, JobData, DMSVeh, DMSCust
|
||||
deliveryDate:
|
||||
txEnvelope.dms_unsold === true
|
||||
? ""
|
||||
: moment(DMSVeh.vehicle.deliveryDate)
|
||||
: moment(DMSVehToSend.vehicle.deliveryDate)
|
||||
//.tz(JobData.bodyshop.timezone)
|
||||
.toISOString()
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user