refactor(FE-355,357): Show HPP and average DOC totals in table footer

This commit is contained in:
rstubryan
2025-12-18 09:24:49 +07:00
parent 40f2d0ba93
commit 320bc52244
@@ -27,9 +27,8 @@ import toast from 'react-hot-toast';
import * as XLSX from 'xlsx';
interface Totals {
total_remaining_chicken_birds: number;
total_remaining_chicken_weight_kg: number;
total_remaining_value_rp: number;
total_hpp_rp: number;
total_average_doc_price_rp: number;
}
const HppPerKandangTab = () => {
@@ -478,11 +477,14 @@ const HppPerKandangTab = () => {
// ===== TABLE COLUMNS DEFINITION =====
const totals: Totals = useMemo(() => {
return {
total_remaining_chicken_birds:
summary?.total_remaining_chicken_birds || 0,
total_remaining_chicken_weight_kg:
summary?.total_remaining_chicken_weight_kg || 0,
total_remaining_value_rp: summary?.total_remaining_value_rp || 0,
total_hpp_rp: data.reduce((acc, item) => acc + (item.hpp_rp || 0), 0),
total_average_doc_price_rp:
data.length > 0
? data.reduce(
(acc, item) => acc + (item.average_doc_price_rp || 0),
0
) / data.length
: 0,
};
}, [summary]);
@@ -643,7 +645,9 @@ const HppPerKandangTab = () => {
return <div className='text-right'>{formatCurrency(value)}</div>;
},
footer: () => (
<div className='text-right font-semibold text-gray-900'>-</div>
<div className='text-right font-semibold text-gray-900'>
{formatCurrency(totals?.total_average_doc_price_rp || 0)}
</div>
),
},
{
@@ -669,7 +673,9 @@ const HppPerKandangTab = () => {
return <div className='text-right'>{formatCurrency(value)}</div>;
},
footer: () => (
<div className='text-right font-semibold text-gray-900'>-</div>
<div className='text-right font-semibold text-gray-900'>
{formatCurrency(totals?.total_hpp_rp || 0)}
</div>
),
},
{