From a0bb07abfdb9d4dc341e3c3350e14c97d1d6794c Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 10 Sep 2020 10:50:04 -0700 Subject: [PATCH] Fixed totals calculations for jobs coming in from Mitchell. --- .../job-totals-table.component.jsx | 7 ++++ server/job/job-totals.js | 36 +++++++++---------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/client/src/components/job-totals-table/job-totals-table.component.jsx b/client/src/components/job-totals-table/job-totals-table.component.jsx index 5a5b3c65f..da092fc06 100644 --- a/client/src/components/job-totals-table/job-totals-table.component.jsx +++ b/client/src/components/job-totals-table/job-totals-table.component.jsx @@ -215,6 +215,13 @@ export function JobsTotalsTableComponent({ bodyshop, job }) { job.job_totals.parts.sublets.adjustments ).toFormat()})`} + + {t("jobs.labels.additionaltotal")} + + {Dinero(job.job_totals.parts.additional).toFormat()} + + + {t("jobs.labels.mapa")} diff --git a/server/job/job-totals.js b/server/job/job-totals.js index 7800b7172..e8d790f2a 100644 --- a/server/job/job-totals.js +++ b/server/job/job-totals.js @@ -63,13 +63,15 @@ function CalculateTaxesTotals(job, otherTotals) { if (!!!val.tax_part) return acc; // if (!!job.parts_tax_rates[val.part_type]) { // console.log("val.line_desc", val.line_desc); + return acc.add( Dinero({ amount: Math.round(val.act_price * 100) }) .multiply(val.part_qty) .percentage( - ((job.parts_tax_rates[val.part_type] && - job.parts_tax_rates[val.part_type].prt_tax_rt) || - 0.07) * 100 + (!val.part_type && val.lbr_op === "OP13" + ? job.parts_tax_rates["PAN"].prt_tax_rt + : job.parts_tax_rates[val.part_type] && + job.parts_tax_rates[val.part_type].prt_tax_rt) * 100 ) ); // } else { @@ -94,22 +96,18 @@ function CalculateTaxesTotals(job, otherTotals) { Dinero({ amount: Math.round((job.storage_payable || 0) * 100), }).percentage((job.tax_str_rt || 0) * 100) - ) - // .add( - // otherTotals.rates.mapa.total.percentage( - // (job.tax_paint_mat_rt || 0) * 100 - // ) - // ) - // .add( - // otherTotals.rates.mapa.total.percentage( - // (job.tax_paint_mat_rt || 0) * 100 - // ) - // ) - .add( - otherTotals.rates.mash.total.percentage( - (job.tax_shop_mat_rt || 0) * 100 - ) ), + //Currently commented out for mitchell as these come over as line items usually instead. + // .add( + // otherTotals.rates.mapa.total.percentage( + // (job.tax_paint_mat_rt || 0) * 100 + // ) + // ) + // .add( + // otherTotals.rates.mash.total.percentage( + // (job.tax_shop_mat_rt || 0) * 100 + // ) + // ) local_tax: subtotal.percentage((job.local_tax_rate || 0) * 100), }; ret.total_repairs = ret.subtotal @@ -262,7 +260,7 @@ function CalculatePartsTotals(jobLines) { }; default: - if (value.part_type === null) return acc; + if (!value.part_type) return acc; return { ...acc, parts: {