Files
imexrps/src/util/CalculateJobRps.js

43 lines
1.1 KiB
JavaScript

import Dinero from "dinero.js";
export function CalculateJobRpsDollars(job, returnSumActPrice) {
if (!job) {
return 0;
}
let actPriceSum = Dinero();
const jobRpsDollars = job.joblines
.filter((j) => !j.ignore)
.reduce((acc, val) => {
actPriceSum = actPriceSum.add(
Dinero({ amount: Math.round((val.act_price || 0) * 100) })
);
if (val.price_diff > 0) {
return acc.add(
Dinero({ amount: Math.round((val.price_diff || 0) * 100) })
);
} else {
return acc;
}
}, Dinero());
return returnSumActPrice ? { actPriceSum, jobRpsDollars } : jobRpsDollars;
}
export function CalculateJobRpsPc(
job,
currentRpsDollars,
returnSumDbPrice = false
) {
//TODO Redo this to do total of db price - act price / db price
if (!job) {
return 0;
}
const dbPriceSum = job.joblines
.filter((j) => !j.ignore)
.reduce((acc, val) => {
return acc.add(Dinero({ amount: Math.round((val.db_price || 0) * 100) }));
}, Dinero());
const jobRpsPc = currentRpsDollars.getAmount() / dbPriceSum.getAmount();
return returnSumDbPrice ? { dbPriceSum, jobRpsPc } : jobRpsPc;
}