diff --git a/client/src/components/shop-info/shop-info.responsibilitycenters.component.jsx b/client/src/components/shop-info/shop-info.responsibilitycenters.component.jsx
index 70f78223b..278112762 100644
--- a/client/src/components/shop-info/shop-info.responsibilitycenters.component.jsx
+++ b/client/src/components/shop-info/shop-info.responsibilitycenters.component.jsx
@@ -695,25 +695,25 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
>
+ {!hasDMSKey && (
+
+
+
+ )}
{hasDMSKey && !bodyshop.rr_dealerid && (
- <>
-
-
-
-
-
-
- >
+
+
+
)}
{bodyshop.cdk_dealerid && (
0 && val.lbr_op === "OP14") {
+ if (val.act_price > 0 && val.lbr_op === "OP14") {
//Scenario where SGI may pay out hours using a part price.
acc.labor[laborProfitCenter] = acc.labor[laborProfitCenter].add(
Dinero({
@@ -469,10 +470,7 @@ function GenerateCostingData(job) {
}
//Additional Profit Center
- if (
- (!val.part_type && !val.mod_lbr_ty) ||
- (!val.part_type && val.mod_lbr_ty && val.act_price > 0 && val.lbr_op !== "OP14")
- ) {
+ if ((!val.part_type && !val.mod_lbr_ty) || (!val.part_type && val.mod_lbr_ty && val.lbr_op !== "OP14")) {
//Does it already have a defined profit center?
//If so, use it, otherwise try to use the same from the auto-allocate logic in IO app jobs-close-auto-allocate.
const partsProfitCenter = val.profitcenter_part || getAdditionalCostCenter(val, defaultProfits) || "Unknown";
@@ -524,7 +522,12 @@ function GenerateCostingData(job) {
}).multiply(materialsHours.mapaHrs || 0)
);
let adjp = 0;
- if (job.materials["MAPA"] && job.materials["MAPA"].mat_adjp) {
+ if (
+ job.materials["MAPA"] &&
+ job.materials["MAPA"].mat_adjp &&
+ typeof job.materials["MAPA"].mat_adjp === "number" &&
+ job.materials["MAPA"].mat_adjp !== 0
+ ) {
adjp =
Math.abs(job.materials["MAPA"].mat_adjp) > 1
? job.materials["MAPA"].mat_adjp
@@ -551,7 +554,12 @@ function GenerateCostingData(job) {
}).multiply(materialsHours.mashHrs || 0)
);
let adjp = 0;
- if (job.materials["MASH"] && job.materials["MASH"].mat_adjp) {
+ if (
+ job.materials["MASH"] &&
+ job.materials["MASH"].mat_adjp &&
+ typeof job.materials["MASH"].mat_adjp === "number" &&
+ job.materials["MASH"].mat_adjp !== 0
+ ) {
adjp =
Math.abs(job.materials["MASH"].mat_adjp) > 1
? job.materials["MASH"].mat_adjp
@@ -575,7 +583,7 @@ function GenerateCostingData(job) {
jobLineTotalsByProfitCenter.additional[defaultProfits["TOW"]] = Dinero();
jobLineTotalsByProfitCenter.additional[defaultProfits["TOW"]] = stlTowing
- ? Dinero({ amount: Math.round(stlTowing.ttl_amt * 100) })
+ ? Dinero({ amount: Math.round((stlTowing.ttl_amt || 0) * 100) })
: Dinero({
amount: Math.round((job.towing_payable || 0) * 100)
});
@@ -584,7 +592,7 @@ function GenerateCostingData(job) {
jobLineTotalsByProfitCenter.additional[defaultProfits["STO"]] = Dinero();
jobLineTotalsByProfitCenter.additional[defaultProfits["STO"]] = stlStorage
- ? Dinero({ amount: Math.round(stlStorage.ttl_amt * 100) })
+ ? Dinero({ amount: Math.round((stlStorage.ttl_amt || 0) * 100) })
: Dinero({
amount: Math.round((job.storage_payable || 0) * 100)
});