mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-24 15:25:46 +00:00
feat(FE-316): Use population instead of available_quantity
This commit is contained in:
@@ -4,11 +4,11 @@ import * as XLSX from 'xlsx';
|
|||||||
import { ProjectFlockKandangLookup } from '@/types/api/production/project-flock';
|
import { ProjectFlockKandangLookup } from '@/types/api/production/project-flock';
|
||||||
|
|
||||||
export const generateUniformityTemplate = (
|
export const generateUniformityTemplate = (
|
||||||
availableQuantity: number,
|
population: number,
|
||||||
projectFlockKandangLookup: ProjectFlockKandangLookup
|
projectFlockKandangLookup: ProjectFlockKandangLookup
|
||||||
) => {
|
) => {
|
||||||
try {
|
try {
|
||||||
const sampleSize = Math.round(availableQuantity * 0.02);
|
const sampleSize = Math.round(population * 0.02);
|
||||||
const kandangName = projectFlockKandangLookup.kandang?.name || 'Kandang';
|
const kandangName = projectFlockKandangLookup.kandang?.name || 'Kandang';
|
||||||
const flockName = projectFlockKandangLookup.project_flock?.flock_name || '';
|
const flockName = projectFlockKandangLookup.project_flock?.flock_name || '';
|
||||||
const flockPeriod = projectFlockKandangLookup.project_flock?.period || 1;
|
const flockPeriod = projectFlockKandangLookup.project_flock?.period || 1;
|
||||||
@@ -23,7 +23,7 @@ export const generateUniformityTemplate = (
|
|||||||
['Nama Flock', flockName],
|
['Nama Flock', flockName],
|
||||||
['Periode', flockPeriod],
|
['Periode', flockPeriod],
|
||||||
['Kandang', kandangName],
|
['Kandang', kandangName],
|
||||||
['Total Populasi', formatNumber(availableQuantity)],
|
['Total Populasi', formatNumber(population)],
|
||||||
['Jumlah Sampel (2%)', formatNumber(sampleSize)],
|
['Jumlah Sampel (2%)', formatNumber(sampleSize)],
|
||||||
[''],
|
[''],
|
||||||
['CARA PENGISIAN:'],
|
['CARA PENGISIAN:'],
|
||||||
@@ -95,7 +95,7 @@ export const generateUniformityTemplate = (
|
|||||||
XLSX.writeFile(workbook, filename);
|
XLSX.writeFile(workbook, filename);
|
||||||
|
|
||||||
toast.success(
|
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) {
|
} catch (error) {
|
||||||
console.error('Error generating uniformity template:', error);
|
console.error('Error generating uniformity template:', error);
|
||||||
|
|||||||
@@ -370,14 +370,14 @@ const UniformityForm = ({
|
|||||||
}, [formik]);
|
}, [formik]);
|
||||||
|
|
||||||
const handleDownloadTemplate = useCallback(() => {
|
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.');
|
toast.error('Silakan pilih Project Flock dan Kandang terlebih dahulu.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
generateUniformityTemplate(availableQuantity, projectFlockKandangLookup);
|
generateUniformityTemplate(population, projectFlockKandangLookup);
|
||||||
}, [projectFlockKandangLookup]);
|
}, [projectFlockKandangLookup]);
|
||||||
|
|
||||||
// ===== SIDE EFFECTS =====
|
// ===== SIDE EFFECTS =====
|
||||||
@@ -623,13 +623,13 @@ const UniformityForm = ({
|
|||||||
Choose file to upload
|
Choose file to upload
|
||||||
</span>
|
</span>
|
||||||
<span className='text-xs font-light text-[#18181B80] text-center max-w-xs px-4'>
|
<span className='text-xs font-light text-[#18181B80] text-center max-w-xs px-4'>
|
||||||
{projectFlockKandangLookup?.available_quantity
|
{projectFlockKandangLookup?.population
|
||||||
? `Jumlah data yang dibutuhkan: ${formatNumber(Math.round(projectFlockKandangLookup.available_quantity * 0.02))} (2% dari ${formatNumber(projectFlockKandangLookup.available_quantity)} populasi).`
|
? `Jumlah data yang dibutuhkan: ${formatNumber(Math.round(projectFlockKandangLookup.population * 0.02))} (2% dari ${formatNumber(projectFlockKandangLookup.population)} populasi).`
|
||||||
: 'Upload data file (*.xlsx)'}
|
: 'Upload data file (*.xlsx)'}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{projectFlockKandangLookup?.available_quantity && (
|
{projectFlockKandangLookup?.population && (
|
||||||
<>
|
<>
|
||||||
<div className='flex items-center justify-center gap-2 py-4'>
|
<div className='flex items-center justify-center gap-2 py-4'>
|
||||||
<div className='h-px bg-[#18181B33] w-8'></div>
|
<div className='h-px bg-[#18181B33] w-8'></div>
|
||||||
|
|||||||
+1
@@ -69,6 +69,7 @@ export type ProjectFlockKandangLookup = {
|
|||||||
project_flock: ProjectFlock;
|
project_flock: ProjectFlock;
|
||||||
quantity: number;
|
quantity: number;
|
||||||
available_quantity?: number;
|
available_quantity?: number;
|
||||||
|
population: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ProjectFlockAvailableQuantity = {
|
export type ProjectFlockAvailableQuantity = {
|
||||||
|
|||||||
Reference in New Issue
Block a user