From 7c0581728edbb5f11a7d15e55cea0d0c0dd12f4d Mon Sep 17 00:00:00 2001 From: rstubryan Date: Tue, 30 Dec 2025 14:41:06 +0700 Subject: [PATCH] feat(FE-316): Use population instead of available_quantity --- .../pages/uniformity/export/UniformityTemplate.tsx | 8 ++++---- .../pages/uniformity/form/UniformityForm.tsx | 12 ++++++------ src/types/api/production/project-flock.d.ts | 1 + 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/components/pages/uniformity/export/UniformityTemplate.tsx b/src/components/pages/uniformity/export/UniformityTemplate.tsx index 820452b0..b3cab9a9 100644 --- a/src/components/pages/uniformity/export/UniformityTemplate.tsx +++ b/src/components/pages/uniformity/export/UniformityTemplate.tsx @@ -4,11 +4,11 @@ import * as XLSX from 'xlsx'; import { ProjectFlockKandangLookup } from '@/types/api/production/project-flock'; export const generateUniformityTemplate = ( - availableQuantity: number, + population: number, projectFlockKandangLookup: ProjectFlockKandangLookup ) => { try { - const sampleSize = Math.round(availableQuantity * 0.02); + const sampleSize = Math.round(population * 0.02); const kandangName = projectFlockKandangLookup.kandang?.name || 'Kandang'; const flockName = projectFlockKandangLookup.project_flock?.flock_name || ''; const flockPeriod = projectFlockKandangLookup.project_flock?.period || 1; @@ -23,7 +23,7 @@ export const generateUniformityTemplate = ( ['Nama Flock', flockName], ['Periode', flockPeriod], ['Kandang', kandangName], - ['Total Populasi', formatNumber(availableQuantity)], + ['Total Populasi', formatNumber(population)], ['Jumlah Sampel (2%)', formatNumber(sampleSize)], [''], ['CARA PENGISIAN:'], @@ -95,7 +95,7 @@ export const generateUniformityTemplate = ( XLSX.writeFile(workbook, filename); toast.success( - `Template berhasil dibuat dengan ${formatNumber(sampleSize)} baris data (2% dari ${formatNumber(availableQuantity)} populasi).` + `Template berhasil dibuat dengan ${formatNumber(sampleSize)} baris data (2% dari ${formatNumber(population)} populasi).` ); } catch (error) { console.error('Error generating uniformity template:', error); diff --git a/src/components/pages/uniformity/form/UniformityForm.tsx b/src/components/pages/uniformity/form/UniformityForm.tsx index f68b8f85..25c56a0f 100644 --- a/src/components/pages/uniformity/form/UniformityForm.tsx +++ b/src/components/pages/uniformity/form/UniformityForm.tsx @@ -370,14 +370,14 @@ const UniformityForm = ({ }, [formik]); const handleDownloadTemplate = useCallback(() => { - const availableQuantity = projectFlockKandangLookup?.available_quantity; + const population = projectFlockKandangLookup?.population; - if (!availableQuantity || !projectFlockKandangLookup) { + if (!population || !projectFlockKandangLookup) { toast.error('Silakan pilih Project Flock dan Kandang terlebih dahulu.'); return; } - generateUniformityTemplate(availableQuantity, projectFlockKandangLookup); + generateUniformityTemplate(population, projectFlockKandangLookup); }, [projectFlockKandangLookup]); // ===== SIDE EFFECTS ===== @@ -623,13 +623,13 @@ const UniformityForm = ({ Choose file to upload - {projectFlockKandangLookup?.available_quantity - ? `Jumlah data yang dibutuhkan: ${formatNumber(Math.round(projectFlockKandangLookup.available_quantity * 0.02))} (2% dari ${formatNumber(projectFlockKandangLookup.available_quantity)} populasi).` + {projectFlockKandangLookup?.population + ? `Jumlah data yang dibutuhkan: ${formatNumber(Math.round(projectFlockKandangLookup.population * 0.02))} (2% dari ${formatNumber(projectFlockKandangLookup.population)} populasi).` : 'Upload data file (*.xlsx)'} - {projectFlockKandangLookup?.available_quantity && ( + {projectFlockKandangLookup?.population && ( <>
diff --git a/src/types/api/production/project-flock.d.ts b/src/types/api/production/project-flock.d.ts index 9f128093..43465a3f 100644 --- a/src/types/api/production/project-flock.d.ts +++ b/src/types/api/production/project-flock.d.ts @@ -69,6 +69,7 @@ export type ProjectFlockKandangLookup = { project_flock: ProjectFlock; quantity: number; available_quantity?: number; + population: number; }; export type ProjectFlockAvailableQuantity = {