From 07ae3f771136ee3b804a82f0443e2bb2f8d338f7 Mon Sep 17 00:00:00 2001 From: jangwoong Date: Tue, 20 Oct 2026 15:34:24 +0900 Subject: [PATCH] =?UTF-8?q?[as=20fr]=20=EC=9B=B9=EA=B8=B0=EC=95=88?= =?UTF-8?q?=EA=B8=B0=20=ED=98=B8=EC=B6=9C=20=ED=8C=9D=EC=97=85=EC=97=90=20?= =?UTF-8?q?=EB=B9=8C=EB=93=9C=EB=B0=8F=20lint=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/pwrk-cnsltn-doc-mng-dialog.tsx | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/apps/as/src/pages/fnrs-cnsltn/ui/components/pwrk-cnsltn-doc-mng-dialog.tsx b/apps/as/src/pages/fnrs-cnsltn/ui/components/pwrk-cnsltn-doc-mng-dialog.tsx index af2c07047..b2d5bad8f 100644 --- a/apps/as/src/pages/fnrs-cnsltn/ui/components/pwrk-cnsltn-doc-mng-dialog.tsx +++ b/apps/as/src/pages/fnrs-cnsltn/ui/components/pwrk-cnsltn-doc-mng-dialog.tsx @@ -1,14 +1,11 @@ "use client"; -import { useContext, useEffect, useMemo, useState } from "react"; +import { useEffect, useMemo, useState } from "react"; import dynamic from "next/dynamic"; import { useQuery, useQueryClient } from "@tanstack/react-query"; import { PanelRightClose, PanelRightOpen } from "lucide-react"; -import { useStore } from "zustand"; - -import { getDefaultFileKey, useAlertStore, useTus } from "@/shared/lib"; -import { StoreContext } from "@/shared/providers"; +import { getDefaultFileKey, useAlertStore, useTus, useUserStore } from "@/shared/lib"; import { AttachmentFileField } from "@/shared/ui"; import { attachService, @@ -155,8 +152,7 @@ function PwrkCnsltnDocMngDialog({ }: PwrkCnsltnDocMngDialogProps) { const queryClient = useQueryClient(); const alert = useAlertStore((state) => state.setMessage); - const storeContext = useContext(StoreContext); - const userInfo = storeContext ? useStore(storeContext.userStore, (state) => state.userInfo) : null; + const userInfo = useUserStore((state) => state.userInfo); const [atchFileGroupId, setAtchFileGroupId] = useState(""); const [uploadedFiles, setUploadedFiles] = useState([]); const [isPjtcoAjmtTableOpen, setIsPjtcoAjmtTableOpen] = useState(false); @@ -165,7 +161,7 @@ function PwrkCnsltnDocMngDialog({ // 전자결재 브랜치 목록 직접 조회 (Single Source of Truth) const { data: elaprBranchList = [] } = useElaprBranchesByDocNo( fnrsCnsltnDocNo, - open && Boolean(isForkJoin), + { enabled: open && Boolean(isForkJoin) }, ); // 전자결재 결재선 목록 직접 조회 (병합자 / 최종승인자 식별용) @@ -216,11 +212,19 @@ function PwrkCnsltnDocMngDialog({ if (effectiveBranchSeCd === "TOTAL_AGG") { if (effectiveAtrzSeList.includes("ATRZ04")) return false; if (effectiveAtrzSeList.some((cd) => APPROVER_ATRZ_SE_COM_CDS.has(cd))) return true; - if (currentUserPrgrs?.atrzSeq && Number(currentUserPrgrs.atrzSeq) > 1) return true; + const userSeq = currentUserPrgrs?.atrzSeqNo ?? (currentUserPrgrs as Record | undefined)?.atrzSeq; + if (userSeq && Number(userSeq) > 1) return true; if (effectiveAtrzSeList.length > 0 && !effectiveAtrzSeList.includes("ATRZ04")) return true; } return false; - }, [isForkJoin, isTeOrRk, effectiveBranchSeCd, effectiveAtrzSeList, currentUserPrgrs?.atrzSeq]); + }, [ + isForkJoin, + isTeOrRk, + effectiveBranchSeCd, + effectiveAtrzSeList, + currentUserPrgrs?.atrzSeqNo, + (currentUserPrgrs as Record | undefined)?.atrzSeq, + ]); // 3. 병합 완료(결재 후) 여부 // 병합자가 이미 결재(승인)를 진행한 경우 (ATRZ_PRGRS_003 등) MAIN 탭 저장 불가 @@ -233,7 +237,8 @@ function PwrkCnsltnDocMngDialog({ const mergerRow = userRows.find( (row) => row.atrzSeComCd === "ATRZ04" || - (row.branchSeCd === "TOTAL_AGG" && Number(row.atrzSeq) === 1), + (row.branchSeCd === "TOTAL_AGG" && + Number(row.atrzSeqNo ?? (row as Record).atrzSeq) === 1), ); if (mergerRow) { return ( @@ -247,7 +252,8 @@ function PwrkCnsltnDocMngDialog({ const aggMergerRow = elaprPrgrsForCycl.find( (row) => row.branchSeCd === "TOTAL_AGG" && - (row.atrzSeComCd === "ATRZ04" || Number(row.atrzSeq) === 1), + (row.atrzSeComCd === "ATRZ04" || + Number(row.atrzSeqNo ?? (row as Record).atrzSeq) === 1), ); if (aggMergerRow) { return (