Merged in feature/IO-3722-disable-contact-fortellis (pull request #3284)

IO-3722 Remove customer lookup by Vehicle Owner.
This commit is contained in:
Dave Richer
2026-05-28 16:55:39 +00:00

View File

@@ -95,7 +95,8 @@ async function FortellisJobExport({ socket, redisHelpers, txEnvelope, jobid }) {
defaultFortellisTTL defaultFortellisTTL
); );
let DMSVehCustomer; let DMSVehCustomerFromVehicle;
//let DMSVehCustomer;
if (!DMSVid.newId) { if (!DMSVid.newId) {
CreateFortellisLogEvent(socket, "DEBUG", `{2.1} Querying the Vehicle using the DMSVid: ${DMSVid.vehiclesVehId}`); CreateFortellisLogEvent(socket, "DEBUG", `{2.1} Querying the Vehicle using the DMSVid: ${DMSVid.vehiclesVehId}`);
const DMSVeh = await QueryDmsVehicleById({ socket, redisHelpers, JobData, DMSVid }); const DMSVeh = await QueryDmsVehicleById({ socket, redisHelpers, JobData, DMSVid });
@@ -106,33 +107,34 @@ async function FortellisJobExport({ socket, redisHelpers, txEnvelope, jobid }) {
DMSVeh, DMSVeh,
defaultFortellisTTL defaultFortellisTTL
); );
DMSVehCustomerFromVehicle = DMSVeh?.owners && DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT");
//Add in contact bypass for Fortellis. // //Add in contact bypass for Fortellis.
if (!JobData.bodyshop.cdk_configuration.disablecontact) { // if (!JobData.bodyshop.cdk_configuration.disablecontact) {
const DMSVehCustomerFromVehicle = // const DMSVehCustomerFromVehicle =
DMSVeh?.owners && DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT"); // DMSVeh?.owners && DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT");
if (DMSVehCustomerFromVehicle?.id && DMSVehCustomerFromVehicle.id.value) { // if (DMSVehCustomerFromVehicle?.id && DMSVehCustomerFromVehicle.id.value) {
CreateFortellisLogEvent( // CreateFortellisLogEvent(
socket, // socket,
"DEBUG", // "DEBUG",
`{2.2} Querying the Customer using the ID from DMSVeh: ${DMSVehCustomerFromVehicle.id.value}` // `{2.2} Querying the Customer using the ID from DMSVeh: ${DMSVehCustomerFromVehicle.id.value}`
); // );
DMSVehCustomer = await QueryDmsCustomerById({ // DMSVehCustomer = await QueryDmsCustomerById({
socket, // socket,
redisHelpers, // redisHelpers,
JobData, // JobData,
CustomerId: DMSVehCustomerFromVehicle.id.value // CustomerId: DMSVehCustomerFromVehicle.id.value
}); // });
await setSessionTransactionData( // await setSessionTransactionData(
socket.id, // socket.id,
getTransactionType(jobid), // getTransactionType(jobid),
FortellisCacheEnums.DMSVehCustomer, // FortellisCacheEnums.DMSVehCustomer,
DMSVehCustomer, // DMSVehCustomer,
defaultFortellisTTL // defaultFortellisTTL
); // );
} // }
} // }
} }
CreateFortellisLogEvent(socket, "DEBUG", `{2.3} Querying the Customer using the name.`); CreateFortellisLogEvent(socket, "DEBUG", `{2.3} Querying the Customer using the name.`);
if (JobData.bodyshop.cdk_configuration.disablecontact) { if (JobData.bodyshop.cdk_configuration.disablecontact) {
@@ -148,10 +150,22 @@ async function FortellisJobExport({ socket, redisHelpers, txEnvelope, jobid }) {
defaultFortellisTTL defaultFortellisTTL
); );
socket.emit("fortellis-select-customer", [ socket.emit("fortellis-select-customer",
...(DMSVehCustomer ? [{ ...DMSVehCustomer, vinOwner: true }] : []), //Removed to save one one API call while disputing with fortellis.
...DMSCustList // [
]); // // ...(DMSVehCustomer ? [{ ...DMSVehCustomer, vinOwner: true }] : []),
// ...DMSCustList
// ]
DMSVehCustomerFromVehicle ?
DMSCustList.map(c => {
//if customer id is the same as the current assigned owner on the vehicle id, set it as vinowner true. )
if (DMSVehCustomerFromVehicle?.id?.value === c.customerId) {
return { ...c, vinOwner: true }
} else {
return c
}
}) : DMSCustList
);
} }
} catch (error) { } catch (error) {
CreateFortellisLogEvent(socket, "ERROR", `Error in FortellisJobExport - ${error} `, { CreateFortellisLogEvent(socket, "ERROR", `Error in FortellisJobExport - ${error} `, {