mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-25 07:45:47 +00:00
feat(FE): Add Rekapitulasi sheet to Excel export
This commit is contained in:
@@ -344,8 +344,53 @@ const HppPerKandangTab = () => {
|
|||||||
const allExportData =
|
const allExportData =
|
||||||
allDataForExport.rows as HppPerKandangReport['rows'];
|
allDataForExport.rows as HppPerKandangReport['rows'];
|
||||||
|
|
||||||
|
const perWeightRangeSummary =
|
||||||
|
allDataForExport.summary.per_weight_range || [];
|
||||||
|
|
||||||
const summaryTotal = allDataForExport.summary.total;
|
const summaryTotal = allDataForExport.summary.total;
|
||||||
|
|
||||||
|
const rekapitulasiData: { [key: string]: string | number }[] =
|
||||||
|
perWeightRangeSummary.map(
|
||||||
|
(item: HppPerKandangPerWeightRange, index: number) => ({
|
||||||
|
No: index + 1,
|
||||||
|
'Rentang BW': item.label || '',
|
||||||
|
'Sisa Butir': item.egg_production_pieces || 0,
|
||||||
|
'Sisa Kg': item.egg_production_kg || 0,
|
||||||
|
'Rata-Rata Bobot (Kg)': item.avg_weight_kg || 0,
|
||||||
|
'Feed (Supplier)':
|
||||||
|
item.feed_suppliers
|
||||||
|
?.map(
|
||||||
|
(s: { alias?: string; name: string }) => s.alias || s.name
|
||||||
|
)
|
||||||
|
.join(' | ') || '',
|
||||||
|
'DOC (Supplier)':
|
||||||
|
item.doc_suppliers
|
||||||
|
?.map(
|
||||||
|
(s: { alias?: string; name: string }) => s.alias || s.name
|
||||||
|
)
|
||||||
|
.join(' | ') || '',
|
||||||
|
'Rata-Rata Harga DOC': item.average_doc_price_rp || 0,
|
||||||
|
'HPP Telur (RP/KG)': item.egg_hpp_rp_per_kg || 0,
|
||||||
|
'Nominal Sisa': item.egg_value_rp || 0,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const rekapitulasiWorksheet = XLSX.utils.json_to_sheet(rekapitulasiData);
|
||||||
|
|
||||||
|
const rekapitulasiColWidths = [
|
||||||
|
{ wch: 5 }, // No
|
||||||
|
{ wch: 15 }, // Rentang BW
|
||||||
|
{ wch: 15 }, // Sisa Butir
|
||||||
|
{ wch: 12 }, // Sisa Kg
|
||||||
|
{ wch: 18 }, // Rata-Rata Bobot (Kg)
|
||||||
|
{ wch: 20 }, // Feed (Supplier)
|
||||||
|
{ wch: 20 }, // DOC (Supplier)
|
||||||
|
{ wch: 20 }, // Rata-Rata Harga DOC
|
||||||
|
{ wch: 18 }, // HPP Telur (RP/KG)
|
||||||
|
{ wch: 25 }, // Nominal Sisa
|
||||||
|
];
|
||||||
|
rekapitulasiWorksheet['!cols'] = rekapitulasiColWidths;
|
||||||
|
|
||||||
const excelData: { [key: string]: string | number }[] = allExportData.map(
|
const excelData: { [key: string]: string | number }[] = allExportData.map(
|
||||||
(item: HppPerKandangRow, index: number) => ({
|
(item: HppPerKandangRow, index: number) => ({
|
||||||
No: index + 1,
|
No: index + 1,
|
||||||
@@ -403,7 +448,12 @@ const HppPerKandangTab = () => {
|
|||||||
worksheet['!cols'] = colWidths;
|
worksheet['!cols'] = colWidths;
|
||||||
|
|
||||||
const workbook = XLSX.utils.book_new();
|
const workbook = XLSX.utils.book_new();
|
||||||
XLSX.utils.book_append_sheet(workbook, worksheet, 'HPP Per Kandang');
|
XLSX.utils.book_append_sheet(
|
||||||
|
workbook,
|
||||||
|
rekapitulasiWorksheet,
|
||||||
|
'Rekapitulasi'
|
||||||
|
);
|
||||||
|
XLSX.utils.book_append_sheet(workbook, worksheet, 'Detail Per Kandang');
|
||||||
|
|
||||||
const filename = `laporan-hpp-harian-kandang-periode-${tableFilterState.period}.xlsx`;
|
const filename = `laporan-hpp-harian-kandang-periode-${tableFilterState.period}.xlsx`;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user