From 2d63c3d576271fcaa00c47fc7062d405e0bba16a Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 10 Nov 2021 18:06:24 -0800 Subject: [PATCH] IO-1528 Autohouse Updates. --- server/data/autohouse.js | 61 +++++++++++++++++++++----------- server/graphql-client/queries.js | 1 + 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/server/data/autohouse.js b/server/data/autohouse.js index 74cda901c..093ea0fea 100644 --- a/server/data/autohouse.js +++ b/server/data/autohouse.js @@ -70,11 +70,15 @@ exports.default = async (req, res) => { } var ret = builder - .create(autoHouseObject, { - version: "1.0", - encoding: "UTF-8", - }) - .end({ pretty: true, allowEmptyTags: true }); + .create( + { + version: "1.0", + encoding: "UTF-8", + keepNullNodes: true, + }, + autoHouseObject + ) + .end({ allowEmptyTags: true }); allxmlsToUpload.push({ xml: ret, @@ -107,6 +111,11 @@ exports.default = async (req, res) => { } } + if (process.env.NODE_ENV !== "production") { + res.sendStatus(200); + return; + } + let sftp = new Client(); sftp.on("error", (errors) => logger.log("autohouse-sftp-error", "ERROR", "api", null, { @@ -239,7 +248,8 @@ const CreateRepairOrderTag = (job, errorCallback) => { ReferralDate: null, EstimateAppointmentDate: null, SecondFollowUpDate: null, - AssignedDate: null, + AssignedDate: + job.asgn_date && moment(job.asgn_date).format(AhDateFormat), EstComplete: null, CustomerAuthorizationDate: null, InsuranceAuthorizationDate: null, @@ -248,7 +258,7 @@ const CreateRepairOrderTag = (job, errorCallback) => { job.scheduled_in && moment(job.scheduled_in).format(AhDateFormat), CarinShop: job.actual_in && moment(job.actual_in).format(AhDateFormat), InsInspDate: null, - StartDate: null, + StartDate: job.actual_in && moment(job.actual_in).format(AhDateFormat), PartsOrder: null, TeardownHold: null, SupplementSubmittedDate: null, @@ -287,7 +297,10 @@ const CreateRepairOrderTag = (job, errorCallback) => { StructuralRate: job.rate_las, PMRate: job.rate_mapa, BMRate: job.rate_mash, - TaxRate: null, + TaxRate: + job.parts_tax_rates && + job.parts_tax_rates.PAN && + job.parts_tax_rates.PAN.prt_tax_rt, StorageRateperDay: null, DaysStored: null, }, @@ -389,39 +402,45 @@ const CreateRepairOrderTag = (job, errorCallback) => { job.job_totals.parts.parts.list.PAA.total ).toFormat(AHDineroFormat), PartsAMCost: repairCosts.PartsAMCost.toFormat(AHDineroFormat), - PartsReconditioned: null, + PartsReconditioned: + repairCosts.PartsReconditionedCost.toFormat(AHDineroFormat), PartsReconditionedCost: repairCosts.PartsReconditionedCost.toFormat(AHDineroFormat), PartsRecycled: Dinero( job.job_totals.parts.parts.list.PAR && job.job_totals.parts.parts.list.PAR.total ).toFormat(AHDineroFormat), - PartsRecycledCost: null, + PartsRecycledCost: + repairCosts.PartsRecycledCost.toFormat(AHDineroFormat), PartsOther: Dinero( job.job_totals.parts.parts.list.PAO && job.job_totals.parts.parts.list.PAO.total ).toFormat(AHDineroFormat), - PartsOtherCost: null, + PartsOtherCost: repairCosts.PartsOtherCost.toFormat(AHDineroFormat), SubletTotal: Dinero(job.job_totals.parts.sublets.total).toFormat( AHDineroFormat ), - SubletTotalCost: 0, + SubletTotalCost: repairCosts.SubletTotalCost.toFormat(AHDineroFormat), BodyLaborTotal: Dinero(job.job_totals.rates.lab.total).toFormat( AHDineroFormat ), - BodyLaborTotalCost: 0, + BodyLaborTotalCost: + repairCosts.BodyLaborTotalCost.toFormat(AHDineroFormat), RefinishLaborTotal: Dinero(job.job_totals.rates.lar.total).toFormat( AHDineroFormat ), - RefinishLaborTotalCost: 0, + RefinishLaborTotalCost: + repairCosts.RefinishLaborTotalCost.toFormat(AHDineroFormat), MechanicalLaborTotal: Dinero(job.job_totals.rates.lam.total).toFormat( AHDineroFormat ), - MechanicalLaborTotalCost: 0, + MechanicalLaborTotalCost: + repairCosts.MechanicalLaborTotalCost.toFormat(AHDineroFormat), StructuralLaborTotal: Dinero(job.job_totals.rates.las.total).toFormat( AHDineroFormat ), - StructuralLaborTotalCost: null, + StructuralLaborTotalCost: + repairCosts.StructuralLaborTotalCost.toFormat(AHDineroFormat), MiscellaneousChargeTotal: null, MiscellaneousChargeTotalCost: null, PMTotal: Dinero(job.job_totals.rates.mapa.total).toFormat( @@ -437,11 +456,11 @@ const CreateRepairOrderTag = (job, errorCallback) => { TowingTotal: Dinero(job.job_totals.additional.towing).toFormat( AHDineroFormat ), - TowingTotalCost: null, + TowingTotalCost: repairCosts.TowingTotalCost.toFormat(AHDineroFormat), StorageTotal: Dinero(job.job_totals.additional.storage).toFormat( AHDineroFormat ), - StorageTotalCost: null, + StorageTotalCost: repairCosts.StorageTotalCost.toFormat(AHDineroFormat), DetailTotal: null, DetailTotalCost: null, SalesTaxTotal: Dinero(job.job_totals.totals.local_tax) @@ -472,7 +491,7 @@ const CreateRepairOrderTag = (job, errorCallback) => { Hub50Comment: null, DateofChange: null, BodyTechName: null, - TotalLossYN: null, + TotalLossYN: job.tlos_ind ? "Y" : "N", InsScreenCommentsLine1: null, InsScreenCommentsLine2: null, AssignmentCaller: null, @@ -483,7 +502,9 @@ const CreateRepairOrderTag = (job, errorCallback) => { PaintTechName: null, ImportType: null, ImportFile: null, - GSTTax: null, + GSTTax: Dinero(job.job_totals.totals.federal_tax).toFormat( + AHDineroFormat + ), RepairDelayStatusCode: null, RepairDelaycomment: null, AgentMktgID: null, diff --git a/server/graphql-client/queries.js b/server/graphql-client/queries.js index 91f519c5f..00a1c90ab 100644 --- a/server/graphql-client/queries.js +++ b/server/graphql-client/queries.js @@ -554,6 +554,7 @@ exports.AUTOHOUSE_QUERY = `query AUTOHOUSE_EXPORT($start: timestamptz, $bodyshop rate_mash job_totals driveable + parts_tax_rates bodyshop { id shopname