From 4fa7542aca90cf35bba56ddfb9dcedee75ce49c6 Mon Sep 17 00:00:00 2001 From: bicochan Date: Wed, 8 Jul 2026 18:05:35 +0900 Subject: [PATCH] =?UTF-8?q?[st]=20feat:=20=ED=86=B5=EA=B3=84=20=EA=B2=80?= =?UTF-8?q?=EC=A6=9D=20=EB=A6=AC=ED=8F=AC=ED=8A=B8=20=EB=B0=98=EB=A0=A4=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../verification/StatisticsVerificationReport.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/st/src/components/statistics/verification/StatisticsVerificationReport.tsx b/apps/st/src/components/statistics/verification/StatisticsVerificationReport.tsx index 75416eb35..38797a591 100644 --- a/apps/st/src/components/statistics/verification/StatisticsVerificationReport.tsx +++ b/apps/st/src/components/statistics/verification/StatisticsVerificationReport.tsx @@ -173,6 +173,7 @@ function StatisticsVerificationReport() { ); const resultGridRef = useRef(null); const prevLengthRef = useRef(0); + const rejectedVrfcSnRef = useRef>(new Set()); const { data: sidoData } = useStAnlsSidoCombo(); const { data: sigunguData } = useStAnlsSigunguCombo( @@ -299,10 +300,14 @@ function StatisticsVerificationReport() { dataProvider.addRows?.(mergedNewRows); } else { // 초기 조회 또는 재조회 시 데이터 처리 - const checkedKeys = captureCheckedVrfcSn(); + const rejectedKeys = rejectedVrfcSnRef.current; + const checkedKeys = captureCheckedVrfcSn().filter( + (key) => !rejectedKeys.has(key), + ); const mergedRows = mergeWithEditedMap(nextRows); dataProvider.setRows?.(mergedRows); restoreCheckedVrfcSn(checkedKeys, mergedRows); + rejectedKeys.clear(); } prevLengthRef.current = nextRows.length; @@ -514,6 +519,10 @@ function StatisticsVerificationReport() { try { if (await confirm("반려하시겠습니까?")) { await onRejectStats(rejectRequests); + rejectRequests.forEach(({ vrfcSn }) => { + if (!Number.isNaN(vrfcSn)) + rejectedVrfcSnRef.current.add(vrfcSn); + }); } } catch { alert("반려 중 오류가 발생했습니다.");