added labor allocationtable
This commit is contained in:
54
util/labor-allocations-table.utility.js
Normal file
54
util/labor-allocations-table.utility.js
Normal file
@@ -0,0 +1,54 @@
|
||||
import i18next from "i18next";
|
||||
import React from "react";
|
||||
|
||||
export const CalculateAllocationsTotals = (
|
||||
bodyshop,
|
||||
joblines,
|
||||
timetickets,
|
||||
adjustments = []
|
||||
) => {
|
||||
// console.log("🚀 ~ file: adjustments", adjustments);
|
||||
// console.log("🚀 ~ file: bodyshop", bodyshop);
|
||||
console.log("🚀 ~ file: joblines", joblines);
|
||||
// console.log("🚀 ~ file: timetickets", timetickets);
|
||||
const responsibilitycenters = bodyshop.md_responsibility_centers;
|
||||
const jobCodes = joblines.map((item) => item.mod_lbr_ty);
|
||||
console.log("jobCodes :", jobCodes);
|
||||
//.filter((value, index, self) => self.indexOf(value) === index && !!value);
|
||||
const ticketCodes = timetickets.map((item) => item.ciecacode);
|
||||
console.log("ticketCodes :", ticketCodes);
|
||||
//.filter((value, index, self) => self.indexOf(value) === index && !!value);
|
||||
const adjustmentCodes = Object.keys(adjustments);
|
||||
console.log("adjustmentCodes :", adjustmentCodes);
|
||||
const allCodes = [...jobCodes, ...ticketCodes, ...adjustmentCodes].filter(
|
||||
(value, index, self) => self.indexOf(value) === index && !!value
|
||||
);
|
||||
console.log("allCodes :", allCodes);
|
||||
|
||||
const r = allCodes.reduce((acc, value) => {
|
||||
const r = {
|
||||
opcode: value,
|
||||
cost_center:
|
||||
bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber
|
||||
? i18next.t(
|
||||
`joblines.fields.lbr_types.${value && value.toUpperCase()}`
|
||||
)
|
||||
: responsibilitycenters.defaults.costs[value],
|
||||
mod_lbr_ty: value,
|
||||
total: joblines.reduce((acc2, val2) => {
|
||||
return val2.mod_lbr_ty === value ? acc2 + val2.mod_lb_hrs : acc2;
|
||||
}, 0),
|
||||
adjustments: adjustments[value] || 0,
|
||||
claimed: timetickets.reduce((acc3, val3) => {
|
||||
return val3.ciecacode === value ? acc3 + val3.productivehrs : acc3;
|
||||
}, 0),
|
||||
};
|
||||
|
||||
r.difference = r.total + r.adjustments - r.claimed;
|
||||
acc.push(r);
|
||||
return acc;
|
||||
}, []);
|
||||
console.log(" r is :", r);
|
||||
|
||||
return r;
|
||||
};
|
||||
Reference in New Issue
Block a user