From fe930d477325a4a284ac1986cc55f07ae8a747d7 Mon Sep 17 00:00:00 2001 From: bicochan Date: Mon, 23 Mar 2026 17:16:26 +0900 Subject: [PATCH] =?UTF-8?q?[st]=20feat:=20IMR=20=EA=B2=80=EC=A6=9D?= =?UTF-8?q?=EC=9D=B4=EB=A0=A5=20=EC=8B=9C=EB=8F=84/=EC=8B=9C=EA=B5=B0?= =?UTF-8?q?=EA=B5=AC=20=EC=85=80=EB=A0=89=ED=8A=B8=20API=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../verification/ImrVerificationHistory.tsx | 43 ++++++++----------- .../api/statistics-analysis-master-api.ts | 4 +- .../statistics-analysis-master-interface.ts | 2 +- 3 files changed, 21 insertions(+), 28 deletions(-) diff --git a/apps/st/src/components/statistics/verification/ImrVerificationHistory.tsx b/apps/st/src/components/statistics/verification/ImrVerificationHistory.tsx index 852d21d08..9592e0cb1 100644 --- a/apps/st/src/components/statistics/verification/ImrVerificationHistory.tsx +++ b/apps/st/src/components/statistics/verification/ImrVerificationHistory.tsx @@ -23,8 +23,9 @@ import { import dayjs from "dayjs"; import { ENDPOINT } from "@/shared/config"; -import { CodeApi, CodeSelect } from "@/entities/code"; +import { CodeSelect } from "@/entities/code"; import type { + AdstZoneResponseDto, StAnlsMstResponse, StAnlsMstSearchParams, StAnlsRsltResponse, @@ -35,6 +36,10 @@ import { } from "@/entities/statistics"; import { stAnlsMstApi } from "@/entities/statistics/api/statistics-analysis-master-api"; import { imrApi } from "@/entities/statistics/api/imr-api"; +import { + useStAnlsSidoCombo, + useStAnlsSigunguCombo, +} from "@/entities/statistics/api/queries"; import { stAnlsRsltApi } from "@/entities/statistics/api/statistics-analysis-result-api"; import { Button, @@ -67,6 +72,7 @@ type DateRangeValue = { }; const EMPTY_DATA: never[] = []; +const EMPTY_ADST_LIST: AdstZoneResponseDto[] = []; const ImrVerificationHistory = () => { // Area A Search States @@ -103,25 +109,10 @@ const ImrVerificationHistory = () => { pageSize: 5, }); - // Codes for Filter - const { data: lwpoCodes } = useQuery({ - queryKey: [ENDPOINT.CMS_SERVICE.CODE, "LAESECD"], - queryFn: () => CodeApi.getCode("LAESECD"), - }); - - const sidoOptions = useMemo(() => { - if (!lwpoCodes) return []; - return lwpoCodes.filter( - (c) => c.lwpoCd.startsWith("G3") && c.lwpoCd.length === 4, - ); - }, [lwpoCodes]); - - const sigunguOptions = useMemo(() => { - if (!lwpoCodes || searchSido === "") return []; - return lwpoCodes.filter( - (c) => c.lwpoCd.startsWith(searchSido) && c.lwpoCd.length === 7, - ); - }, [lwpoCodes, searchSido]); + const { data: sidoData } = useStAnlsSidoCombo(); + const { data: sigunguData } = useStAnlsSigunguCombo(searchSido); + const sidoOptions = sidoData ?? EMPTY_ADST_LIST; + const sigunguOptions = sigunguData ?? EMPTY_ADST_LIST; // Area A Data Fetching const { data: historyData } = useQuery({ @@ -369,10 +360,10 @@ const ImrVerificationHistory = () => { {sidoOptions.map((opt) => ( - {opt.lwpoCdNm} + {opt.adstNm} ))} @@ -394,10 +385,10 @@ const ImrVerificationHistory = () => { {sigunguOptions.map((opt) => ( - {opt.lwpoCdNm} + {opt.adstNm} ))} diff --git a/apps/st/src/entities/statistics/api/statistics-analysis-master-api.ts b/apps/st/src/entities/statistics/api/statistics-analysis-master-api.ts index 19a6bee1c..bcbabda99 100644 --- a/apps/st/src/entities/statistics/api/statistics-analysis-master-api.ts +++ b/apps/st/src/entities/statistics/api/statistics-analysis-master-api.ts @@ -40,7 +40,9 @@ export class StAnlsMstApiService { return response.data; } - public async getSigunguCombo(sidoCd: string): Promise { + public async getSigunguCombo( + sidoCd: string, + ): Promise { const response = await client.get( `${ENDPOINT.STATVERIFY_SERVICE.ST_ANLS_MST}/sigungu`, { params: { sidoCd } }, diff --git a/apps/st/src/entities/statistics/model/statistics-analysis/statistics-analysis-master-interface.ts b/apps/st/src/entities/statistics/model/statistics-analysis/statistics-analysis-master-interface.ts index 046ba891b..781beeb1c 100644 --- a/apps/st/src/entities/statistics/model/statistics-analysis/statistics-analysis-master-interface.ts +++ b/apps/st/src/entities/statistics/model/statistics-analysis/statistics-analysis-master-interface.ts @@ -57,7 +57,7 @@ export interface StAnlsMstResponseDto { /** * 분석 현황 마스터 검색 DTO */ -export interface StAnlsMstSearchDto extends PageableParams { +export interface StAnlsMstSearchDto extends PageableParams { /** 분석상태코드 (COMPLETED, FAILED, QUEUED, PROCESSING) */ anlsSttsCd?: string; /** 작업UUID */