diff --git a/apps/as/src/entities/fnrs-cnsltn/api/fnrs-cnsltn-service.ts b/apps/as/src/entities/fnrs-cnsltn/api/fnrs-cnsltn-service.ts index ffac5eb4a..a74838d49 100644 --- a/apps/as/src/entities/fnrs-cnsltn/api/fnrs-cnsltn-service.ts +++ b/apps/as/src/entities/fnrs-cnsltn/api/fnrs-cnsltn-service.ts @@ -98,6 +98,10 @@ async function changePrgrsSttsComCd(body: DocPrgrsUpdateRequestDto): Promise(`${BASE}/doc/updatePrgrsStts`, body); } +async function rejectPrgrsStts(body: DocPrgrsUpdateRequestDto): Promise { + await client.post(`${BASE}/doc/rejectPrgrsStts`, body); +} + export const fnrsCnsltnMngService = { findPage, findById, @@ -112,4 +116,5 @@ export const fnrsCnsltnMngService = { remove, findFileVrfcResults, changePrgrsSttsComCd, + rejectPrgrsStts, } satisfies FnrsCnsltnMngService; diff --git a/apps/as/src/entities/fnrs-cnsltn/model/fnrs-cnsltn-interface.ts b/apps/as/src/entities/fnrs-cnsltn/model/fnrs-cnsltn-interface.ts index 07d3983e9..adfd40338 100644 --- a/apps/as/src/entities/fnrs-cnsltn/model/fnrs-cnsltn-interface.ts +++ b/apps/as/src/entities/fnrs-cnsltn/model/fnrs-cnsltn-interface.ts @@ -145,4 +145,5 @@ export interface FnrsCnsltnMngService { remove(fnrsCnsltnDocNo: string): Promise; findFileVrfcResults(fnrsCnsltnDocNo: string): Promise; changePrgrsSttsComCd(body: DocPrgrsUpdateRequestDto): Promise; + rejectPrgrsStts(body: DocPrgrsUpdateRequestDto): Promise; } diff --git a/apps/as/src/entities/instl-sncn/api/instl-sncn-service.ts b/apps/as/src/entities/instl-sncn/api/instl-sncn-service.ts index 4c442a3da..4804f22fb 100644 --- a/apps/as/src/entities/instl-sncn/api/instl-sncn-service.ts +++ b/apps/as/src/entities/instl-sncn/api/instl-sncn-service.ts @@ -91,6 +91,10 @@ async function changePrgrsSttsComCd(payload: DocPrgrsUpdateRequestDto): Promise< await client.post(`${BASE}/doc/updatePrgrsStts`, payload); } +async function rejectPrgrsStts(payload: DocPrgrsUpdateRequestDto): Promise { + await client.post(`${BASE}/doc/rejectPrgrsStts`, payload); +} + export const instlSncnService = { getPage, getById, @@ -102,6 +106,7 @@ export const instlSncnService = { submitReqSupplement, remove, changePrgrsSttsComCd, + rejectPrgrsStts, } satisfies InstlSncnMngService; // TODO: st-anls-mst service 로 분리 diff --git a/apps/as/src/entities/instl-sncn/model/instl-sncn-interface.ts b/apps/as/src/entities/instl-sncn/model/instl-sncn-interface.ts index 1eea8c4c9..aebbc5c6f 100644 --- a/apps/as/src/entities/instl-sncn/model/instl-sncn-interface.ts +++ b/apps/as/src/entities/instl-sncn/model/instl-sncn-interface.ts @@ -131,4 +131,5 @@ export interface InstlSncnMngService { submitReqSupplement: (id: string, payload: InstlSncnApplySaveRequestDto) => Promise; remove: (id: string) => Promise; changePrgrsSttsComCd: (payload: DocPrgrsUpdateRequestDto) => Promise; + rejectPrgrsStts: (payload: DocPrgrsUpdateRequestDto) => Promise; } 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 6d865fb68..2cf9267a4 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 @@ -462,6 +462,7 @@ function FloatingActionButtons({ docNo, docSeComCd, prgrsSttsComCd: "LE", + rgtrUuid: userInfo?.userUnqId, }; await executeAction({ action: FNRS_CNSLTN_VIEW_BUTTON_ACTION.envoSbmsn, @@ -471,10 +472,14 @@ function FloatingActionButtons({ } async function handleRjctClick() { + if (!(await confirm("해당 신청 건을 반려하시겠습니까?"))) { + return; + } const payload: DocPrgrsUpdateRequestDto = { docNo, docSeComCd, prgrsSttsComCd: "SV", + rgtrUuid: userInfo?.userUnqId, }; await executeAction({ action: FNRS_CNSLTN_VIEW_BUTTON_ACTION.rjct, @@ -488,6 +493,7 @@ function FloatingActionButtons({ docNo, docSeComCd, prgrsSttsComCd: "TA", + rgtrUuid: userInfo?.userUnqId, }; await executeAction({ action: FNRS_CNSLTN_VIEW_BUTTON_ACTION.sncnAprv, @@ -1114,6 +1120,17 @@ async function handleChangePrgrsSttsComCd( } } +async function handleRejectPrgrsStts( + context: ActionHandlerContext, +): Promise { + try { + await fnrsCnsltnMngService.rejectPrgrsStts(context.request); + context.onSuccess?.(); + } catch (error) { + context.onError?.(error as Error); + } +} + async function handleTechReview( context: ActionHandlerContext, ): Promise { @@ -1200,7 +1217,7 @@ const buttonActionHandlers: Record = aply: handleSaveApply, del: handleDel, envoSbmsn: handleChangePrgrsSttsComCd, - rjct: handleChangePrgrsSttsComCd, + rjct: handleRejectPrgrsStts, sncnAprv: handleChangePrgrsSttsComCd, rvwRply: handleTechReview, rvwOpnnRply: handleTechReview, diff --git a/apps/as/src/pages/instl-sncn/ui/components/floating-action-buttons.tsx b/apps/as/src/pages/instl-sncn/ui/components/floating-action-buttons.tsx index a34c23292..3fe70d66c 100644 --- a/apps/as/src/pages/instl-sncn/ui/components/floating-action-buttons.tsx +++ b/apps/as/src/pages/instl-sncn/ui/components/floating-action-buttons.tsx @@ -221,10 +221,13 @@ function FloatingActionButtons({ } async function handleRjctClick() { + if (!(await confirm("해당 신청 건을 반려하시겠습니까?"))) return; + const payload: DocPrgrsUpdateRequestDto = { docNo, docSeComCd, prgrsSttsComCd: "SV", + rgtrUuid: userInfo?.userUnqId, }; await executeAction({ action: INSTL_SNCN_VIEW_BUTTON_ACTION.rjct, @@ -516,6 +519,17 @@ async function handleChangePrgrsSttsComCd( } } +async function handleRejectPrgrsStts( + context: ActionHandlerContext, +): Promise { + try { + await instlSncnService.rejectPrgrsStts(context.request); + context.onSuccess?.(); + } catch (error) { + context.onError?.(error as Error); + } +} + async function handleTechReview( context: ActionHandlerContext, ): Promise { @@ -566,7 +580,7 @@ const buttonActionHandlers: Record = { aply: handleSaveApply, del: handleDel, instlSncnAncmnt: handleChangePrgrsSttsComCd, - rjct: handleChangePrgrsSttsComCd, + rjct: handleRejectPrgrsStts, sncnAprv: handleChangePrgrsSttsComCd, rvwRply: handleTechReview, rqstTechRvw: handleChangePrgrsSttsComCd, diff --git a/apps/as/src/shared/model/pbadms-sprt.ts b/apps/as/src/shared/model/pbadms-sprt.ts index 32070e7e6..c0b605685 100644 --- a/apps/as/src/shared/model/pbadms-sprt.ts +++ b/apps/as/src/shared/model/pbadms-sprt.ts @@ -6,6 +6,8 @@ export interface DocPrgrsUpdateRequestDto { docSeComCd: string; /** 진행상태공통코드 */ prgrsSttsComCd: string; + /** 작성자 UUID */ + rgtrUuid?: string; } /** 공종 트리와 사업규모(수량) 조합 DTO */