Merged in hotfix/2026-02-23 (pull request #3031)
IO-3576 Fortellis Refetch Make Model
This commit is contained in:
@@ -264,29 +264,30 @@ const CreateRepairOrderTag = (job, errorCallback) => {
|
|||||||
}${job.est_ct_fn ? job.est_ct_fn : ""}`
|
}${job.est_ct_fn ? job.est_ct_fn : ""}`
|
||||||
},
|
},
|
||||||
Dates: {
|
Dates: {
|
||||||
DateEstimated: (job.date_estimated && moment(job.date_estimated).format(DateFormat)) || "",
|
DateEstimated: job.date_estimated ? moment(job.date_estimated).format(DateFormat) : "",
|
||||||
DateOpened: (job.date_opened && moment(job.date_opened).format(DateFormat)) || "",
|
DateOpened: job.date_open ? moment(job.date_open).tz(job.bodyshop.timezone).format(DateFormat) : "",
|
||||||
DateScheduled:
|
DateScheduled: job.scheduled_in ? moment(job.scheduled_in).tz(job.bodyshop.timezone).format(DateFormat) : "",
|
||||||
(job.scheduled_in && moment(job.scheduled_in).tz(job.bodyshop.timezone).format(DateFormat)) || "",
|
DateArrived: job.actual_in ? moment(job.actual_in).tz(job.bodyshop.timezone).format(DateFormat) : "",
|
||||||
DateArrived: (job.actual_in && moment(job.actual_in).tz(job.bodyshop.timezone).format(DateFormat)) || "",
|
|
||||||
DateStart: job.date_repairstarted
|
DateStart: job.date_repairstarted
|
||||||
? (job.date_repairstarted && moment(job.date_repairstarted).tz(job.bodyshop.timezone).format(DateFormat)) ||
|
? moment(job.date_repairstarted).tz(job.bodyshop.timezone).format(DateFormat)
|
||||||
""
|
: job.actual_in
|
||||||
: (job.actual_in && moment(job.actual_in).tz(job.bodyshop.timezone).format(DateFormat)) || "",
|
? moment(job.actual_in).tz(job.bodyshop.timezone).format(DateFormat)
|
||||||
DateScheduledCompletion:
|
: "",
|
||||||
(job.scheduled_completion && moment(job.scheduled_completion).tz(job.bodyshop.timezone).format(DateFormat)) ||
|
DateScheduledCompletion: job.scheduled_completion
|
||||||
"",
|
? moment(job.scheduled_completion).tz(job.bodyshop.timezone).format(DateFormat)
|
||||||
DateCompleted:
|
: "",
|
||||||
(job.actual_completion && moment(job.actual_completion).tz(job.bodyshop.timezone).format(DateFormat)) || "",
|
DateCompleted: job.actual_completion
|
||||||
DateScheduledDelivery:
|
? moment(job.actual_completion).tz(job.bodyshop.timezone).format(DateFormat)
|
||||||
(job.scheduled_delivery && moment(job.scheduled_delivery).tz(job.bodyshop.timezone).format(DateFormat)) || "",
|
: "",
|
||||||
DateDelivered:
|
DateScheduledDelivery: job.scheduled_delivery
|
||||||
(job.actual_delivery && moment(job.actual_delivery).tz(job.bodyshop.timezone).format(DateFormat)) || "",
|
? moment(job.scheduled_delivery).tz(job.bodyshop.timezone).format(DateFormat)
|
||||||
DateInvoiced:
|
: "",
|
||||||
(job.date_invoiced && moment(job.date_invoiced).tz(job.bodyshop.timezone).format(DateFormat)) || "",
|
DateDelivered: job.actual_delivery
|
||||||
DateExported:
|
? moment(job.actual_delivery).tz(job.bodyshop.timezone).format(DateFormat)
|
||||||
(job.date_exported && moment(job.date_exported).tz(job.bodyshop.timezone).format(DateFormat)) || "",
|
: "",
|
||||||
DateVoid: (job.date_void && moment(job.date_void).tz(job.bodyshop.timezone).format(DateFormat)) || ""
|
DateInvoiced: job.date_invoiced ? moment(job.date_invoiced).tz(job.bodyshop.timezone).format(DateFormat) : "",
|
||||||
|
DateExported: job.date_exported ? moment(job.date_exported).tz(job.bodyshop.timezone).format(DateFormat) : "",
|
||||||
|
DateVoid: job.date_void ? moment(job.date_void).tz(job.bodyshop.timezone).format(DateFormat) : ""
|
||||||
},
|
},
|
||||||
JobLineDetails: (function () {
|
JobLineDetails: (function () {
|
||||||
const joblineSource = Array.isArray(job.joblines) ? job.joblines : job.joblines ? [job.joblines] : [];
|
const joblineSource = Array.isArray(job.joblines) ? job.joblines : job.joblines ? [job.joblines] : [];
|
||||||
|
|||||||
@@ -235,18 +235,6 @@ async function MakeFortellisCall({
|
|||||||
// jobid: socket?.recordid
|
// jobid: socket?.recordid
|
||||||
// });
|
// });
|
||||||
|
|
||||||
if (result.data.checkStatusAfterSeconds) {
|
|
||||||
return DelayedCallback({
|
|
||||||
delayMeta: result.data,
|
|
||||||
access_token,
|
|
||||||
SubscriptionID: SubscriptionMeta.subscriptionId,
|
|
||||||
ReqId,
|
|
||||||
departmentIds: DepartmentId
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
logger.log(
|
logger.log(
|
||||||
"fortellis-log-event-json",
|
"fortellis-log-event-json",
|
||||||
"DEBUG",
|
"DEBUG",
|
||||||
@@ -261,6 +249,18 @@ async function MakeFortellisCall({
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (result.data.checkStatusAfterSeconds) {
|
||||||
|
return DelayedCallback({
|
||||||
|
delayMeta: result.data,
|
||||||
|
access_token,
|
||||||
|
SubscriptionID: SubscriptionMeta.subscriptionId,
|
||||||
|
ReqId,
|
||||||
|
departmentIds: DepartmentId,
|
||||||
|
jobid,
|
||||||
|
socket
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return result.data;
|
return result.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const errorDetails = {
|
const errorDetails = {
|
||||||
@@ -310,7 +310,7 @@ async function MakeFortellisCall({
|
|||||||
//Some Fortellis calls return a batch result that isn't ready immediately.
|
//Some Fortellis calls return a batch result that isn't ready immediately.
|
||||||
//This function will check the status of the call and wait until it is ready.
|
//This function will check the status of the call and wait until it is ready.
|
||||||
//It will try 5 times before giving up.
|
//It will try 5 times before giving up.
|
||||||
async function DelayedCallback({ delayMeta, access_token, SubscriptionID, ReqId, departmentIds }) {
|
async function DelayedCallback({ delayMeta, access_token, SubscriptionID, ReqId, departmentIds, jobid, socket }) {
|
||||||
for (let index = 0; index < 5; index++) {
|
for (let index = 0; index < 5; index++) {
|
||||||
await sleep(delayMeta.checkStatusAfterSeconds * 1000);
|
await sleep(delayMeta.checkStatusAfterSeconds * 1000);
|
||||||
//Check to see if the call is ready.
|
//Check to see if the call is ready.
|
||||||
@@ -334,6 +334,19 @@ async function DelayedCallback({ delayMeta, access_token, SubscriptionID, ReqId,
|
|||||||
//"Department-Id": departmentIds[0].id
|
//"Department-Id": departmentIds[0].id
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
logger.log(
|
||||||
|
"fortellis-log-event-json-DelayedCallback",
|
||||||
|
"DEBUG",
|
||||||
|
socket?.user?.email,
|
||||||
|
jobid,
|
||||||
|
{
|
||||||
|
requestcurl: batchResult.config.curlCommand,
|
||||||
|
reqid: batchResult.config.headers["Request-Id"] || null,
|
||||||
|
subscriptionId: batchResult.config.headers["Subscription-Id"] || null,
|
||||||
|
resultdata: batchResult.data,
|
||||||
|
resultStatus: batchResult.status
|
||||||
|
},
|
||||||
|
);
|
||||||
// await writeFortellisLogToFile({
|
// await writeFortellisLogToFile({
|
||||||
// timestamp: new Date().toISOString(),
|
// timestamp: new Date().toISOString(),
|
||||||
// reqId: ReqId,
|
// reqId: ReqId,
|
||||||
|
|||||||
Reference in New Issue
Block a user