From 2ea3a10c8bf8b89a5d69825e90334c9b53841258 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Tue, 19 Mar 2024 09:42:07 -0700 Subject: [PATCH] IO-2696 Incorrect job totals showing per instance. --- .../job-totals.table.totals.component.jsx | 227 ++++++++++-------- client/src/translations/en_us/common.json | 4 +- 2 files changed, 127 insertions(+), 104 deletions(-) diff --git a/client/src/components/job-totals-table/job-totals.table.totals.component.jsx b/client/src/components/job-totals-table/job-totals.table.totals.component.jsx index 415df9695..c38b5c642 100644 --- a/client/src/components/job-totals-table/job-totals.table.totals.component.jsx +++ b/client/src/components/job-totals-table/job-totals.table.totals.component.jsx @@ -6,6 +6,7 @@ import {useTranslation} from "react-i18next"; import {connect} from "react-redux"; import {createStructuredSelector} from "reselect"; import {selectBodyshop} from "../../redux/user/user.selectors"; +import InstanceRenderManager from '../../utils/instanceRenderMgr'; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser @@ -29,108 +30,130 @@ export function JobTotalsTableTotals({bodyshop, job}) { total: job.job_totals.totals.subtotal, bold: true, }, - - ...(job.job_totals.totals.us_sales_tax_breakdown - ? [ - { - key: `${ - bodyshop.md_responsibility_centers.taxes.tax_ty1?.tax_type1 || - "T1" - } - ${[ - job.cieca_pft.ty1_rate1, - job.cieca_pft.ty1_rate2, - job.cieca_pft.ty1_rate3, - job.cieca_pft.ty1_rate4, - job.cieca_pft.ty1_rate5, - ] - .filter((i) => i > 0) - .join(", ")}%`, - total: job.job_totals.totals.us_sales_tax_breakdown.ty1Tax, - }, - { - key: `${ - bodyshop.md_responsibility_centers.taxes.tax_ty2?.tax_type2 || - "T2" - } - ${[ - job.cieca_pft.ty2_rate1, - job.cieca_pft.ty2_rate2, - job.cieca_pft.ty2_rate3, - job.cieca_pft.ty2_rate4, - job.cieca_pft.ty2_rate5, - ] - .filter((i) => i > 0) - .join(", ")}%`, - total: job.job_totals.totals.us_sales_tax_breakdown.ty2Tax, - }, - { - key: `${ - bodyshop.md_responsibility_centers.taxes.tax_ty3?.tax_type3 || - "T3" - } - ${[ - job.cieca_pft.ty3_rate1, - job.cieca_pft.ty3_rate2, - job.cieca_pft.ty3_rate3, - job.cieca_pft.ty3_rate4, - job.cieca_pft.ty3_rate5, - ] - .filter((i) => i > 0) - .join(", ")}%`, - total: job.job_totals.totals.us_sales_tax_breakdown.ty3Tax, - }, - { - key: `${ - bodyshop.md_responsibility_centers.taxes.tax_ty4?.tax_type4 || - "T4" - } - ${[ - job.cieca_pft.ty4_rate1, - job.cieca_pft.ty4_rate2, - job.cieca_pft.ty4_rate3, - job.cieca_pft.ty4_rate4, - job.cieca_pft.ty4_rate5, - ] - .filter((i) => i > 0) - .join(", ")}%`, - total: job.job_totals.totals.us_sales_tax_breakdown.ty4Tax, - }, - { - key: `${ - bodyshop.md_responsibility_centers.taxes.tax_ty5?.tax_type5 || - "TT" - } - ${[ - job.cieca_pft.ty5_rate1, - job.cieca_pft.ty5_rate2, - job.cieca_pft.ty5_rate3, - job.cieca_pft.ty5_rate4, - job.cieca_pft.ty5_rate5, - ] - .filter((i) => i > 0) - .join(", ")}%`, - total: job.job_totals.totals.us_sales_tax_breakdown.ty5Tax, - }, - { - key: t("jobs.labels.total_sales_tax"), - bold: true, - total: Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty1Tax) - .add( - Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty2Tax) - ) - .add( - Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty3Tax) - ) - .add( - Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty4Tax) - ) - .add( - Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty5Tax) - ).toJSON(), - }, - ].filter((item) => item.total.amount !== 0) - : [ - { - key: t("jobs.labels.state_tax_amt"), - total: job.job_totals.totals.state_tax, - }, - ]), +...InstanceRenderManager({imex: [ { + key: t("jobs.labels.local_tax_amt"), + total: job.job_totals.totals.local_tax, +}, +{ + key: t("jobs.labels.state_tax_amt"), + total: job.job_totals.totals.state_tax, +}, +...(bodyshop.region_config === "CA_BC" + ? [ + { + key: t("jobs.fields.ca_bc_pvrt"), + total: job.job_totals.additional.pvrt, + }, + ] + : []), +{ + key: t("jobs.labels.federal_tax_amt"), + total: job.job_totals.totals.federal_tax, +},], + promanager: "USE_ROME", +rome: [(job.job_totals.totals.us_sales_tax_breakdown + ? [ + { + key: `${ + bodyshop.md_responsibility_centers.taxes.tax_ty1?.tax_type1 || + "T1" + } - ${[ + job.cieca_pft.ty1_rate1, + job.cieca_pft.ty1_rate2, + job.cieca_pft.ty1_rate3, + job.cieca_pft.ty1_rate4, + job.cieca_pft.ty1_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, + total: job.job_totals.totals.us_sales_tax_breakdown.ty1Tax, + }, + { + key: `${ + bodyshop.md_responsibility_centers.taxes.tax_ty2?.tax_type2 || + "T2" + } - ${[ + job.cieca_pft.ty2_rate1, + job.cieca_pft.ty2_rate2, + job.cieca_pft.ty2_rate3, + job.cieca_pft.ty2_rate4, + job.cieca_pft.ty2_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, + total: job.job_totals.totals.us_sales_tax_breakdown.ty2Tax, + }, + { + key: `${ + bodyshop.md_responsibility_centers.taxes.tax_ty3?.tax_type3 || + "T3" + } - ${[ + job.cieca_pft.ty3_rate1, + job.cieca_pft.ty3_rate2, + job.cieca_pft.ty3_rate3, + job.cieca_pft.ty3_rate4, + job.cieca_pft.ty3_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, + total: job.job_totals.totals.us_sales_tax_breakdown.ty3Tax, + }, + { + key: `${ + bodyshop.md_responsibility_centers.taxes.tax_ty4?.tax_type4 || + "T4" + } - ${[ + job.cieca_pft.ty4_rate1, + job.cieca_pft.ty4_rate2, + job.cieca_pft.ty4_rate3, + job.cieca_pft.ty4_rate4, + job.cieca_pft.ty4_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, + total: job.job_totals.totals.us_sales_tax_breakdown.ty4Tax, + }, + { + key: `${ + bodyshop.md_responsibility_centers.taxes.tax_ty5?.tax_type5 || + "TT" + } - ${[ + job.cieca_pft.ty5_rate1, + job.cieca_pft.ty5_rate2, + job.cieca_pft.ty5_rate3, + job.cieca_pft.ty5_rate4, + job.cieca_pft.ty5_rate5, + ] + .filter((i) => i > 0) + .join(", ")}%`, + total: job.job_totals.totals.us_sales_tax_breakdown.ty5Tax, + }, + { + key: t("jobs.labels.total_sales_tax"), + bold: true, + total: Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty1Tax) + .add( + Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty2Tax) + ) + .add( + Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty3Tax) + ) + .add( + Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty4Tax) + ) + .add( + Dinero(job.job_totals.totals.us_sales_tax_breakdown.ty5Tax) + ).toJSON(), + }, + ].filter((item) => item.total.amount !== 0) + : [ + { + key: t("jobs.labels.state_tax_amt"), + total: job.job_totals.totals.state_tax, + }, + ])] +}), + { key: t("jobs.labels.total_repairs"), diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 334fdbc42..2e240846c 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -749,7 +749,7 @@ "refuelcharge": "Refuel Charge (per liter/gallon)", "scheduledreturn": "Scheduled Return", "start": "Contract Start", - "statetax": "State Taxes", + "statetax": "Provincial/State Taxes", "status": "Status" }, "labels": { @@ -2001,7 +2001,7 @@ "savebeforeconversion": "You have unsaved changes on the Job. Please save them before converting it. ", "scheduledinchange": "The scheduled in is based off the latest appointment. To change this date, please schedule or reschedule the Job. ", "specialcoveragepolicy": "Special Coverage Policy Applies", - "state_tax_amt": "State Taxes", + "state_tax_amt": "Provincial/State Taxes", "subletstotal": "Sublets Total", "subtotal": "Subtotal", "supplementnote": "The Job had a supplement imported.",