Files
frontend/apps/as/docs/pwrk-cnsltn/ref-process-status.md
T

10 KiB

레퍼런스 — 프로세스·상태 전이

상위: 개발가이드.md
SoT: 03.재원협의_실무협의_프로세스_통합_v완결.md (v3.0, 2026-09-03)


1. 프로세스 개요

항목 내용
Process No. PR-AS-003
메뉴 행정지원 > 2.2.2 재원협의 > 2.2.2.1 재원협의 관리
목적 기초 → 광역(경유) → 환경청(승인) → 공단(기술검토/AI) 4자 협의로 사업규모·국비·분담금을 확정

2-Pass:

  • Pass 1 기술 타당성: SV→ST→LE→FV→ER→AC→TE→TP→RM→RB
  • Pass 2 조치결과·금액: RB→RA→AV→EV→RK→RR→EP→TA

자체종결(기술검토 생략): LE→EP→TA


2. 4-Lane 시퀀스

sequenceDiagram
    autonumber
    actor 기초 as 기초 (ROLE_USER05)
    actor 광역 as 광역 (ROLE_USER04)
    actor 환경청 as 환경청 (ROLE_USER03)
    actor 공단 as 공단 (ROLE_USER01)
    actor AI as AI 엔진

    rect rgb(240, 248, 255)
    기초->>기초: [저장] SV
    기초->>광역: [신청완료] ST
    광역->>환경청: [환경청제출] LE
    end

    rect rgb(255, 250, 240)
    alt 자체종결
        환경청->>광역: [결과회신] LE → EP
        광역->>기초: [결과회신] EP → TA
    else 기술검토 의뢰
        환경청->>AI: [기술검토 의뢰] LE → FV
    end
    end

    rect rgb(245, 255, 245)
    AI-->>공단: 파일검증 콜백 FV → ER
    Note over 공단: 30분 미응답 시 ER + 수동 [파일검증]
    alt 파일 미비
        공단->>기초: [파일보완] ER → SL
        기초->>공단: [파일보완완료] SL → ER
    else 적격
        공단->>AI: [검토자지정] ER → AC
    end
    end

    rect rgb(255, 245, 245)
    AI-->>공단: 초안 콜백 AC → TE
    Note over 공단: 30분 미응답 시 TE + 수동 [실무협의서생성]
    alt 설계 미비
        공단->>기초: [보완요청] TE → SL
        기초->>공단: [보완완료] SL → TE
    else 검토 완료
        공단->>공단: [검토완료] 상신, [결재(승인)] TE 유지
        공단->>환경청: [결재(회신)] TE → TP
    end
    end

    rect rgb(250, 240, 255)
    환경청->>광역: [재원협의 결과 회신] TP → RM
    광역->>기초: [지자체회신] RM → RB
    기초->>환경청: [조치완료] RB → RA
    end

    rect rgb(240, 255, 255)
    광역->>환경청: [조치결과서제출] RC → RA
    환경청->>AI: [조치결과 검토의뢰] RA → AV
    AI-->>공단: 금액검증 콜백 AV → EV
    공단->>공단: [검토자지정] EV → RK
    Note over 공단: EV에서 1차 결재선 시드로 2차 결재선 수동 배정
    end

    rect rgb(255, 255, 230)
    alt 소명 미비
        공단->>기초: [보완요청] RK → SL
        기초->>공단: [보완완료] SL → RK
    else 확정
        공단->>환경청: [결재(회신)] RK → RR
    end
    end

    rect rgb(255, 240, 240)
    환경청->>광역: [결과회신] RR → EP
    광역->>기초: [결과회신] EP → TA
    end

거버넌스:

기초 (USER05) --ST--> 광역 (USER04) --LE--> 환경청 (USER03)
기초 <-----TA------ 광역 <-----EP/RM------ 환경청
환경청 --FV/ER--> 공단 (USER01) --TP/RR--> 환경청

3. Activity 정의 (14)

No. Activity 주체 From → To FE 포인트
1 재원협의 조회 기초 — 기본계획·자가점검 대조
2 등록 및 제출 기초·광역 SV→ST, 광역 LE save-apply, updatePrgrsStts
3 접수 및 의뢰 환경청 LE→FV / EP 의뢰 vs 자체종결 분기
4 AI 파일검증 공단·AI FV→ER / SL 30분 Fallback, 파일보완 팝업
5 자체종결 회신 환경청·광역 LE→EP→TA 공단 레인 없음
6 검토자지정·초안 공단·AI ER→AC→TE elapr-dmnd, 초안 폴링
7 1차 기술검토 공단 결재선 TE / SL 웹기안기, HWP 파싱은 서버
8 기술검토 회신 공단 최종 TE→TP process 최종
9 검토결과 회신 환경청·광역 TP→RM→RB 1차 회신. EP와 혼동 금지
10 조치결과 작성 기초 RB→RA submit-actn-result isSubmit:true (조치완료)
11 조치 의뢰 환경청 RA→AV request-actn-review
12 AI 금액검증 AI·공단 AV→EV 콜백/Fallback 후 접수자 대기
12a 2차 검토자지정 공단 접수 EV→RK elapr-dmnd cycl=2
13 2차 검토·결재 공단 RK→RR / SL 2차 결재선
14 최종 회신 환경청·광역·기초 RR→EP→TA 종결

4. FNRSSTTS 상세

관리: tb_cs_lwpo_cd / tb_as_fnrs_cnsltn_mng.prgrs_stts_com_cd

코드 국문 영문 화면 주체 전이
SV 저장 Save 기초 작성 신규/SV → SV
ST 신청완료 Submit to Province 기초→광역 SV→ST
LE 환경청 검토 Local Environment Review 광역→환경청 ST→LE
FV 파일검증 File Verification AI LE→FV
ER 기술검토 의뢰 Examine Request 공단 접수자 FV→ER, SL→ER
SL 보완요청 Supplement Loop 공단→기초 ER|TE|RK → SL
AC 초안생성 AI Auto Creation AI ER→AC
TE 기술검토 Technical Examine 공단 1차 결재 AC→TE, SL→TE
TP 기술검토 회신 Technical Pass to Basin 공단→환경청 TE→TP
RM 재원협의결과회신 Result Message to Province 환경청→광역 TP→RM
RB 재원협의결과회신(지자체) Result Back to Municipality 광역→기초 RM→RB
RC 조치결과서 제출 Result Complete 기초→광역 RB→RC
RA 조치결과서 제출(환경청) Result Ask to Basin 기초→환경청 RB→RA
AV 금액검증 Amount Verification AI RA→AV
EV 조치결과검토의뢰 Examine Verify 공단 접수자 AV→EV
RK 조치결과서검토 Result Check 공단 2차 결재 EV→RK, SL→RK
RR 조치결과서검토 회신 Result Return to Basin 공단→환경청 RK→RR
EP 검토결과 회신 Examine Pass to Province 환경청→광역 LE→EP(자체), RR→EP(최종)
TA 검토결과 회신(종료) Technical Approval 광역→기초 EP→TA

4-1. v2.1 → v3.0 대조 (프론트 폐기 대상)

구간 v2.1 v3.0
의뢰 직후 파일검증 ER FV → ER
검토자지정 후 초안 EE → DV ER → AC → TE
1차 내부 결재 TR → TP TE 유지 → TP
환경청→광역 1차 회신 EP RM
금액검증 RA RA → AV → RK
공단 2차 회신 TP RR
최종 완료 TP / 고시 TB TA (고시 없음)

가이드 v1.0 PWRKSTTS(DV, AR, TR, AA 등)도 동일하게 폐기.


5. 보완(SL) 3루프

복귀 상태는 tb_as_doc_stts_chg_hstry 직전 코드. 프론트는 복귀 코드를 요청에 넣지 않고, 라벨만 이력으로 고른다.

stateDiagram-v2
    ER --> SL: 파일보완 팝업(파일리스트)
    SL --> ER: 파일보완완료
    TE --> SL: 보완 검토팝업()
    SL --> TE: 보완완료
    RK --> SL: 보완 검토팝업(금액)
    SL --> RK: 보완완료
루프 팝업 요청 제출 버튼
파일 무결성 파일리스트 + 검증결과 공단 접수자 ER [파일보완완료]
1차 기술 설계 미달·사유 공단 검토자 TE [보완완료]
2차 금액 공종별 금액 체크 공단 검토자 RK [보완완료]

6. AI 3파이프라인·30분 Fallback

ID 단계 진입 → 완료 프론트 진입 Fallback 수동 재실행
AI-1 파일 무결성 FV→ER 환경청 [기술검토 의뢰] 30분 → ER + [파일검증] POST /dcrag-to/documents/transfer
AI-2 초안 생성 AC→TE 공단 [검토자지정] 30분 → TE + [실무협의서생성] POST /dcrag-to/documents/draft/generate
AI-3 금액 검증 AV→EV 환경청 [조치결과 검토의뢰] 30분 → EV + 수동 [금액검증] POST /dcrag-to/documents/cost/verify
  • 예상 소요 안내는 30분 (v1.0의 10분은 폐기).
  • 콜백 수신·스케줄러 전이는 서버. FE는 상세 refetch / draft status 폴링만.
  • AC→TE 성공 시에만 [실무협의서관리]·[검토결과조회] 활성. 실패·타임아웃이면 [실무협의서생성].

초안 폴링 이벤트 예:

eventType eventMessage
REQUESTED 요청을 접수했습니다.
DOWNLOADING 신청서를 수신하는 중입니다.
ANALYZING 자료 준비가 완료되었습니다.
GENERATING 문서 저장이 완료되었습니다.
COMPLETED 문서 생성이 완료되었습니다.
FAILED errorMessage 표시

종료: status === "COMPLETED" | "FAILED" 또는 events에 해당 eventType.


7. 2차 결재선 (수동 검토자지정)

  1. TE에서 1차 결재선(elaprCycl = 1) 완료.
  2. 금액검증 콜백/Fallback → AV→EV.
  3. 공단 접수자가 EV에서 [검토자지정]: 1차 결재선을 시드로 편집 후 POST /elapr-dmnd (elaprCycl: 2) → RK.
  4. copy-line 자동 복사는 사용하지 않는다.

결재 process:

  • 상신·중간 승인: 문서 상태 TE 또는 RK 유지.
  • 1차 최종: 서버가 TE→TP.
  • 2차 최종: 서버가 RK→RR.
  • 반려: 직전 결재자 복귀. 문서 상태 유지.

8. 웹기안기

  • TE/RK [실무협의서관리] → webhwp/open Blob 조회 후 팝업에서 HwpCtrl.Open(File).
  • [검토완료] 시 HWP 파싱·DB 등재는 서버. FE는 결재 process만.
  • 편집본 저장: POST /pwrk-cnsltn-doc-crt-rslt multipart. verSn은 클라이언트가 보내지 않음.