From 9dc30c1f5862d0bb0c20171e9bcee69e8a66dba2 Mon Sep 17 00:00:00 2001 From: rstubryan Date: Mon, 9 Mar 2026 03:35:03 +0700 Subject: [PATCH] refactor(FE): Prevent adding recordings for kandangs in transition --- .../recording/form/RecordingForm.tsx | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/components/pages/production/recording/form/RecordingForm.tsx b/src/components/pages/production/recording/form/RecordingForm.tsx index 94676f43..de3a3565 100644 --- a/src/components/pages/production/recording/form/RecordingForm.tsx +++ b/src/components/pages/production/recording/form/RecordingForm.tsx @@ -678,10 +678,31 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => { .filter((pfk) => pfk.project_flock_id === selectedProjectFlock.value) .map((pfk) => pfk.kandang_id); + const kandangIdsInTransition = new Set(); + if (isResponseSuccess(existingRecordings) && type === 'add') { + existingRecordings.data.forEach((recording: Recording) => { + if (recording.project_flock?.project_flock_category === 'GROWING') { + const pfKandangId = + recording.project_flock?.project_flock_kandang_id; + if (pfKandangId) { + if ( + recording.transfer_executed || + !recording.population_can_change + ) { + kandangIdsInTransition.add(pfKandangId); + } + } + } + }); + } + const kandangOptions = selectedProjectFlockData.kandangs .filter((kandang: Kandang) => { if (type === 'add') { - return approvedKandangIds.includes(kandang.id); + return ( + approvedKandangIds.includes(kandang.id) && + !kandangIdsInTransition.has(kandang.id) + ); } return true; }) @@ -713,6 +734,7 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => { projectFlockKandangDetail, type, approvedProjectFlockKandangs, + existingRecordings, ]); const recordedProjectFlockKandangIds = useMemo(() => {