From 366864582f665f9c076f7a140b3b7c2934e14a78 Mon Sep 17 00:00:00 2001 From: rstubryan Date: Mon, 19 Jan 2026 14:14:04 +0700 Subject: [PATCH] feat(FE): Add TOTAL row to HppPerkandang PDF export --- .../sale/export/HppPerkandangExport.tsx | 139 +++++++++++++++++- 1 file changed, 133 insertions(+), 6 deletions(-) diff --git a/src/components/pages/report/sale/export/HppPerkandangExport.tsx b/src/components/pages/report/sale/export/HppPerkandangExport.tsx index 95f42df6..c184d49d 100644 --- a/src/components/pages/report/sale/export/HppPerkandangExport.tsx +++ b/src/components/pages/report/sale/export/HppPerkandangExport.tsx @@ -356,12 +356,7 @@ const createPDFDocument = ( {data.rows.map((item: HppPerKandangRow, index: number) => ( {index + 1} @@ -415,6 +410,138 @@ const createPDFDocument = ( ))} + + {/* TOTAL Row */} + {data.summary?.total && ( + + + TOTAL + + + ALL + + + - + + + + {formatNumber(data.summary.total.average_weight_kg)} + + + + + {formatNumber( + data.summary.total.total_egg_production_pieces + )} + + + + + {formatNumber(data.summary.total.total_egg_production_kg)} + + + + + {data.rows + .flatMap((row: HppPerKandangRow) => + row.feed_suppliers?.map( + (s: { alias?: string; name: string }) => + s.alias || s.name + ) + ) + .filter((v: string, i: number, a: string[]) => a.indexOf(v) === i) + .join(' | ') || '-'} + + + + + {data.rows + .flatMap((row: HppPerKandangRow) => + row.doc_suppliers?.map( + (s: { alias?: string; name: string }) => + s.alias || s.name + ) + ) + .filter((v: string, i: number, a: string[]) => a.indexOf(v) === i) + .join(' | ') || '-'} + + + + + {formatCurrency( + data.summary.total.total_average_doc_price_rp + )} + + + + + {formatCurrency( + data.summary.total.average_egg_hpp_rp_per_kg + )} + + + + + {formatCurrency(data.summary.total.total_egg_value_rp)} + + + + )}