Merged in feature/IO-3503-Job-Costing-Fixes (pull request #2921)
IO-3503 Job Costing Corrections Approved-by: Dave Richer
This commit is contained in:
@@ -1725,6 +1725,7 @@ query QUERY_JOB_COSTING_DETAILS($id: uuid!) {
|
|||||||
profitcenter_part
|
profitcenter_part
|
||||||
profitcenter_labor
|
profitcenter_labor
|
||||||
act_price_before_ppc
|
act_price_before_ppc
|
||||||
|
manual_line
|
||||||
}
|
}
|
||||||
bills {
|
bills {
|
||||||
id
|
id
|
||||||
@@ -1842,6 +1843,7 @@ exports.QUERY_JOB_COSTING_DETAILS_MULTI = ` query QUERY_JOB_COSTING_DETAILS_MULT
|
|||||||
op_code_desc
|
op_code_desc
|
||||||
profitcenter_part
|
profitcenter_part
|
||||||
profitcenter_labor
|
profitcenter_labor
|
||||||
|
manual_line
|
||||||
}
|
}
|
||||||
bills {
|
bills {
|
||||||
id
|
id
|
||||||
|
|||||||
@@ -343,7 +343,7 @@ function GenerateCostingData(job) {
|
|||||||
if (!acc.labor[laborProfitCenter]) acc.labor[laborProfitCenter] = Dinero();
|
if (!acc.labor[laborProfitCenter]) acc.labor[laborProfitCenter] = Dinero();
|
||||||
acc.labor[laborProfitCenter] = acc.labor[laborProfitCenter].add(laborAmount);
|
acc.labor[laborProfitCenter] = acc.labor[laborProfitCenter].add(laborAmount);
|
||||||
|
|
||||||
if (val.act_price > 0 && val.lbr_op === "OP14") {
|
if (val.act_price > 0 && val.lbr_op === "OP14" && !val.part_type) {
|
||||||
//Scenario where SGI may pay out hours using a part price.
|
//Scenario where SGI may pay out hours using a part price.
|
||||||
acc.labor[laborProfitCenter] = acc.labor[laborProfitCenter].add(
|
acc.labor[laborProfitCenter] = acc.labor[laborProfitCenter].add(
|
||||||
Dinero({
|
Dinero({
|
||||||
@@ -363,6 +363,9 @@ function GenerateCostingData(job) {
|
|||||||
if (val.mod_lbr_ty !== "LAR" && mashOpCodes.includes(val.lbr_op)) {
|
if (val.mod_lbr_ty !== "LAR" && mashOpCodes.includes(val.lbr_op)) {
|
||||||
materialsHours.mashHrs += val.mod_lb_hrs || 0;
|
materialsHours.mashHrs += val.mod_lb_hrs || 0;
|
||||||
}
|
}
|
||||||
|
if (val.manual_line === true && !mashOpCodes.includes(val.lbr_op) && val.mod_lbr_ty !== "LAR" ) {
|
||||||
|
materialsHours.mashHrs += val.mod_lb_hrs || 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -499,7 +502,7 @@ function GenerateCostingData(job) {
|
|||||||
let disc = Dinero(),
|
let disc = Dinero(),
|
||||||
markup = Dinero();
|
markup = Dinero();
|
||||||
const convertedKey = Object.keys(defaultProfits).find((k) => defaultProfits[k] === key);
|
const convertedKey = Object.keys(defaultProfits).find((k) => defaultProfits[k] === key);
|
||||||
if (job.parts_tax_rates && job.parts_tax_rates[convertedKey.toUpperCase()]) {
|
if (convertedKey && job.parts_tax_rates && job.parts_tax_rates[convertedKey.toUpperCase()]) {
|
||||||
if (
|
if (
|
||||||
job.parts_tax_rates[convertedKey.toUpperCase()].prt_discp !== undefined &&
|
job.parts_tax_rates[convertedKey.toUpperCase()].prt_discp !== undefined &&
|
||||||
job.parts_tax_rates[convertedKey.toUpperCase()].prt_discp >= 0
|
job.parts_tax_rates[convertedKey.toUpperCase()].prt_discp >= 0
|
||||||
@@ -523,14 +526,16 @@ function GenerateCostingData(job) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (InstanceManager({ rome: true })) {
|
if (InstanceManager({ rome: true })) {
|
||||||
const correspondingCiecaStlTotalLine = job.cieca_stl?.data.find(
|
if (convertedKey) {
|
||||||
(c) => c.ttl_typecd === convertedKey.toUpperCase()
|
const correspondingCiecaStlTotalLine = job.cieca_stl?.data.find(
|
||||||
);
|
(c) => c.ttl_typecd === convertedKey.toUpperCase()
|
||||||
if (
|
);
|
||||||
correspondingCiecaStlTotalLine &&
|
if (
|
||||||
Math.abs(jobLineTotalsByProfitCenter.parts[key].getAmount() - correspondingCiecaStlTotalLine.ttl_amt * 100) > 1
|
correspondingCiecaStlTotalLine &&
|
||||||
) {
|
Math.abs(jobLineTotalsByProfitCenter.parts[key].getAmount() - correspondingCiecaStlTotalLine.ttl_amt * 100) > 1
|
||||||
jobLineTotalsByProfitCenter.parts[key] = jobLineTotalsByProfitCenter.parts[key].add(disc).add(markup);
|
) {
|
||||||
|
jobLineTotalsByProfitCenter.parts[key] = jobLineTotalsByProfitCenter.parts[key].add(disc).add(markup);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user