Files
frontend/apps/as/docs/pwrk-cnsltn/ref-screen-buttons.md
T

9.7 KiB
Raw Blame History

레퍼런스 — 화면·버튼 매트릭스

상위: 개발가이드.md
SoT: 03 §4 화면 및 버튼별 상세 상태전이 명세서 (Row 4~42, 38행)

구현 위치: pages/fnrs-cnsltn/lib/button-config.ts + ui/components/floating-action-buttons.tsx


1. 화면 구분

화면 소유 라우트 (현행) 비고
작성화면 기초 ROLE_USER05 /fnrs-cnsltn/new, /fnrs-cnsltn/{id}/edit SV
수정화면 기초 /fnrs-cnsltn/{id}/edit SL 보완
상세화면 광역·환경청·공단·기초(RB/TA) /fnrs-cnsltn/{id} 조회 + 액션 버튼
자동화 AI 버튼 없음 FV/AC/AV 진행 패널

공단 상세는 결재선 구분으로 같은 상태라도 버튼이 다르다.

atrzSeComCd 역할
ATRZ01 접수자
ATRZ02 검토자
ATRZ03 승인자
ATRZ99 최종승인자

2. 38행 매트릭스

API 컬럼은 ref-endpoint.md와 동일.

순번 화면 권한 결재선 상태 버튼 전이 다음 담당 FE 동작
1 작성 USER05 - 빈값, SV 저장 SV 본인 save-apply SV
2 작성 USER05 - SV 신청완료 ST 광역 save-apply ST
3 작성 USER05 - SV 삭제 삭제 — DELETE
4 상세 USER04 - ST 환경청제출 LE 환경청 updatePrgrsStts
5 상세 USER03 - LE 결과회신 EP 광역 tech-review 자체종결
6 상세 USER03 - LE 기술검토 의뢰 FV 공단 접수 request-examine
7 자동화 AI - FV (파일검증) ER 공단 접수 FE 호출 없음. 진행 패널
8 상세 USER01 접수자 ER 파일보완 SL 기초 팝업(파일리스트) → reqsupplement
9 상세 USER01 접수자 ER 파일검증 ER 본인 dcrag-to/transfer 재실행
10 상세 USER01 접수자 ER 검토자지정 AC 다음 결재자 POST /elapr-dmnd
11 자동화 AI - AC (초안생성) TE 공단 검토 FE 호출 없음. 폴링
12 상세 USER01 검토자 TE 실무협의서관리 유지 — 웹기안기 Open. 초안 성공 시만
13 상세 USER01 검토자 TE 검토결과조회 유지 — 실무협의 상세
14 상세 USER01 검토자 TE 실무협의서생성 유지 — 실패/타임아웃/초안 없음 시
15 상세 USER01 검토자 TE 저장 TE — pwrk save-apply
16 상세 USER01 검토자 TE 검토완료 TE 다음 결재자 elapr process 상신. 반려 시 직전 결재자
17 상세 USER01 검토자 TE 보완요청 SL 기초 보완 팝업() → reqsupplement
18 상세 USER01 승인자 TE 결재(승인) TE 다음 결재자 process
19 상세 USER01 최종승인자 TE 결재(회신) TP 환경청 process 최종
20 수정 USER05 - SL 파일보완완료 ER 공단 접수 submitsupplement (직전=ER)
21 수정 USER05 - SL 보완완료 TE 공단 검토 submitsupplement (직전=TE)
22 수정 USER05 - SL 보완완료 RK 공단 검토 submitsupplement (직전=RK)
23 상세 USER03 - TP 재원협의 결과 회신 RM 광역 tech-review
24 상세 USER04 - RM 지자체회신 RB 기초 updatePrgrsStts
25 상세 USER05 - RB 실무협의서 관리 유지 — 웹기안기 Open
26 상세 USER05 - RB 조치완료 RA 환경청 submit-actn-result isSubmit:true
27 상세 USER04 - RC 조치결과서제출 RA 환경청 updatePrgrsStts
28 상세 USER03 - RA 실무협의서 관리 유지 — 웹기안기 Open. 저장 불가
28a 상세 USER03 - RA 조치결과 검토의뢰 AV 공단 검토 request-actn-review
29 자동화 AI - AV (금액검증) EV 공단 접수 FE 호출 없음. 진행 패널
29a 상세 USER01 접수자 EV 검토자지정 RK 공단 검토 POST /elapr-dmnd cycl=2. 1차 결재선 시드
30 상세 USER01 검토자 RK 실무협의서관리 유지 — 웹기안기
31 상세 USER01 검토자 RK 금액검증 RK — dcrag-to/cost/verify
32 상세 USER01 검토자 RK 저장 RK — pwrk save-apply
33 상세 USER01 검토자 RK 검토완료 RK 다음 결재자 process
34 상세 USER01 승인자 RK 결재(승인) RK 다음 결재자 process
35 상세 USER01 최종승인자 RK 결재(회신) RR 환경청 process 최종
36 상세 USER03 - RR 실무협의서 관리(조회), 검토결과 회신 EP 광역 tech-review
37 작성/상세 USER04 - EP 결과회신, 실무협의서 관리(조회) TA 기초 updatePrgrsStts
38 상세 USER05 - TA 결과회신, 실무협의서 관리(조회) — — API 없음. 조회

SL 20~22행: 버튼은 직전 상태에 따라 하나만 노출. 파일 루프면 [파일보완완료], 그 외 [보완완료].


3. button-config 권장 구조

액션 키는 현행 FNRS_CNSLTN_VIEW_BUTTON_ACTION을 확장한다. 신규·이름 변경:

신규/변경 액션 라벨 비고
fileSplmnt 파일보완 ER 접수자. 현행에 없음
fileVrfc 파일검증 유지. ER 재실행
dsgntRvwr 검토자지정 ER→AC(1차), EV→RK(2차)
pwrkCnsltnDocMng 실무협의서관리 유지. TE·RK·RB·RA(조회 전용)
pwrkCnsltnDocCrt 실무협의서생성 유지. 실패/타임아웃만
rvwRsltInq 검토결과조회 신규
actnCmptn 조치완료 RB→RA. isSubmit:true
actnSbmsn 조치결과서제출 광역 RC→RA
rqstActnRvw 조치결과 검토의뢰 환경청 RA→AV
costVrfc 금액검증 RK
lclRply 지자체회신 광역 RM→RB
fnrsRsltRply 재원협의 결과 회신 환경청 TP→RM
rsltRply 결과회신 LE→EP, RR→EP, EP→TA, TA 조회
fileSplmntCmptn 파일보완완료 SL←ER
splmntCmptn 보완완료 SL←TE|RK

삭제: fnrsCnsltnAncmnt(고시→TB), sncnAprv(인가승인). EP/TA는 rsltRply로 통일.

3-1. 역할 × 상태 (공단 제외)

ROLE_USER05
  "" | SV  → 저장, 신청완료, 삭제
  SL       → (직전 ER) 파일보완완료 | (직전 TE|RK) 보완완료
  RB       → 실무협의서 관리, 조치완료
  TA       → 결과회신 (조회), 실무협의서 관리(조회)

ROLE_USER04
  ST → 환경청제출          // 현행 반려(rjct→SV)는 SoT 38행에 없음. 유지 시 별도 합의
  RM → 지자체회신
  RC → 조치결과서제출
  EP → 결과회신, 실무협의서 관리(조회)

ROLE_USER03
  LE → 결과회신(자체종결), 기술검토 의뢰
  TP → 재원협의 결과 회신
  RA → 실무협의서 관리(조회), 조치결과 검토의뢰
  RR → 실무협의서 관리(조회), 검토결과 회신 (`tech-review` → `EP`)

3-2. 공단 결재선 × 상태

ER / ATRZ01 접수자
  → 파일보완, 파일검증, 검토자지정

EV / ATRZ01 접수자
  → 검토자지정 (2차 결재선. 1차 결재선 시드, 서식 선택 없음)

TE / ATRZ02 검토자
  → (초안 성공) 실무협의서관리, 검토결과조회, 저장, 검토완료, 보완요청
  → (초안 실패·타임아웃) 실무협의서생성 (+ 위 항목 중 관리/조회는 초안 생긴 뒤)

TE / ATRZ03 승인자 → 결재(승인)
TE / ATRZ99 최종   → 결재(회신)

RK / ATRZ02 검토자
  → (초안 완료) 실무협의서관리
  → (초안 완료 + 결재 대기 ATRZ_PRGRS_002, cycl2) 보완요청, 검토완료
    · 보완요청 UI: TE와 동일 SplmntDmndDialog
RK / ATRZ03 → (초안 완료) 실무협의서관리, (cycl2 pending) 결재(승인)
RK / ATRZ99 → (초안 완료) 실무협의서관리, (cycl2 pending) 결재(회신)
  · 결재 UI: ElaprApprovalDialog (elaprCycl=2) 승인/반려 → PUT process

FV, AC, AV: 액션 빈 배열 + 진행 패널.

PENDING_APPROVAL_ACTIONS: dmndSplmnt, rvwCmptn, atrzAprv, atrzRply만.
pwrkCnsltnDocMng는 결재 대기와 무관(초안 완료만). ATRZ02·ATRZ03·ATRZ99라도 pending 없으면 관리만 노출.


4. 초안 성공 vs 실패 버튼

TE에서 crtDmndList[].crtSttsComCd / 폴링 status로 분기.

조건 노출
C / COMPLETED 실무협의서관리, 검토결과조회, 저장, 검토완료, 보완요청
F / FAILED 또는 30분 Fallback 후 초안 없음 실무협의서생성
R/I 생성 중 진행 패널. 위 버튼 비활성 (AC와 동일 UX, 상태가 이미 TE면 패널+생성 버튼)

RK는 금액검증 성공이 기본. Fallback 후 [금액검증] 재실행만 추가 노출.


5. 현행 button-config.ts와의 차이

항목 현재 To-Be
USER05 ""/SV/TA(고시) SL, RB 추가. TA는 조회
USER04 ST(제출+반려), EP(인가승인) RM/RC/EP 추가. 인가승인 삭제
USER03 LE, TP(→EP로 회신) RA, RR 추가. TP는 RM
USER01 ER(파일검증, 검토자지정), TE ER에 파일보완. RK 전면 추가
USER01 ATRZ ER, TE만 needsRoleUser01AtrzResolve RK 포함