IO-1166 Job Costing Summaries updates.

This commit is contained in:
Patrick Fic
2021-05-31 12:21:27 -07:00
parent 46dff9f52c
commit 7524cdf0b1

View File

@@ -67,6 +67,12 @@ async function JobCostingMulti(req, res) {
gpdollars: Dinero({ amount: 0 }),
gppercent: null,
gppercentFormatted: null,
totalLaborGp: Dinero({ amount: 0 }),
totalPartsGp: Dinero({ amount: 0 }),
totalLaborGppercent: null,
totalLaborGppercentFormatted: null,
totalPartsGppercent: null,
totalPartsGppercentFormatted: null,
},
};
@@ -149,12 +155,39 @@ async function JobCostingMulti(req, res) {
multiSummary.summaryData.gpdollars.add(
costingData.summaryData.gpdollars
);
multiSummary.summaryData.totalLaborGp =
multiSummary.summaryData.totalLaborGp.add(
costingData.summaryData.totalLaborGp
);
multiSummary.summaryData.totalPartsGp =
multiSummary.summaryData.totalPartsGp.add(
costingData.summaryData.totalPartsGp
);
console.timeEnd(`SummaryOfCostingData-${job.id}`);
//Take the summary data & add it to total summary data.
});
//For each center, recalculate and toFormat() the values.
multiSummary.summaryData.gpdollars;
multiSummary.summaryData.totalLaborGppercent = (
(multiSummary.summaryData.totalLaborGp.getAmount() /
multiSummary.summaryData.totalLaborSales.getAmount()) *
100
).toFixed(2);
multiSummary.summaryData.totalLaborGppercentFormatted = formatGpPercent(
multiSummary.summaryData.totalLaborGppercent
);
multiSummary.summaryData.totalPartsGppercent = (
(multiSummary.summaryData.totalPartsGp.getAmount() /
multiSummary.summaryData.totalPartsSales.getAmount()) *
100
).toFixed(2);
multiSummary.summaryData.totalPartsGppercentFormatted = formatGpPercent(
multiSummary.summaryData.totalPartsGppercent
);
multiSummary.summaryData.gppercent = (
(multiSummary.summaryData.gpdollars.getAmount() /
@@ -418,7 +451,14 @@ function GenerateCostingData(job) {
totalLaborCost: Dinero({ amount: 0 }),
totalPartsCost: Dinero({ amount: 0 }),
totalCost: Dinero({ amount: 0 }),
totalLaborGp: Dinero({ amount: 0 }),
totalPartsGp: Dinero({ amount: 0 }),
gpdollars: Dinero({ amount: 0 }),
totalLaborGppercent: null,
totalLaborGppercentFormatted: null,
totalPartsGppercent: null,
totalPartsGppercentFormatted: null,
gppercent: null,
gppercentFormatted: null,
};
@@ -503,6 +543,31 @@ function GenerateCostingData(job) {
}
//Final summary data massaging.
summaryData.totalLaborGp = summaryData.totalLaborSales.subtract(
summaryData.totalLaborCost
);
summaryData.totalLaborGppercent = (
(summaryData.totalLaborGp.getAmount() /
summaryData.totalLaborSales.getAmount()) *
100
).toFixed(2);
summaryData.totalLaborGppercentFormatted = formatGpPercent(
summaryData.totalLaborGppercent
);
summaryData.totalPartsGp = summaryData.totalPartsSales.subtract(
summaryData.totalPartsCost
);
summaryData.totalPartsGppercent = (
(summaryData.totalPartsGp.getAmount() /
summaryData.totalPartsSales.getAmount()) *
100
).toFixed(2);
summaryData.totalPartsGppercentFormatted = formatGpPercent(
summaryData.totalPartsGppercent
);
summaryData.gpdollars = summaryData.totalSales.subtract(
summaryData.totalCost
);
@@ -510,6 +575,7 @@ function GenerateCostingData(job) {
(summaryData.gpdollars.getAmount() / summaryData.totalSales.getAmount()) *
100
).toFixed(2);
if (isNaN(summaryData.gppercent)) summaryData.gppercentFormatted = 0;
else if (!isFinite(summaryData.gppercent))
summaryData.gppercentFormatted = "- ∞";