From 957fe4637ebdd4cdd558da289cbd6aef01c32cde Mon Sep 17 00:00:00 2001 From: jangwoong Date: Fri, 23 Oct 2026 16:58:56 +0900 Subject: [PATCH] =?UTF-8?q?[as=20fr]=20=EB=B3=91=EB=A0=AC=EA=B2=B0?= =?UTF-8?q?=EC=9E=AC=202=EC=B0=A8=20=EA=B2=80=ED=86=A0=EC=99=84=EB=A3=8C?= =?UTF-8?q?=20=EC=8B=9C=20=EB=AC=B8=EC=84=9C=EC=83=81=ED=83=9C=20SL=20?= =?UTF-8?q?=EC=97=AD=EC=A0=84=20fr=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../elapr/ui/elapr-approval-dialog.tsx | 18 +++++++++++++++--- .../ui/components/floating-action-buttons.tsx | 17 ++++++++++++++--- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/apps/as/src/entities/elapr/ui/elapr-approval-dialog.tsx b/apps/as/src/entities/elapr/ui/elapr-approval-dialog.tsx index 9be7da1bd..42d8aa2c1 100644 --- a/apps/as/src/entities/elapr/ui/elapr-approval-dialog.tsx +++ b/apps/as/src/entities/elapr/ui/elapr-approval-dialog.tsx @@ -75,10 +75,22 @@ function ElaprApprovalDialog({ elaprCycl, structuralSharing: false, }); + const effectiveCycl = useMemo(() => { + if (elaprCycl != null) return elaprCycl; + if (!elaprDocPrgrsList?.length) return undefined; + const myPending = elaprDocPrgrsList.find( + (row) => + row.aprvrUuid?.toLowerCase() === currentUserUuid?.toLowerCase() && + row.atrzPrgrsSttsComCd === "ATRZ_PRGRS_002", + ); + if (myPending?.elaprCycl != null) return Number(myPending.elaprCycl); + return Math.max(...elaprDocPrgrsList.map((r) => Number(r.elaprCycl || 1))); + }, [elaprCycl, elaprDocPrgrsList, currentUserUuid]); + const cyclDocPrgrsList = useMemo(() => { - if (elaprCycl == null) return elaprDocPrgrsList; - return elaprDocPrgrsList?.filter((row) => Number(row.elaprCycl) === elaprCycl); - }, [elaprCycl, elaprDocPrgrsList]); + if (effectiveCycl == null) return elaprDocPrgrsList; + return elaprDocPrgrsList?.filter((row) => Number(row.elaprCycl) === effectiveCycl); + }, [effectiveCycl, elaprDocPrgrsList]); const elaprDmndId = cyclDocPrgrsList?.[0]?.elaprDmndId; diff --git a/apps/as/src/pages/fnrs-cnsltn/ui/components/floating-action-buttons.tsx b/apps/as/src/pages/fnrs-cnsltn/ui/components/floating-action-buttons.tsx index 2cf9267a4..383f6caca 100644 --- a/apps/as/src/pages/fnrs-cnsltn/ui/components/floating-action-buttons.tsx +++ b/apps/as/src/pages/fnrs-cnsltn/ui/components/floating-action-buttons.tsx @@ -633,11 +633,13 @@ function FloatingActionButtons({ } async function handleRvwStrgClick() { + const targetPrgrsStts = + isSecondApproval || prgrsSttsComCd === "RK" ? "RK" : prgrsSttsComCd === "SL" ? "SL" : "TE"; const payload = buildTechReviewReplyPayload( data, checklistFormState, "KECO", - prgrsSttsComCd === "SL" ? "SL" : prgrsSttsComCd === "RK" ? "RK" : "TE", + targetPrgrsStts, "SV", getReviewOpinionFormData(), opnrNm, @@ -689,12 +691,15 @@ function FloatingActionButtons({ } } + const targetPrgrsStts = + isSecondApproval || prgrsSttsComCd === "RK" ? "RK" : prgrsSttsComCd === "SL" ? "SL" : "TE"; + const payload = { ...buildTechReviewReplyPayload( data, checklistFormState, "KECO", - prgrsSttsComCd, + targetPrgrsStts, "SV", getReviewOpinionFormData(), opnrNm, @@ -1041,7 +1046,13 @@ function FloatingActionButtons({ onOpenChange={(open) => setActiveDialog(open ? "elaprApproval" : null)} elaprDocNo={data.detDto?.fnrsCnsltnDocNo ?? fnrsCnsltnDocNo} currentUserUuid={userInfo?.userUnqId ?? ""} - elaprCycl={prgrsSttsComCd === "RK" ? 2 : undefined} + elaprCycl={ + userPendingPrgrs?.elaprCycl != null + ? Number(userPendingPrgrs.elaprCycl) + : isSecondApproval || prgrsSttsComCd === "RK" + ? 2 + : 1 + } taskSeComCd={normalizedTaskSeComCd || undefined} onSuccess={() => { queryClient.invalidateQueries({