위치: 프로젝트 상세(SCR-PM-016) › [발주] 탭 하위 — 독립 영역이 아니라 프로젝트를 열고 [발주] 탭으로 들어가는 계약·발주 흐름입니다. 사이드바 📦발주관리 1차 메뉴는 전역 현황(입고·재고 SCR-OM-007)만 담습니다.
로우파이 데스크톱 와이어프레임 · 근거: DE22-1 화면설계서 §09 OM 발주관리 (SCR-OM-001~007, v1.1-r8 풀 명세) · 배치만 표현, 정본은 vault md · 관련 API 는 발주관리 37주소가 구현(as-built)됐습니다. 절단 최적화·널링 지시서·다단 승인선도 구현을 마쳤고(2026-07-27 서버 코드 대조), 견적 개정 감지 배너도 구현을 마쳤습니다(2026-08-19, IF-OM-REVISION-001). 남은 MISSING 표기는 발주서 묶음 PDF 출력·실측 반영 증감 대조입니다.
?step=1~5)이므로 단계별 프레임으로 나눠 총 12 프레임으로 구성했습니다.
진입 — SCR-ES-001 견적 버전 목록 [발주(OM)] 버튼(계약 지정 시) / 프로젝트 [발주] 탭(계약 미등록 시 자동 안내)
/api/pm/projects/{projectNo} — 브레드크럼·fgptitle에 쓰는 프로젝트 컨텍스트(프로젝트명) 조회/api/pm/options/groups/{groupCode}/values — 색상(외부/내부)·유리 사양 select 옵션 값 목록/api/es/estimate-lines/{lineId} — 견적 라인 조회 — 계약 등록 시 서버가 견적에서 quoteAmount 를 채운다/api/om/projects/{projectId}/contracts — [계약 등록] 버튼 — 계약번호 자동채번(CON-YYYY-NNN)·계약정보·옵션확정 저장 (IF-OM-CONTRACT-001)진입 — SCR-PM-016 프로젝트 상세 [발주] 탭 진입 시 계약 영역이 기본 노출
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/om/projects/{projectId}/contracts — 계약 목록(번호·견적버전·금액·납기·상태) 조회 (IF-OM-CONTRACT-001)/api/om/contracts/{contractId} — 우측 상세 패널(조건·옵션 확정·확정일) 조회/api/om/contracts/{contractId}/history — 이력 타임라인(변경일·변경자·내용) 조회/api/om/contracts/{contractId}/cancel — 계약 취소(ROLE_ADMIN·사유 필수) — 발주 데이터 존재 시 409 CONTRACT_HAS_ORDERS 가드 (IF-OM-CONTRACT-002)| 계약 번호 | 견적 버전 | 계약금액 | 납기일 | 상태 |
|---|---|---|---|---|
| 2CON-2026-001 | v.3 | ₩ 568,463,387 | 2026-10-30 | 진행중 |
| CON-2025-042 | v.1 | ₩ 363,378,673 | 2026-03-15 | 완공 |
| 일시 | 변경자 | 내용 |
|---|---|---|
| 2025-05-14 | 성윤정 | 계약 등록 (신규 → 진행중) |
| 2025-05-20 | 성윤정 | 유리 사양 변경 확정 |
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/om/purchase-orders?projectId={id}&status=&orderType=&orderRound=&page=&size= — 발주 회차 목록(발주 기준 설계·회차·금액·상태·발주일) 조회 (IF-OM-ORDER-001)GET /api/om/purchase-orders/{purchaseOrderId}/export?format=pdf — 발주서 PDF — IF-OM-ORDER-001 §5.6.4 가 이미 명세한다. 묶음(ids)은 그 절 규약을 따른다/api/om/projects/{projectId}/revision-alert — 기준 견적 개정(Rev.N→N+1) 감지 배너 (IF-OM-REVISION-001 §5.6.7)| 발주 기준 설계 | 회차 | 발주 금액 | 상태 | 발주일 | 발주서 | |
|---|---|---|---|---|---|---|
| 미사5중 신축공사 v.1 | 1차 | ₩ 9,655,680 | 4발주확정 🔒 | 2026-06-11 | 발주서 받기 ↓ | › |
| 미사5중 신축공사 v.1 | 2차 (보정 — FS 실측) | ₩ 1,240,000 | 승인 대기 | — | — | › |
진입 — SCR-OM-003 발주 목록 [발주 생성하기] 버튼
/api/es/projects/{projectId}/estimates — 프로젝트의 견적 버전 목록과 계약·비계약 구분 조회진입 — SCR-OM-003 견적 버전 선택 모달 [위저드 열기] 버튼 / SCR-OM-006 [차이분 발주 생성(새 회차)] 버튼 재진입
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/es/estimate-lines/{lineId}/resolved-bom — 계약 버전 RESOLVED_BOM 조회 — 섹션 카드(부호·수량) 데이터 원천, 재산출 없음/api/om/purchase-orders — 발주(회차) 작성중(DRAFT) 생성. 위저드 단계값은 화면(클라이언트)에서 조립해 완료 시 라인 묶음으로 함께 전송 (IF-OM-ORDER-001 — 단계별 저장 주소 없음)진입 — SCR-OM-004 1단계 [다음 — 도장·색상·랩핑] 버튼
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/pm/options/groups/{groupCode}/values — 코팅 종류·색명 등 도장 옵션 값 목록POST /api/om/purchase-orders 에 포함| 섹션 | 수량 | 코팅 종류 | 색명 | 표시 색상 | 랩핑 | |
|---|---|---|---|---|---|---|
| 지킴이실-AD01 | 1 | 2코팅 ▾ | WH | 색상 미리보기 | 없음 ▾ | 4나누기 |
| AW01 | 13 | 2코팅 ▾ | WH | 색상 미리보기 | 없음 ▾ | 나누기 |
| AW01 | — | 분할 시 이질 마감 지정 | — | — | — | 삭제 |
진입 — SCR-OM-004 2단계 [다음 — 장바 절단] 버튼
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/pm/items/{itemId}/standard-length — 자재별 원자재 표준 길이(default/min/max) 범위 조회 — 절단 최적화 입력 (IF-PM-LEN-001)/api/om/cutting-plans/optimize — 절단 최적화 계산(계산 전용·미영속, KPI·원자재별 장바 길이/본수/스크랩 반환)| 원자재 | 장바 길이 | 본수 | 스크랩 중량 | 스크랩률 | |
|---|---|---|---|---|---|
| UNI-A225-401A | 계산 | 계산 | 계산 | 계산 | 절단 조합 |
| UNI-M226-101-A | 계산 | 계산 | 계산 | 계산 | 절단 조합 |
진입 — SCR-OM-004 3단계 [다음 — 공정별 발주] 버튼
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/pm/items/{itemCode}/partners — 자재별 거래처 후보 목록 — 매트릭스 '거래처' 컬럼(partner_material 소비)/api/pm/processes — 공정마스터 목록 — 매트릭스 '공정' 컬럼/api/om/pricing/current — 자재별 거래처별 현재 유효 단가 일괄 조회 — 매트릭스 '단가' (IF-OM-CUT-001)POST /api/om/purchase-orders 에 포함| 공정 | 자재 | 거래처 | 수량 | 여분 |
|---|---|---|---|---|
| 압출 | UNI-A225-401A | 4대양알루미늄 ▾ | 산출 | 0 |
| 도장 | UNI-A225-401A (2코팅) | 대아프로폰 ▾ | 산출 | 0 |
| 단열 | UNI-M226-101-A | 자체 공장 ▾ | 산출 | 0 |
| 결합 | 결합 부속 | 유니크시스템 ▾ | 산출 | 0 |
| 랩핑 | 랩핑 필름 | 거래처 선택 ▾ | 산출 | 0 |
진입 — SCR-OM-004 4단계 [다음 — 재고 사용] 버튼
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/om/inventory/availability — 자재×길이×가공상태별 가용 재고(충당 가능량) 조회 — 재고 사용 입력 (IF-OM-INV-001, SCR-OM-007과 공유)/api/om/inventory/reserve — 재고 충당 예약(reserved_qty 증가) — 5단계 재고 사용 확정/api/om/purchase-orders → POST /{purchaseOrderId}/submit — 위저드 완료 — 발주(회차) 생성(DRAFT) + 승인 요청 (IF-OM-ORDER-001)/api/om/purchase-orders/{purchaseOrderId} — [임시 저장(작성중)] — 작성중(DRAFT) 발주 수정·재개 (DRAFT 한정)| 자재 | 길이 | 가공 상태 | 필요 수량 | 여분 | 재고 사용 | 4최종 발주 수량 |
|---|---|---|---|---|---|---|
| UNI-A225-401A | 6300 | 원자재 | 산출 | 0 | 30 | = 수량+여분−재고 |
| UNI-A225-401A | 6300 | 2코팅 도장 ☑ | 산출 | 0 | 0 | = 수량+여분−재고 |
| UNI-M226-101-A | 6300 | 원자재+단열 ☑ | 산출 | 0 | 0 | = 수량+여분−재고 |
진입 — SCR-OM-003 발주 회차 목록 행 클릭 / 승인 알림
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/om/purchase-orders/{purchaseOrderId} — 발주 상세(헤더 + 라인 전체, 화면이 공정×거래처로 묶어 표시) 조회 (IF-OM-ORDER-001)/api/om/purchase-orders/{purchaseOrderId}/submit — [승인 요청] — 작성중→승인대기/api/om/purchase-orders/{purchaseOrderId}/approve — [승인] — 승인대기→승인 (ROLE_OM_APPROVER, 단일 승인)/api/om/purchase-orders/{purchaseOrderId}/reject — [반려] — 승인대기→작성중 복귀/api/om/purchase-orders/{purchaseOrderId}/confirm — 발주 확정 — 승인→발주확정(잠금)·가격 동결·재고 차감. 승인 완료 시 IF-EVT-OM-PO-APPROVED로 MF 제작도 트리거/api/om/purchase-orders/{purchaseOrderId}/approvals — 금액 계층 다단 승인선(과장/부장/임원) 단계별 상태 — 단계 처리는 POST .../approvals/{stepSeq}/approve·rejectGET /api/om/purchase-orders/{purchaseOrderId}/export?format=pdf — 발주서 묶음 PDF(표준 1서식) — IF-OM-ORDER-001 §5.6.4/api/om/purchase-orders/{purchaseOrderId}/knurling-instruction — 널링 지시서(마킹 위치·텍스트·방식)| 공정 | 거래처 | 품목 수 | 중량/길이 | 금액 | 문서 |
|---|---|---|---|---|---|
| 압출 | 대양알루미늄 | 12 | 5,565.73 kg | ₩ 39,824,654 | 자재발주서 ↓ |
| 도장(2코팅) | 대아프로폰 | 9 | 6,418.66 kg | ₩ 7,509,849 | 도장 발주서 ↓ |
| 결합 | 유니크시스템 | 4 | 2,494.8 m | ₩ 1,995,840 | 결합 발주서 ↓ |
| 단계 | 승인자 | 상태 |
|---|---|---|
| 작성 | 성윤정 | 완료 |
| 과장 | 김성현 | 승인 |
| 부장 | — | 대기 |
진입 — SCR-OM-003 발주 목록 / FS 실측 반영 알림
/api/pm/projects/{projectNo} — 프로젝트 컨텍스트 조회/api/om/purchase-orders?projectId={id} — 기발주 라인 조회 — 재평가와 비교할 기발주 수량 (IF-OM-ORDER-001)GET /api/mf/projects/{projectId}/order-check — FS 실측 반영 증감 대조 — IF-MF-ORDERCHECK-001 프로젝트 축(작업지시별 묶음 + 합계) (§5.8.4 정책 7·9)/api/om/purchase-orders — [차이분 발주 생성(새 회차)] — 증가분을 orderRound+1 로 위저드(OM-004) 새 회차 생성 (IF-OM-ORDER-001)/api/om/inventory/adjust — 감소분 잉여 재고 전환 (IF-OM-INV-001 — 전환 규칙 자체는 잠정 미확정)| ☐ | 섹션 | 항목 | 기발주 | 재평가 (실측) | 차이 | 처리 |
|---|---|---|---|---|---|---|
| ☑ | AW01 | UNI-A225-401A (장바) | 180 | 186 | +6 | 5추가 발주 |
| ☑ | AAW01 | 02-0077 풍지판 | 54 | 58 | +4 | 추가 발주 |
| ☐ | AW12 | UNI-M226-101-A (장바) | 32 | 30 | −2 | 잉여 — 재고 전환 |
진입 — 사이드바 발주관리 1차 메뉴 › 입고·재고 현황
/api/om/inventory?itemId=&processState=&warehouseCode=&page=&size= — 자재별 재고(보유량·예약량·여유량, 자재×길이×가공상태×창고 단위) 조회 — [자재 재고] 탭·요약 카드 (IF-OM-INV-001)/api/om/purchase-orders/{purchaseOrderId}/goods-receipts — 발주별 입고 이력(회차·이론/계근 중량·잔여) 조회 — [발주 입고 현황] 탭 (IF-OM-RCV-001)/api/om/purchase-orders/{purchaseOrderId}/goods-receipts — 입고 검수 등록(실입고 수량·계근중량) — 이론중량 대사·재고 자동 반영/api/om/inventory/adjust — 재고 조정(실사 보정)| 자재 | 길이 | 가공 상태 | 보유량 | 예약량 | 여유량 |
|---|---|---|---|---|---|
| UNI-A225-401A | 6300 | 원자재 | 24 | 10 | 14 |
| UNI-A225-401A | 6300 | 2코팅 도장 | 6 | 6 | 50 ⚠ |
| UNI-M226-101-A | 6300 | 원자재+단열 | 12 | 0 | 12 |