From 385de3eaaaa5b10f2a02fa1322c5e7e24d2b65fb Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Tue, 19 Jul 2022 12:35:06 -0700 Subject: [PATCH] IO-1414 Job costing GP and decimals fix. --- server/job/job-costing.js | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/server/job/job-costing.js b/server/job/job-costing.js index 13f9201cc..19cd70f0a 100644 --- a/server/job/job-costing.js +++ b/server/job/job-costing.js @@ -218,7 +218,7 @@ async function JobCostingMulti(req, res) { (multiSummary.summaryData.totalLaborGp.getAmount() / multiSummary.summaryData.totalLaborSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); multiSummary.summaryData.totalLaborGppercentFormatted = formatGpPercent( multiSummary.summaryData.totalLaborGppercent ); @@ -227,7 +227,7 @@ async function JobCostingMulti(req, res) { (multiSummary.summaryData.totalPartsGp.getAmount() / multiSummary.summaryData.totalPartsSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); multiSummary.summaryData.totalPartsGppercentFormatted = formatGpPercent( multiSummary.summaryData.totalPartsGppercent @@ -237,7 +237,7 @@ async function JobCostingMulti(req, res) { (multiSummary.summaryData.totalAdditionalGp.getAmount() / multiSummary.summaryData.totalAdditionalSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); multiSummary.summaryData.totalAdditionalGppercentFormatted = formatGpPercent(multiSummary.summaryData.totalAdditionalGppercent); @@ -246,7 +246,7 @@ async function JobCostingMulti(req, res) { (multiSummary.summaryData.totalSubletGp.getAmount() / multiSummary.summaryData.totalSubletSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); multiSummary.summaryData.totalSubletGppercentFormatted = formatGpPercent( multiSummary.summaryData.totalSubletGppercent @@ -256,7 +256,7 @@ async function JobCostingMulti(req, res) { (multiSummary.summaryData.gpdollars.getAmount() / multiSummary.summaryData.totalSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); multiSummary.summaryData.gppercentFormatted = formatGpPercent( multiSummary.summaryData.gppercent @@ -282,7 +282,7 @@ async function JobCostingMulti(req, res) { ( (c.gpdollars_dinero.getAmount() / c.sales_dinero.getAmount()) * 100 - ).toFixed(2) + ).toFixed(1) ), }; }); @@ -730,9 +730,9 @@ function GenerateCostingData(job) { .add(sale_sublet); const gpdollars = totalSales.subtract(costs); const gppercent = ( - (gpdollars.getAmount() / totalSales.getAmount()) * + (gpdollars.getAmount() / Math.abs(totalSales.getAmount())) * 100 - ).toFixed(2); + ).toFixed(1); //Push summary data to avoid extra loop. summaryData.totalLaborSales = summaryData.totalLaborSales.add(sale_labor); @@ -823,7 +823,7 @@ function GenerateCostingData(job) { (summaryData.totalLaborGp.getAmount() / summaryData.totalLaborSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); summaryData.totalLaborGppercentFormatted = formatGpPercent( summaryData.totalLaborGppercent ); @@ -835,7 +835,7 @@ function GenerateCostingData(job) { (summaryData.totalPartsGp.getAmount() / summaryData.totalPartsSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); summaryData.totalPartsGppercentFormatted = formatGpPercent( summaryData.totalPartsGppercent ); @@ -846,7 +846,7 @@ function GenerateCostingData(job) { (summaryData.totalAdditionalGp.getAmount() / summaryData.totalAdditionalSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); summaryData.totalAdditionalGppercentFormatted = formatGpPercent( summaryData.totalAdditionalGppercent ); @@ -857,7 +857,7 @@ function GenerateCostingData(job) { (summaryData.totalSubletGp.getAmount() / summaryData.totalSubletSales.getAmount()) * 100 - ).toFixed(2); + ).toFixed(1); summaryData.totalSubletGppercentFormatted = formatGpPercent( summaryData.totalSubletGppercent ); @@ -866,9 +866,10 @@ function GenerateCostingData(job) { summaryData.totalCost ); summaryData.gppercent = ( - (summaryData.gpdollars.getAmount() / summaryData.totalSales.getAmount()) * + (summaryData.gpdollars.getAmount() / + Math.abs(summaryData.totalSales.getAmount())) * 100 - ).toFixed(2); + ).toFixed(1); if (isNaN(summaryData.gppercent)) summaryData.gppercentFormatted = 0; else if (!isFinite(summaryData.gppercent))