Merged in release/2026-06-05 (pull request #3285)

Release/2026 06 05
This commit is contained in:
Dave Richer
2026-05-28 16:56:04 +00:00

View File

@@ -95,7 +95,8 @@ async function FortellisJobExport({ socket, redisHelpers, txEnvelope, jobid }) {
defaultFortellisTTL
);
let DMSVehCustomer;
let DMSVehCustomerFromVehicle;
//let DMSVehCustomer;
if (!DMSVid.newId) {
CreateFortellisLogEvent(socket, "DEBUG", `{2.1} Querying the Vehicle using the DMSVid: ${DMSVid.vehiclesVehId}`);
const DMSVeh = await QueryDmsVehicleById({ socket, redisHelpers, JobData, DMSVid });
@@ -106,38 +107,39 @@ async function FortellisJobExport({ socket, redisHelpers, txEnvelope, jobid }) {
DMSVeh,
defaultFortellisTTL
);
DMSVehCustomerFromVehicle = DMSVeh?.owners && DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT");
//Add in contact bypass for Fortellis.
if (!JobData.bodyshop.cdk_configuration.disablecontact) {
const DMSVehCustomerFromVehicle =
DMSVeh?.owners && DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT");
// //Add in contact bypass for Fortellis.
// if (!JobData.bodyshop.cdk_configuration.disablecontact) {
// const DMSVehCustomerFromVehicle =
// DMSVeh?.owners && DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT");
if (DMSVehCustomerFromVehicle?.id && DMSVehCustomerFromVehicle.id.value) {
CreateFortellisLogEvent(
socket,
"DEBUG",
`{2.2} Querying the Customer using the ID from DMSVeh: ${DMSVehCustomerFromVehicle.id.value}`
);
DMSVehCustomer = await QueryDmsCustomerById({
socket,
redisHelpers,
JobData,
CustomerId: DMSVehCustomerFromVehicle.id.value
});
await setSessionTransactionData(
socket.id,
getTransactionType(jobid),
FortellisCacheEnums.DMSVehCustomer,
DMSVehCustomer,
defaultFortellisTTL
);
}
}
// if (DMSVehCustomerFromVehicle?.id && DMSVehCustomerFromVehicle.id.value) {
// CreateFortellisLogEvent(
// socket,
// "DEBUG",
// `{2.2} Querying the Customer using the ID from DMSVeh: ${DMSVehCustomerFromVehicle.id.value}`
// );
// DMSVehCustomer = await QueryDmsCustomerById({
// socket,
// redisHelpers,
// JobData,
// CustomerId: DMSVehCustomerFromVehicle.id.value
// });
// await setSessionTransactionData(
// socket.id,
// getTransactionType(jobid),
// FortellisCacheEnums.DMSVehCustomer,
// DMSVehCustomer,
// defaultFortellisTTL
// );
// }
// }
}
CreateFortellisLogEvent(socket, "DEBUG", `{2.3} Querying the Customer using the name.`);
if (!JobData.bodyshop.cdk_configuration.disablecontact) {
if (JobData.bodyshop.cdk_configuration.disablecontact) {
//Just go straight to posting.
FortellisSelectedCustomer({ socket, redisHelpers, selectedCustomerId: bypassCustomerId, jobid });
await FortellisSelectedCustomer({ socket, redisHelpers, selectedCustomerId: bypassCustomerId, jobid });
} else {
const DMSCustList = await QueryDmsCustomerByName({ socket, redisHelpers, JobData });
await setSessionTransactionData(
@@ -148,10 +150,22 @@ async function FortellisJobExport({ socket, redisHelpers, txEnvelope, jobid }) {
defaultFortellisTTL
);
socket.emit("fortellis-select-customer", [
...(DMSVehCustomer ? [{ ...DMSVehCustomer, vinOwner: true }] : []),
...DMSCustList
]);
socket.emit("fortellis-select-customer",
//Removed to save one one API call while disputing with fortellis.
// [
// // ...(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) {
CreateFortellisLogEvent(socket, "ERROR", `Error in FortellisJobExport - ${error} `, {
@@ -226,8 +240,8 @@ async function FortellisSelectedCustomer({ socket, redisHelpers, selectedCustome
return;
}
//Bypass only the customer creation. We still need to create the vehicle and update it to post the service history later on.
let DMSCust;
if (!JobData.bodyshop.cdk_configuration.disablecontact) {
let DMSCust;
if (selectedCustomerId) {
CreateFortellisLogEvent(socket, "DEBUG", `{3.1} Querying the Customer using Customer ID: ${selectedCustomerId}`);
@@ -257,6 +271,8 @@ async function FortellisSelectedCustomer({ socket, redisHelpers, selectedCustome
defaultFortellisTTL
);
}
}else{
DMSCust = { customerId: bypassCustomerId };
}
let DMSVeh;
@@ -916,7 +932,7 @@ async function InsertDmsVehicle({ socket, redisHelpers, JobData, txEnvelope, DMS
// "wheelbase": ""
},
// Owners is not required. Exclude it if we are bypassing.
...(selectedCustomerId !== bypassCustomerId && {
...(DMSCust?.customerId !== bypassCustomerId && {
owners: [
{
id: {