diff --git a/client/src/components/jobs-available-table/jobs-available-table.container.jsx b/client/src/components/jobs-available-table/jobs-available-table.container.jsx index 134946530..d77d5c1d3 100644 --- a/client/src/components/jobs-available-table/jobs-available-table.container.jsx +++ b/client/src/components/jobs-available-table/jobs-available-table.container.jsx @@ -98,23 +98,7 @@ export function JobsAvailableContainer({ return; } //IO-539 Check for Parts Rate on PAL for SGI use case. - - if ( - estData.est_data.parts_tax_rates && - estData.est_data.parts_tax_rates.PAL && - (estData.est_data.parts_tax_rates.PAL.prt_tax_rt === null || - estData.est_data.parts_tax_rates.PAL.prt_tax_rt === 0) - ) { - console.log("checking"); - const res = await confirmDialog( - `ImEX Online has detected that there is a missing tax rate for used parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}%.` - ); - if (res) { - estData.est_data.parts_tax_rates.PAL.prt_tax_rt = - bodyshop.bill_tax_rates.state_tax_rate / 100; - estData.est_data.parts_tax_rates.PAL.prt_tax_in = true; - } - } + await CheckTaxRates(estData, bodyshop); const newTotals = ( await Axios.post("/job/totals", { @@ -215,22 +199,7 @@ export function JobsAvailableContainer({ }); } else { //IO-539 Check for Parts Rate on PAL for SGI use case. - if ( - estData.est_data.parts_tax_rates && - estData.est_data.parts_tax_rates.PAL && - (estData.est_data.parts_tax_rates.PAL.prt_tax_rt === null || - estData.est_data.parts_tax_rates.PAL.prt_tax_rt === 0) - ) { - console.log("checking"); - const res = await confirmDialog( - `ImEX Online has detected that there is a missing tax rate for used parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}%.` - ); - if (res) { - estData.est_data.parts_tax_rates.PAL.prt_tax_rt = - bodyshop.bill_tax_rates.state_tax_rate / 100; - estData.est_data.parts_tax_rates.PAL.prt_tax_in = true; - } - } + await CheckTaxRates(estData, bodyshop); //create upsert job let supp = replaceEmpty({ ...estData.est_data }); @@ -432,3 +401,98 @@ function confirmDialog(msg) { return confirmed ? resolve(true) : resolve(false); }); } + +async function CheckTaxRates(estData, bodyshop) { + //LKQ Check + if ( + !estData.est_data.parts_tax_rates?.PAL || + estData.est_data.parts_tax_rates?.PAL?.prt_tax_rt === null || + estData.est_data.parts_tax_rates?.PAL?.prt_tax_rt === 0 + ) { + const res = await confirmDialog( + `ImEX Online has detected that there is a missing tax rate for LKQ parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.` + ); + if (res) { + if (!estData.est_data.parts_tax_rates.PAL) { + estData.est_data.parts_tax_rates.PAL = { + prt_discp: 0, + prt_mktyp: true, + prt_mkupp: 0, + prt_type: "PAL", + }; + } + estData.est_data.parts_tax_rates.PAL.prt_tax_rt = + bodyshop.bill_tax_rates.state_tax_rate / 100; + estData.est_data.parts_tax_rates.PAL.prt_tax_in = true; + } + } + //PAC Check + if ( + !estData.est_data.parts_tax_rates?.PAC || + estData.est_data.parts_tax_rates?.PAC?.prt_tax_rt === null || + estData.est_data.parts_tax_rates?.PAC?.prt_tax_rt === 0 + ) { + const res = await confirmDialog( + `ImEX Online has detected that there is a missing tax rate for rechromed parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.` + ); + if (res) { + if (!estData.est_data.parts_tax_rates.PAC) { + estData.est_data.parts_tax_rates.PAC = { + prt_discp: 0, + prt_mktyp: true, + prt_mkupp: 0, + prt_type: "PAC", + }; + } + estData.est_data.parts_tax_rates.PAC.prt_tax_rt = + bodyshop.bill_tax_rates.state_tax_rate / 100; + estData.est_data.parts_tax_rates.PAC.prt_tax_in = true; + } + } + //PAM Check + if ( + !estData.est_data.parts_tax_rates?.PAM || + estData.est_data.parts_tax_rates?.PAM?.prt_tax_rt === null || + estData.est_data.parts_tax_rates?.PAM?.prt_tax_rt === 0 + ) { + const res = await confirmDialog( + `ImEX Online has detected that there is a missing tax rate for remanufactured parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.` + ); + if (res) { + if (!estData.est_data.parts_tax_rates.PAM) { + estData.est_data.parts_tax_rates.PAM = { + prt_discp: 0, + prt_mktyp: true, + prt_mkupp: 0, + prt_type: "PAM", + }; + } + estData.est_data.parts_tax_rates.PAM.prt_tax_rt = + bodyshop.bill_tax_rates.state_tax_rate / 100; + estData.est_data.parts_tax_rates.PAM.prt_tax_in = true; + } + } + + if ( + !estData.est_data.parts_tax_rates?.PAR || + estData.est_data.parts_tax_rates?.PAR?.prt_tax_rt === null || + estData.est_data.parts_tax_rates?.PAR?.prt_tax_rt === 0 + ) { + const res = await confirmDialog( + `ImEX Online has detected that there is a missing tax rate for recored parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.` + ); + if (res) { + if (!estData.est_data.parts_tax_rates.PAR) { + estData.est_data.parts_tax_rates.PAR = { + prt_discp: 0, + prt_mktyp: true, + prt_mkupp: 0, + prt_type: "PAR", + }; + } + estData.est_data.parts_tax_rates.PAR.prt_tax_rt = + bodyshop.bill_tax_rates.state_tax_rate / 100; + estData.est_data.parts_tax_rates.PAR.prt_tax_in = true; + } + } +}