From e79635b81af7c88bdc93973b193ead7b1c0c7ac2 Mon Sep 17 00:00:00 2001 From: bicochan Date: Tue, 7 Jul 2026 15:14:18 +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=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StatisticsVerificationReport.tsx | 31 ++++++++++++++++--- .../st/src/entities/statistics/api/queries.ts | 2 ++ .../api/statistics-approval-service.ts | 6 ++-- .../model/general-verification-interface.ts | 1 + .../statistics-verification-report-columns.ts | 13 ++++++-- apps/st/src/shared/config/env.ts | 2 +- .../src/shared/lib/use-mutation-wrapper.tsx | 2 +- 7 files changed, 45 insertions(+), 12 deletions(-) diff --git a/apps/st/src/components/statistics/verification/StatisticsVerificationReport.tsx b/apps/st/src/components/statistics/verification/StatisticsVerificationReport.tsx index 3e537c987..75416eb35 100644 --- a/apps/st/src/components/statistics/verification/StatisticsVerificationReport.tsx +++ b/apps/st/src/components/statistics/verification/StatisticsVerificationReport.tsx @@ -4,7 +4,7 @@ import type { Dispatch, SetStateAction } from "react"; import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { useConfirm } from "@frontend-opensource/use-react-hooks"; -import { useQuery } from "@tanstack/react-query"; +import { useQuery, useQueryClient } from "@tanstack/react-query"; import dayjs from "dayjs"; import type { RealGridReact } from "realgrid-react"; @@ -137,6 +137,7 @@ const DEFAULT_FILTERS: StatisticsVerificationFilterState = { const DEFAULT_SUB_FILTERS: StatisticsVerificationSubFilterState = { ...DEFAULT_FILTERS, prcsYnList: "1,2", + rejectCode: "0", pbcpAprvYn: "N", }; @@ -145,7 +146,14 @@ const APPROVAL_STATUS_OPTIONS = [ { label: "미승인", value: "N" }, ]; +const REJECT_STATUS_OPTIONS = [ + { label: "반려아님", value: "0" }, + { label: "지자체반려", value: "1" }, + { label: "공단반려", value: "2" }, +]; + function StatisticsVerificationReport() { + const queryClient = useQueryClient(); const userInfo = useUserStore((state) => state.userInfo); const { setMessage: alert } = useAlertStore((state) => state); const { confirm } = useConfirm(); @@ -185,6 +193,7 @@ function StatisticsVerificationReport() { ? subFilters.statsCd : filters.statsCd, prcsYnList: subFilters.prcsYnList, + rejectCode: subFilters.rejectCode, pbcpAprvYn: subFilters.pbcpAprvYn, laeSbmsnSttsCd: subFilters.laeSbmsnSttsCd, }), @@ -196,7 +205,7 @@ function StatisticsVerificationReport() { queryFn: () => CodeApi.getCode("STINPTEXCT"), select: (data) => data - .filter(({ lwpoCd }) => !["0", "4"].includes(lwpoCd)) + .filter(({ lwpoCd }) => !["0", "3", "4"].includes(lwpoCd)) .map(({ lwpoCdNm: label, lwpoCd: value }) => ({ label, value, @@ -339,6 +348,9 @@ function StatisticsVerificationReport() { statisticsApprovalApi.rejectStats(rejectRequests), onSuccess: (data) => { alert(data.message ?? "반려가 완료되었습니다."); + queryClient.invalidateQueries({ + queryKey: [ENDPOINT.ST_SERVICE.INPUTVERIFY, "verify-results"], + }); }, }); @@ -610,6 +622,12 @@ function StatisticsVerificationReport() { onChange={handleSubFilterChange("pbcpAprvYn")} options={APPROVAL_STATUS_OPTIONS} /> +