From 026da0039cdff64ce915b73f880c9927252cf22f Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Fri, 30 Apr 2021 10:50:26 -0700 Subject: [PATCH] IO-854 Costing Totals adjustments [ci-ignore] --- .../job-costing-parts-table.component.jsx | 3 +- server/job/job-costing.js | 32 +++++++++++++++++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/client/src/components/job-costing-parts-table/job-costing-parts-table.component.jsx b/client/src/components/job-costing-parts-table/job-costing-parts-table.component.jsx index e18a9692e..a92c5e550 100644 --- a/client/src/components/job-costing-parts-table/job-costing-parts-table.component.jsx +++ b/client/src/components/job-costing-parts-table/job-costing-parts-table.component.jsx @@ -77,6 +77,7 @@ export default function JobCostingPartsTable({ data, summaryData }) { .includes(searchText.toLowerCase()) ); + console.log("data :>> ", data); return (
p.name), job.bodyshop.md_responsibility_centers.costs.map((p) => p.name) ); @@ -359,7 +359,7 @@ function GenerateCostingData(job) { gppercentFormatted: null, }; - const costCenterData = allProfitCenters.map((key, idx) => { + const costCenterData = allCenters.map((key, idx) => { const ccVal = key; // defaultProfits[key]; const sale_labor = jobLineTotalsByProfitCenter.labor[ccVal] || Dinero({ amount: 0 }); @@ -410,6 +410,34 @@ function GenerateCostingData(job) { }; }); + //Push adjustments to bottom line. + if (job.adjustment_bottom_line) { + //Add to totals. + const Adjustment = Dinero({ amount: job.adjustment_bottom_line * -100 }); //Need to invert, since this is being assigned as a cost. + summaryData.totalLaborCost = summaryData.totalLaborCost.add(Adjustment); + summaryData.totalCost = summaryData.totalCost.add(Adjustment); + //Add to lines. + costCenterData.push({ + id: "Adj", + cost_center: "Adjustment", + sale_labor: Dinero().toFormat(), + sale_labor_dinero: Dinero(), + sale_parts: Dinero().toFormat(), + sale_parts_dinero: Dinero(), + sales: Dinero().toFormat(), + sales_dinero: Dinero(), + cost_parts: Dinero().toFormat(), + cost_parts_dinero: Dinero(), + cost_labor: Adjustment.toFormat(), + cost_labor_dinero: Adjustment, + costs: Adjustment.toFormat(), + costs_dinero: Adjustment, + gpdollars_dinero: Dinero(), + gpdollars: Dinero().toFormat(), + gppercent: formatGpPercent(0), + }); + } + //Final summary data massaging. summaryData.gpdollars = summaryData.totalSales.subtract( summaryData.totalCost