refactor(FE): Prevent adding recordings for kandangs in transition

This commit is contained in:
rstubryan
2026-03-09 03:35:03 +07:00
parent 671fd72141
commit 9dc30c1f58
@@ -678,10 +678,31 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => {
.filter((pfk) => pfk.project_flock_id === selectedProjectFlock.value) .filter((pfk) => pfk.project_flock_id === selectedProjectFlock.value)
.map((pfk) => pfk.kandang_id); .map((pfk) => pfk.kandang_id);
const kandangIdsInTransition = new Set<number>();
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 const kandangOptions = selectedProjectFlockData.kandangs
.filter((kandang: Kandang) => { .filter((kandang: Kandang) => {
if (type === 'add') { if (type === 'add') {
return approvedKandangIds.includes(kandang.id); return (
approvedKandangIds.includes(kandang.id) &&
!kandangIdsInTransition.has(kandang.id)
);
} }
return true; return true;
}) })
@@ -713,6 +734,7 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => {
projectFlockKandangDetail, projectFlockKandangDetail,
type, type,
approvedProjectFlockKandangs, approvedProjectFlockKandangs,
existingRecordings,
]); ]);
const recordedProjectFlockKandangIds = useMemo(() => { const recordedProjectFlockKandangIds = useMemo(() => {