diff --git a/client/src/components/job-detail-lines/job-lines.component.jsx b/client/src/components/job-detail-lines/job-lines.component.jsx index 1b1964664..08834e7bb 100644 --- a/client/src/components/job-detail-lines/job-lines.component.jsx +++ b/client/src/components/job-detail-lines/job-lines.component.jsx @@ -162,7 +162,11 @@ export function JobLinesComponent({ ellipsis: true, render: (text, record) => ( <> - {record.act_price} + + {record.db_ref === "900510" || record.db_ref === "900511" + ? record.prt_dsmk_m + : record.act_price} + {record.prt_dsmk_p && record.prt_dsmk_p !== 0 ? ( 0 ? 1 : -1) + ? Dinero({ amount: Math.round(value.prt_dsmk_m * 100) }) + : Dinero({ + amount: Math.round(value.act_price * 100), + }) + .multiply(value.part_qty || 0) + .percentage(Math.abs(value.prt_dsmk_p || 0)) + .multiply(value.prt_dsmk_p > 0 ? 1 : -1) ), - list: { - ...acc.parts.list, - [value.part_type]: - acc.parts.list[value.part_type] && - acc.parts.list[value.part_type].total - ? { - total: acc.parts.list[value.part_type].total.add( - Dinero({ - amount: Math.round((value.act_price || 0) * 100), - }).multiply(value.part_qty || 0) - ), - } - : { - total: Dinero({ - amount: Math.round((value.act_price || 0) * 100), - }).multiply(value.part_qty || 0), - }, - }, + ...(value.part_type + ? { + list: { + ...acc.parts.list, + [value.part_type]: + acc.parts.list[value.part_type] && + acc.parts.list[value.part_type].total + ? { + total: acc.parts.list[ + value.part_type + ].total.add( + Dinero({ + amount: Math.round( + (value.act_price || 0) * 100 + ), + }).multiply(value.part_qty || 0) + ), + } + : { + total: Dinero({ + amount: Math.round( + (value.act_price || 0) * 100 + ), + }).multiply(value.part_qty || 0), + }, + }, + } + : {}), subtotal: acc.parts.subtotal .add( Dinero({ @@ -325,13 +340,13 @@ function CalculatePartsTotals(jobLines) { ) .add( value.prt_dsmk_m && value.prt_dsmk_m !== 0 - ? Dinero({ amount: Math.round(value.prt_dsmk_m * 100) }) - : Dinero({ - amount: Math.round(value.act_price * 100), - }) - .multiply(value.part_qty || 0) - .percentage(Math.abs(value.prt_dsmk_p || 0)) - .multiply(value.prt_dsmk_p > 0 ? 1 : -1) + ? Dinero({ amount: Math.round(value.prt_dsmk_m * 100) }) + : Dinero({ + amount: Math.round(value.act_price * 100), + }) + .multiply(value.part_qty || 0) + .percentage(Math.abs(value.prt_dsmk_p || 0)) + .multiply(value.prt_dsmk_p > 0 ? 1 : -1) ), }, }; @@ -465,13 +480,13 @@ function CalculateTaxesTotals(job, otherTotals) { .multiply(val.part_qty || 0) .add( val.prt_dsmk_m && val.prt_dsmk_m !== 0 - ? Dinero({ amount: Math.round(val.prt_dsmk_m * 100) }) - : Dinero({ - amount: Math.round(val.act_price * 100), - }) - .multiply(val.part_qty || 0) - .percentage(Math.abs(val.prt_dsmk_p || 0)) - .multiply(val.prt_dsmk_p > 0 ? 1 : -1) + ? Dinero({ amount: Math.round(val.prt_dsmk_m * 100) }) + : Dinero({ + amount: Math.round(val.act_price * 100), + }) + .multiply(val.part_qty || 0) + .percentage(Math.abs(val.prt_dsmk_p || 0)) + .multiply(val.prt_dsmk_p > 0 ? 1 : -1) ) .percentage( ((job.parts_tax_rates && @@ -481,6 +496,10 @@ function CalculateTaxesTotals(job, otherTotals) { val.part_type.startsWith("PAG") && BackupGlassTax && BackupGlassTax.prt_tax_rt) || + (!val.part_type && + val.db_ref === "900510" && + job.parts_tax_rates["PAN"] && + job.parts_tax_rates["PAN"].prt_tax_rt) || 0) * 100 ) );