diff --git a/apps/st/src/components/statistics/verification/HbStatisticsVerification.tsx b/apps/st/src/components/statistics/verification/HbStatisticsVerification.tsx index e89bc81e8..f8bca9890 100644 --- a/apps/st/src/components/statistics/verification/HbStatisticsVerification.tsx +++ b/apps/st/src/components/statistics/verification/HbStatisticsVerification.tsx @@ -49,7 +49,9 @@ import type { } from "@/entities/statistics/model/analysis-history-interface"; import { ENDPOINT } from "@/shared/config"; import { useAlertStore } from "@/shared/lib"; -import { CodeApi } from "@/entities/code"; +import { verificationTargetManagementApi } from "@/entities/statistics/api/verification-target-management-service"; +import type { VerificationTargetCodeResponse } from "@/entities/statistics/model/verification-target-management-interface"; +import { CodeSelect } from "@/entities/code"; type DateRangeValue = { from?: Date; @@ -78,7 +80,7 @@ function getDefaultHistoryDateRange(): DateRangeValue { } function getVerificationYearOptions(): string[] { - const currentYear = new Date().getFullYear(); + const currentYear = dayjs().year(); const startYear = 2017; const endYear = currentYear - 1; if (endYear < startYear) return []; @@ -116,6 +118,7 @@ const HbStatisticsVerification = () => { open: false, anlsSn: null, }); + const [selectedStatsCd, setSelectedStatsCd] = useState(""); const defaultHistoryDateRange = useMemo( () => getDefaultHistoryDateRange(), @@ -133,14 +136,22 @@ const HbStatisticsVerification = () => { pageSize: 10, }); - const { data: statsItemList } = useQuery({ - queryKey: [ENDPOINT.CMS_SERVICE.CODE, "STITEM"], - queryFn: async () => { - const response = await CodeApi.getCode("STITEM"); - return response; - }, + const { data: verificationTargetCodes } = useQuery< + VerificationTargetCodeResponse[] + >({ + queryKey: [ENDPOINT.STATVERIFY_SERVICE.VRFCTGT_MNG, "codes"], + queryFn: () => + verificationTargetManagementApi.getVerificationTargetCodes(), }); + const filteredVerificationTargetCodes = useMemo(() => { + return verificationTargetCodes?.filter((item) => + selectedStatsCd + ? item.vrfcTrgtSn.startsWith(selectedStatsCd) + : true, + ); + }, [verificationTargetCodes, selectedStatsCd]); + const { data: analysisHistory } = useQuery({ queryKey: [ ENDPOINT.STATVERIFY_SERVICE.ST_ANLS_MST, @@ -329,26 +340,50 @@ const HbStatisticsVerification = () => {
{/* 검증 종류 선택 */}
-
- - 검증 방식 - - - setVerifyType(value as VerifyType) - } - className="flex items-center gap-4" - > - - - +
+
+ + +
+
+ + + setVerifyType(value as VerifyType) + } + className="flex items-center gap-4" + > + + + +
+
+
{verifyType === "SELECT" && - statsItemList && - statsItemList.length > 0 && ( -
- {statsItemList.map((item) => ( + filteredVerificationTargetCodes && + filteredVerificationTargetCodes.length > 0 ? ( +
+ {filteredVerificationTargetCodes.map( + (item) => (
handleTargetToggle( - item.lwpoCd, + item.vrfcTrgtSn, ) } />
- ))} -
- )} + ), + )} +
+ ) : ( +
+

+ 검증 대상이 없습니다. +

+
+ )}
{/* //검증 대상 */} @@ -482,35 +544,6 @@ const HbStatisticsVerification = () => { className="flex-1" />
- -
- - -
{/* //검증 변수 */} @@ -519,21 +552,23 @@ const HbStatisticsVerification = () => {
-

+

검증 이력

-
- - 검증일시 - - - setHistoryDateRange((value as any) ?? undefined) - } - className="max-w-[26rem]" - /> +
+
+ + 검증일시 + + + setHistoryDateRange((value as any) ?? undefined) + } + className="max-w-[26rem]" + /> +