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:
Patrick Fic
2022-06-28 13:31:59 -07:00

View File

@@ -39,7 +39,7 @@ exports.default = async (req, res) => {
const { bodyshops } = await client.request(queries.GET_AUTOHOUSE_SHOPS); const { bodyshops } = await client.request(queries.GET_AUTOHOUSE_SHOPS);
const specificShopIds = req.body.bodyshopIds; // ['uuid] 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 allxmlsToUpload = [];
const allErrors = []; const allErrors = [];
try { try {
@@ -107,7 +107,7 @@ exports.default = async (req, res) => {
} catch (error) { } catch (error) {
//Error at the shop level. //Error at the shop level.
logger.log("autohouse-error-shop", "ERROR", "api", bodyshop.id, { logger.log("autohouse-error-shop", "ERROR", "api", bodyshop.id, {
error, ...error,
}); });
allErrors.push({ allErrors.push({
@@ -125,17 +125,29 @@ exports.default = async (req, res) => {
} }
} }
// for (const xmlObj of allxmlsToUpload) { if (skipUpload) {
// fs.writeFileSync(`./logs/${xmlObj.filename}`, xmlObj.xml); for (const xmlObj of allxmlsToUpload) {
// } fs.writeFileSync(`./logs/${xmlObj.filename}`, xmlObj.xml);
}
// res.json(allxmlsToUpload); res.json(allxmlsToUpload);
// return; 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(); let sftp = new Client();
sftp.on("error", (errors) => sftp.on("error", (errors) =>
logger.log("autohouse-sftp-error", "ERROR", "api", null, { logger.log("autohouse-sftp-error", "ERROR", "api", null, {
errors, ...errors,
}) })
); );
try { try {
@@ -160,7 +172,7 @@ exports.default = async (req, res) => {
//***TODO Change filing naming when creating the cron job. IM_ShopInternalName_DDMMYYYY_HHMMSS.xml //***TODO Change filing naming when creating the cron job. IM_ShopInternalName_DDMMYYYY_HHMMSS.xml
} catch (error) { } catch (error) {
logger.log("autohouse-sftp-error", "ERROR", "api", null, { logger.log("autohouse-sftp-error", "ERROR", "api", null, {
error, ...error,
}); });
} finally { } finally {
sftp.end(); sftp.end();
@@ -169,7 +181,7 @@ exports.default = async (req, res) => {
subject: `Autohouse Report ${moment().format("MM-DD-YY")}`, subject: `Autohouse Report ${moment().format("MM-DD-YY")}`,
text: `Errors: ${allErrors.map((e) => JSON.stringify(e, null, 2))} text: `Errors: ${allErrors.map((e) => JSON.stringify(e, null, 2))}
Uploaded: ${JSON.stringify( Uploaded: ${JSON.stringify(
allxmlsToUpload.map((x) => x.filename), allxmlsToUpload.map((x) => ({ filename: x.filename, count: x.count })),
null, null,
2 2
)} )}
@@ -185,7 +197,11 @@ const CreateRepairOrderTag = (job, errorCallback) => {
//Level 2 //Level 2
if (!job.job_totals) { 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 {}; return {};
} }
@@ -658,7 +674,7 @@ const CreateRepairOrderTag = (job, errorCallback) => {
error, error,
}); });
errorCallback({ job, error }); errorCallback({ jobid: jobid, ro_number: job.ro_number, error });
} }
}; };
@@ -889,7 +905,9 @@ const GenerateDetailLines = (job, line, statuses) => {
OriginalCost: null, OriginalCost: null,
OriginalInvoiceNumber: null, OriginalInvoiceNumber: null,
PriceEach: line.act_price || 0, 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, ProfitPercent: null,
PurchaseOrderNumber: null, PurchaseOrderNumber: null,
Qty: line.part_qty || 0, Qty: line.part_qty || 0,