diff --git a/.vscode/settings.json b/.vscode/settings.json index 75e6b0da2..dd6a1330b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,10 @@ { "pattern": "**/Test.xml", "systemId": "file:///Users/pfic/Downloads/IMEX.xsd" + }, + { + "pattern": "**/IMEX.xml", + "systemId": "logs/IMEX.xsd" } ] } diff --git a/server/data/autohouse.js b/server/data/autohouse.js index 1475ceccf..c8941e88b 100644 --- a/server/data/autohouse.js +++ b/server/data/autohouse.js @@ -5,6 +5,7 @@ const moment = require("moment"); var builder = require("xmlbuilder2"); const _ = require("lodash"); const logger = require("../utils/logger"); +const fs = require("fs"); require("dotenv").config({ path: path.resolve( process.cwd(), @@ -47,7 +48,7 @@ exports.default = async (req, res) => { try { const { jobs } = await client.request(queries.AUTOHOUSE_QUERY, { bodyshopid: bodyshop.id, - start: moment().subtract(30, "days").startOf("day"), + start: moment().subtract(3, "days").startOf("day"), }); const autoHouseObject = { @@ -111,13 +112,16 @@ exports.default = async (req, res) => { }); } } - res.json(allxmlsToUpload); - if (process.env.NODE_ENV !== "production") { - res.json(allxmlsToUpload); - return; + //if (process.env.NODE_ENV !== "production") { + for (const xmlObj of allxmlsToUpload) { + fs.writeFileSync(`./logs/${xmlObj.filename}`, xmlObj.xml); } + res.json(allxmlsToUpload); + return; + // } + let sftp = new Client(); sftp.on("error", (errors) => logger.log("autohouse-sftp-error", "ERROR", "api", null, { @@ -631,8 +635,9 @@ const CreateCosts = (job) => { billTotalsByCostCenters[defaultCosts.PAP] || Dinero() ), PartsAMCost: billTotalsByCostCenters[defaultCosts.PAA] || Dinero(), - PartsReconditionedCost: Dinero(), - PartsRecycledCost: billTotalsByCostCenters[defaultCosts.PAR] || Dinero(), + PartsReconditionedCost: + billTotalsByCostCenters[defaultCosts.PAM] || Dinero(), + PartsRecycledCost: billTotalsByCostCenters[defaultCosts.PAL] || Dinero(), PartsOtherCost: billTotalsByCostCenters[defaultCosts.PAO] || Dinero(), SubletTotalCost: billTotalsByCostCenters[defaultCosts.PAS] || Dinero(), BodyLaborTotalCost: ticketTotalsByCostCenter[defaultCosts.LAB] || Dinero(), @@ -700,7 +705,7 @@ const GenerateDetailLines = (line, statuses) => { OrderedOn: null, OriginalCost: null, OriginalInvoiceNumber: null, - PriceEach: (line.billlines[0] && line.billlines[0].actual_cost) || 0, + PriceEach: (line.billlines[0] && line.billlines[0].retail_price) || 0, PartNumber: _.escape(line.oem_partno), ProfitPercent: null, PurchaseOrderNumber: null, @@ -717,7 +722,7 @@ const GenerateDetailLines = (line, statuses) => { OrderedBy: null, ShipVia: null, VendorContact: null, - EstimateAmount: line.act_price || 0, + EstimateAmount: line.act_price * line.part_qty || 0, //Rebecca }; return ret; }; diff --git a/server/graphql-client/queries.js b/server/graphql-client/queries.js index bac54912b..86459e3d1 100644 --- a/server/graphql-client/queries.js +++ b/server/graphql-client/queries.js @@ -525,7 +525,7 @@ exports.QUERY_EMPLOYEE_PIN = `query QUERY_EMPLOYEE_PIN($shopId: uuid!, $employee }`; exports.AUTOHOUSE_QUERY = `query AUTOHOUSE_EXPORT($start: timestamptz, $bodyshopid: uuid!) { - jobs(where: {_and: [{converted: {_eq: true}}, {updated_at: {_gt: $start}}, {shopid: {_eq: $bodyshopid}}]} ) { + jobs(where: {_and: [{converted: {_eq: true}}, {updated_at: {_gt: $start}}, {shopid: {_eq: $bodyshopid}}]}) { id ro_number status