From ead773982a67dab8df7333c8b5dbddbf26a7d9a2 Mon Sep 17 00:00:00 2001 From: efrilm Date: Thu, 9 Oct 2025 20:02:32 +0700 Subject: [PATCH] update report --- .../(private)/dashboards/daily-report/page.tsx | 16 +++++++++++++--- src/services/api.ts | 4 ++-- src/types/services/analytic.ts | 1 + 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/app/[lang]/(dashboard)/(private)/dashboards/daily-report/page.tsx b/src/app/[lang]/(dashboard)/(private)/dashboards/daily-report/page.tsx index 083c309..8a9ddcd 100644 --- a/src/app/[lang]/(dashboard)/(private)/dashboards/daily-report/page.tsx +++ b/src/app/[lang]/(dashboard)/(private)/dashboards/daily-report/page.tsx @@ -302,7 +302,7 @@ const DailyPOSReport = () => { pdf.setFontSize(PDF_FONT_SIZES.heading) pdf.text('Ringkasan Item Per Kategori', 14, currentY) - currentY += 15 + currentY += 10 // Loop through each category Object.keys(groupedProducts) @@ -314,7 +314,12 @@ const DailyPOSReport = () => { return orderA - orderB }) .forEach(categoryName => { - const categoryProducts = groupedProducts[categoryName] + const categoryProducts = groupedProducts[categoryName].sort((a, b) => { + // Sort by product_sku ASC + const skuA = a.product_sku || '' + const skuB = b.product_sku || '' + return skuA.localeCompare(skuB) + }) const categoryTotalQty = categoryProducts.reduce((sum, item) => sum + (item.quantity_sold || 0), 0) const categoryTotalRevenue = categoryProducts.reduce((sum, item) => sum + (item.revenue || 0), 0) @@ -646,7 +651,12 @@ const DailyPOSReport = () => { return orderA - orderB }) .map((categoryName, catIndex) => { - const categoryProducts = groupedProducts[categoryName] + const categoryProducts = groupedProducts[categoryName].sort((a, b) => { + // Sort by product_sku ASC + const skuA = a.product_sku || '' + const skuB = b.product_sku || '' + return skuA.localeCompare(skuB) + }) const categoryTotalQty = categoryProducts.reduce((sum, item) => sum + (item.quantity_sold || 0), 0) const categoryTotalRevenue = categoryProducts.reduce((sum, item) => sum + (item.revenue || 0), 0) diff --git a/src/services/api.ts b/src/services/api.ts index 2f7d1d8..5890323 100644 --- a/src/services/api.ts +++ b/src/services/api.ts @@ -6,8 +6,8 @@ const getToken = () => { } export const api = axios.create({ - baseURL: 'https://api-pos.apskel.id/api/v1', - // baseURL: 'http://127.0.0.1:4000/api/v1', + // baseURL: 'https://api-pos.apskel.id/api/v1', + baseURL: 'http://127.0.0.1:4000/api/v1', headers: { 'Content-Type': 'application/json' }, diff --git a/src/types/services/analytic.ts b/src/types/services/analytic.ts index 3ee6997..9b115dd 100644 --- a/src/types/services/analytic.ts +++ b/src/types/services/analytic.ts @@ -31,6 +31,7 @@ export interface SalesReport { export interface ProductData { product_id: string product_name: string + product_sku: string category_id: string category_name: string category_order: number