Merge branch 'hotfix/2022-06-28' into release/2022-06-30
* hotfix/2022-06-28: Update error handling for autohouse. Autohouse replace fix.
This commit is contained in:
@@ -39,7 +39,7 @@ exports.default = async (req, res) => {
|
||||
const { bodyshops } = await client.request(queries.GET_AUTOHOUSE_SHOPS);
|
||||
|
||||
const specificShopIds = req.body.bodyshopIds; // ['uuid]
|
||||
const { start, end } = req.body; //YYYY-MM-DD
|
||||
const { start, end, skipUpload } = req.body; //YYYY-MM-DD
|
||||
const allxmlsToUpload = [];
|
||||
const allErrors = [];
|
||||
try {
|
||||
@@ -107,7 +107,7 @@ exports.default = async (req, res) => {
|
||||
} catch (error) {
|
||||
//Error at the shop level.
|
||||
logger.log("autohouse-error-shop", "ERROR", "api", bodyshop.id, {
|
||||
error,
|
||||
...error,
|
||||
});
|
||||
|
||||
allErrors.push({
|
||||
@@ -125,17 +125,29 @@ exports.default = async (req, res) => {
|
||||
}
|
||||
}
|
||||
|
||||
// for (const xmlObj of allxmlsToUpload) {
|
||||
// fs.writeFileSync(`./logs/${xmlObj.filename}`, xmlObj.xml);
|
||||
// }
|
||||
if (skipUpload) {
|
||||
for (const xmlObj of allxmlsToUpload) {
|
||||
fs.writeFileSync(`./logs/${xmlObj.filename}`, xmlObj.xml);
|
||||
}
|
||||
|
||||
// res.json(allxmlsToUpload);
|
||||
// return;
|
||||
res.json(allxmlsToUpload);
|
||||
sendServerEmail({
|
||||
subject: `Autohouse Report ${moment().format("MM-DD-YY")}`,
|
||||
text: `Errors: ${allErrors.map((e) => JSON.stringify(e, null, 2))}
|
||||
Uploaded: ${JSON.stringify(
|
||||
allxmlsToUpload.map((x) => ({ filename: x.filename, count: x.count })),
|
||||
null,
|
||||
2
|
||||
)}
|
||||
`,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
let sftp = new Client();
|
||||
sftp.on("error", (errors) =>
|
||||
logger.log("autohouse-sftp-error", "ERROR", "api", null, {
|
||||
errors,
|
||||
...errors,
|
||||
})
|
||||
);
|
||||
try {
|
||||
@@ -160,7 +172,7 @@ exports.default = async (req, res) => {
|
||||
//***TODO Change filing naming when creating the cron job. IM_ShopInternalName_DDMMYYYY_HHMMSS.xml
|
||||
} catch (error) {
|
||||
logger.log("autohouse-sftp-error", "ERROR", "api", null, {
|
||||
error,
|
||||
...error,
|
||||
});
|
||||
} finally {
|
||||
sftp.end();
|
||||
@@ -169,7 +181,7 @@ exports.default = async (req, res) => {
|
||||
subject: `Autohouse Report ${moment().format("MM-DD-YY")}`,
|
||||
text: `Errors: ${allErrors.map((e) => JSON.stringify(e, null, 2))}
|
||||
Uploaded: ${JSON.stringify(
|
||||
allxmlsToUpload.map((x) => x.filename),
|
||||
allxmlsToUpload.map((x) => ({ filename: x.filename, count: x.count })),
|
||||
null,
|
||||
2
|
||||
)}
|
||||
@@ -185,7 +197,11 @@ const CreateRepairOrderTag = (job, errorCallback) => {
|
||||
//Level 2
|
||||
|
||||
if (!job.job_totals) {
|
||||
errorCallback({ job, error: { toString: () => "No job totals for RO." } });
|
||||
errorCallback({
|
||||
jobid: jobid,
|
||||
ro_number: job.ro_number,
|
||||
error: { toString: () => "No job totals for RO." },
|
||||
});
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -658,7 +674,7 @@ const CreateRepairOrderTag = (job, errorCallback) => {
|
||||
error,
|
||||
});
|
||||
|
||||
errorCallback({ job, error });
|
||||
errorCallback({ jobid: jobid, ro_number: job.ro_number, error });
|
||||
}
|
||||
};
|
||||
|
||||
@@ -889,7 +905,9 @@ const GenerateDetailLines = (job, line, statuses) => {
|
||||
OriginalCost: null,
|
||||
OriginalInvoiceNumber: null,
|
||||
PriceEach: line.act_price || 0,
|
||||
PartNumber: _.escape(line.oem_partno.replace(/[^\x00-\x7F]/g, "")),
|
||||
PartNumber: line.oem_partno
|
||||
? line.oem_partno.replace(/[^\x00-\x7F]/g, "")
|
||||
: "",
|
||||
ProfitPercent: null,
|
||||
PurchaseOrderNumber: null,
|
||||
Qty: line.part_qty || 0,
|
||||
|
||||
Reference in New Issue
Block a user