IO-1414 Job costing GP and decimals fix.
This commit is contained in:
@@ -218,7 +218,7 @@ async function JobCostingMulti(req, res) {
|
|||||||
(multiSummary.summaryData.totalLaborGp.getAmount() /
|
(multiSummary.summaryData.totalLaborGp.getAmount() /
|
||||||
multiSummary.summaryData.totalLaborSales.getAmount()) *
|
multiSummary.summaryData.totalLaborSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
multiSummary.summaryData.totalLaborGppercentFormatted = formatGpPercent(
|
multiSummary.summaryData.totalLaborGppercentFormatted = formatGpPercent(
|
||||||
multiSummary.summaryData.totalLaborGppercent
|
multiSummary.summaryData.totalLaborGppercent
|
||||||
);
|
);
|
||||||
@@ -227,7 +227,7 @@ async function JobCostingMulti(req, res) {
|
|||||||
(multiSummary.summaryData.totalPartsGp.getAmount() /
|
(multiSummary.summaryData.totalPartsGp.getAmount() /
|
||||||
multiSummary.summaryData.totalPartsSales.getAmount()) *
|
multiSummary.summaryData.totalPartsSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
|
|
||||||
multiSummary.summaryData.totalPartsGppercentFormatted = formatGpPercent(
|
multiSummary.summaryData.totalPartsGppercentFormatted = formatGpPercent(
|
||||||
multiSummary.summaryData.totalPartsGppercent
|
multiSummary.summaryData.totalPartsGppercent
|
||||||
@@ -237,7 +237,7 @@ async function JobCostingMulti(req, res) {
|
|||||||
(multiSummary.summaryData.totalAdditionalGp.getAmount() /
|
(multiSummary.summaryData.totalAdditionalGp.getAmount() /
|
||||||
multiSummary.summaryData.totalAdditionalSales.getAmount()) *
|
multiSummary.summaryData.totalAdditionalSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
|
|
||||||
multiSummary.summaryData.totalAdditionalGppercentFormatted =
|
multiSummary.summaryData.totalAdditionalGppercentFormatted =
|
||||||
formatGpPercent(multiSummary.summaryData.totalAdditionalGppercent);
|
formatGpPercent(multiSummary.summaryData.totalAdditionalGppercent);
|
||||||
@@ -246,7 +246,7 @@ async function JobCostingMulti(req, res) {
|
|||||||
(multiSummary.summaryData.totalSubletGp.getAmount() /
|
(multiSummary.summaryData.totalSubletGp.getAmount() /
|
||||||
multiSummary.summaryData.totalSubletSales.getAmount()) *
|
multiSummary.summaryData.totalSubletSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
|
|
||||||
multiSummary.summaryData.totalSubletGppercentFormatted = formatGpPercent(
|
multiSummary.summaryData.totalSubletGppercentFormatted = formatGpPercent(
|
||||||
multiSummary.summaryData.totalSubletGppercent
|
multiSummary.summaryData.totalSubletGppercent
|
||||||
@@ -256,7 +256,7 @@ async function JobCostingMulti(req, res) {
|
|||||||
(multiSummary.summaryData.gpdollars.getAmount() /
|
(multiSummary.summaryData.gpdollars.getAmount() /
|
||||||
multiSummary.summaryData.totalSales.getAmount()) *
|
multiSummary.summaryData.totalSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
|
|
||||||
multiSummary.summaryData.gppercentFormatted = formatGpPercent(
|
multiSummary.summaryData.gppercentFormatted = formatGpPercent(
|
||||||
multiSummary.summaryData.gppercent
|
multiSummary.summaryData.gppercent
|
||||||
@@ -282,7 +282,7 @@ async function JobCostingMulti(req, res) {
|
|||||||
(
|
(
|
||||||
(c.gpdollars_dinero.getAmount() / c.sales_dinero.getAmount()) *
|
(c.gpdollars_dinero.getAmount() / c.sales_dinero.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2)
|
).toFixed(1)
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@@ -730,9 +730,9 @@ function GenerateCostingData(job) {
|
|||||||
.add(sale_sublet);
|
.add(sale_sublet);
|
||||||
const gpdollars = totalSales.subtract(costs);
|
const gpdollars = totalSales.subtract(costs);
|
||||||
const gppercent = (
|
const gppercent = (
|
||||||
(gpdollars.getAmount() / totalSales.getAmount()) *
|
(gpdollars.getAmount() / Math.abs(totalSales.getAmount())) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
|
|
||||||
//Push summary data to avoid extra loop.
|
//Push summary data to avoid extra loop.
|
||||||
summaryData.totalLaborSales = summaryData.totalLaborSales.add(sale_labor);
|
summaryData.totalLaborSales = summaryData.totalLaborSales.add(sale_labor);
|
||||||
@@ -823,7 +823,7 @@ function GenerateCostingData(job) {
|
|||||||
(summaryData.totalLaborGp.getAmount() /
|
(summaryData.totalLaborGp.getAmount() /
|
||||||
summaryData.totalLaborSales.getAmount()) *
|
summaryData.totalLaborSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
summaryData.totalLaborGppercentFormatted = formatGpPercent(
|
summaryData.totalLaborGppercentFormatted = formatGpPercent(
|
||||||
summaryData.totalLaborGppercent
|
summaryData.totalLaborGppercent
|
||||||
);
|
);
|
||||||
@@ -835,7 +835,7 @@ function GenerateCostingData(job) {
|
|||||||
(summaryData.totalPartsGp.getAmount() /
|
(summaryData.totalPartsGp.getAmount() /
|
||||||
summaryData.totalPartsSales.getAmount()) *
|
summaryData.totalPartsSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
summaryData.totalPartsGppercentFormatted = formatGpPercent(
|
summaryData.totalPartsGppercentFormatted = formatGpPercent(
|
||||||
summaryData.totalPartsGppercent
|
summaryData.totalPartsGppercent
|
||||||
);
|
);
|
||||||
@@ -846,7 +846,7 @@ function GenerateCostingData(job) {
|
|||||||
(summaryData.totalAdditionalGp.getAmount() /
|
(summaryData.totalAdditionalGp.getAmount() /
|
||||||
summaryData.totalAdditionalSales.getAmount()) *
|
summaryData.totalAdditionalSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
summaryData.totalAdditionalGppercentFormatted = formatGpPercent(
|
summaryData.totalAdditionalGppercentFormatted = formatGpPercent(
|
||||||
summaryData.totalAdditionalGppercent
|
summaryData.totalAdditionalGppercent
|
||||||
);
|
);
|
||||||
@@ -857,7 +857,7 @@ function GenerateCostingData(job) {
|
|||||||
(summaryData.totalSubletGp.getAmount() /
|
(summaryData.totalSubletGp.getAmount() /
|
||||||
summaryData.totalSubletSales.getAmount()) *
|
summaryData.totalSubletSales.getAmount()) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
summaryData.totalSubletGppercentFormatted = formatGpPercent(
|
summaryData.totalSubletGppercentFormatted = formatGpPercent(
|
||||||
summaryData.totalSubletGppercent
|
summaryData.totalSubletGppercent
|
||||||
);
|
);
|
||||||
@@ -866,9 +866,10 @@ function GenerateCostingData(job) {
|
|||||||
summaryData.totalCost
|
summaryData.totalCost
|
||||||
);
|
);
|
||||||
summaryData.gppercent = (
|
summaryData.gppercent = (
|
||||||
(summaryData.gpdollars.getAmount() / summaryData.totalSales.getAmount()) *
|
(summaryData.gpdollars.getAmount() /
|
||||||
|
Math.abs(summaryData.totalSales.getAmount())) *
|
||||||
100
|
100
|
||||||
).toFixed(2);
|
).toFixed(1);
|
||||||
|
|
||||||
if (isNaN(summaryData.gppercent)) summaryData.gppercentFormatted = 0;
|
if (isNaN(summaryData.gppercent)) summaryData.gppercentFormatted = 0;
|
||||||
else if (!isFinite(summaryData.gppercent))
|
else if (!isFinite(summaryData.gppercent))
|
||||||
|
|||||||
Reference in New Issue
Block a user