Started refactoring parts order reconciliation BOD-406
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import React, { useMemo } from "react";
|
||||
import Dinero from "dinero.js";
|
||||
import _ from "lodash";
|
||||
import { Space, Statistic } from "antd";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
export default function JobReconciliationTotals({
|
||||
billLines,
|
||||
jobLines,
|
||||
selectedBillLines,
|
||||
selectedJobLines,
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const totals = useMemo(() => {
|
||||
const jlLookup = _.keyBy(selectedJobLines, (i) => i);
|
||||
const billLookup = _.keyBy(selectedBillLines, (i) => i);
|
||||
|
||||
return {
|
||||
joblinesTotal: jobLines
|
||||
.filter((jl) => !!jlLookup[jl.id])
|
||||
.reduce((acc, val) => {
|
||||
console.log("acc :>> ", val);
|
||||
return acc.add(
|
||||
Dinero({ amount: val.act_price * 100 }).multiply(val.part_qty || 1)
|
||||
);
|
||||
}, Dinero()),
|
||||
billLinesTotal: billLines
|
||||
.filter((bl) => !!billLookup[bl.id])
|
||||
.reduce((acc, val) => {
|
||||
return acc.add(
|
||||
Dinero({ amount: val.actual_price * 100 }).multiply(
|
||||
val.quantity || 1
|
||||
)
|
||||
);
|
||||
}, Dinero()),
|
||||
};
|
||||
}, [billLines, jobLines, selectedBillLines, selectedJobLines]);
|
||||
|
||||
return (
|
||||
<Space direction="horizontal">
|
||||
<Statistic
|
||||
title={t("jobs.labels.reconciliation.joblinestotal")}
|
||||
value={totals.joblinesTotal.toFormat()}
|
||||
/>
|
||||
<Statistic
|
||||
title={t("jobs.labels.reconciliation.billlinestotal")}
|
||||
value={totals.billLinesTotal.toFormat()}
|
||||
/>
|
||||
</Space>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user