fix issue

This commit is contained in:
Marshal
2026-07-27 05:59:49 +00:00
parent 773456c256
commit 15d78e1d67
10 changed files with 410 additions and 36 deletions

View File

@@ -72,12 +72,19 @@ export function computeGlShipmentTotal(
(i) => i.containerSize === line.containerSize && !i.isClearance,
);
if (rate) {
// A per-wagon rate bills the wagons this line occupies — two 20ft share
// one — not the box count. Mirrors the API's base-freight line so the
// quote matches the invoice.
const billedQty =
rate.unit === "per_wagon"
? Math.ceil(qty * (line.containerSize === "40ft" ? 1 : 0.5))
: qty;
lines.push({
label: rate.label,
unitPrice: rate.unitPrice,
unit: rate.unit,
quantity: qty,
amount: rate.unitPrice * qty,
quantity: billedQty,
amount: rate.unitPrice * billedQty,
});
}
hazardTotalQty += line.hazardousQuantity;