diff --git a/src/components/pages/closing/sale/SalesReportTable.tsx b/src/components/pages/closing/sale/SalesReportTable.tsx
index 85fe50a5..18af45a5 100644
--- a/src/components/pages/closing/sale/SalesReportTable.tsx
+++ b/src/components/pages/closing/sale/SalesReportTable.tsx
@@ -102,6 +102,18 @@ const SalesReportTable = ({
}, [initialValues, activeTabId]);
const totals = useMemo(() => {
+ if (salesBroilerData.length === 0) {
+ return {
+ totalQuantity: 0,
+ totalWeight: 0,
+ avgWeight: 0,
+ avgPricePartner: 0,
+ totalPartner: 0,
+ avgPriceAct: 0,
+ totalAct: 0,
+ };
+ }
+
const totalQuantity = salesBroilerData.reduce(
(sum, item) => sum + (item.quantity || 0),
0
@@ -113,7 +125,7 @@ const SalesReportTable = ({
const avgWeight = totalQuantity > 0 ? totalWeight / totalQuantity : 0;
const validPriceItems = salesBroilerData.filter(
- (item) => item.price != null
+ (item) => item.price != null && item.price > 0
);
const avgPricePartner =
validPriceItems.length > 0
@@ -374,54 +386,56 @@ const SalesReportTable = ({
/>
{/* Summary Row */}
-
-
-
- |
- Total Penjualan
- |
-
- -
- |
-
- -
- |
-
- -
- |
-
- -
- |
-
- {formatNumber(totals.totalQuantity)}
- |
-
- {formatNumber(totals.totalWeight)}
- |
-
- {formatNumber(totals.avgWeight)}
- |
-
- {formatCurrency(totals.avgPricePartner)}
- |
-
- {formatCurrency(totals.totalPartner)}
- |
-
- {formatCurrency(totals.avgPriceAct)}
- |
-
- {formatCurrency(totals.totalAct)}
- |
-
- -
- |
-
- -
- |
-
-
-
+ {salesBroilerData.length > 0 && (
+
+
+
+ |
+ Total Penjualan
+ |
+
+ -
+ |
+
+ -
+ |
+
+ -
+ |
+
+ -
+ |
+
+ {formatNumber(totals.totalQuantity)}
+ |
+
+ {formatNumber(totals.totalWeight)}
+ |
+
+ {formatNumber(totals.avgWeight)}
+ |
+
+ {formatCurrency(totals.avgPricePartner)}
+ |
+
+ {formatCurrency(totals.totalPartner)}
+ |
+
+ {formatCurrency(totals.avgPriceAct)}
+ |
+
+ {formatCurrency(totals.totalAct)}
+ |
+
+ -
+ |
+
+ -
+ |
+
+
+
+ )}
),