7c03907000
wace 패턴(estimateAndOrderRegistFormPopup + saveEstimateAndOrderInfo) 이식. 운영 데이터 90건 중 74건이 is_direct_order='Y' — 주문 신규 등록의 기본 흐름. 변경: - 백엔드 OrderBody: order_date / approval_required / is_direct_order 신규 (contract_date 폐지, 운영 컬럼명 일치) - create()/update() INSERT·UPDATE에 위 3개 컬럼 추가. is_direct_order 기본값 'Y' - 프론트 OrderBody 타입 동기화. openCreate 시 order_date=today + is_direct_order='Y' 자동 - 폼 다이얼로그 "발주일" 입력을 order_date 바인딩 (잘못 contract_date 바인딩 정정) 자동 검증 (BEGIN/ROLLBACK): - is_direct_order='Y' INSERT, order_date 저장, ORDER_* 라인 컬럼 정상 - 견적관리 그리드 노출 차단(IS_DIRECT_ORDER!='Y' 필터), 주문관리 그리드 노출 확인 docs/migration/sales/05-direct-order-verify.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
05. PR-B G2 — 주문관리 직접등록 통합폼 (is_direct_order='Y')
작성: 2026-05-11 원본:
wace_plm/WebContent/WEB-INF/view/contractMgmt/estimateAndOrderRegistFormPopup.jsp+ContractMgmtService.saveEstimateAndOrderInfo(라인 2664~) 대상:app/(main)/COMPANY_16/sales/order/page.tsx"수주입력" 다이얼로그 +POST /api/sales/order-mgmt
1. wace 패턴
견적 없이 주문을 바로 등록하는 통합폼. 핵심 차이:
contract_mgmt.is_direct_order = 'Y'강제 (견적관리 그리드 노출 X — 견적관리 SQL이IS_DIRECT_ORDER != 'Y'필터)- 주문관리 그리드엔 노출
- 헤더에 발주일(
order_date) / 발주번호(po_no) 추가 - 라인에
ORDER_*컬럼 (수주수량/단가/공급가액/부가세/총액) 입력 - 라인의
quantity = order_quantity미러링 (wace 통합폼은 견적수량 별도 입력 X)
2. 운영 데이터 검증
contract_mgmt 90건 중 is_direct_order='Y' = 74건 (82%)
→ 운영 주문은 절대다수가 직접등록 통합폼으로 작성. G2가 주문 신규 등록의 기본 흐름.
3. RPS 변경
백엔드 [salesOrderMgmtService.ts]
OrderBody타입:order_date/approval_required/is_direct_order추가,contract_date폐지 (운영 컬럼은order_date)create(): INSERT에is_direct_order(default 'Y') /order_date/approval_required추가update(): 동일 컬럼 UPDATEupsertItems: 기존ORDER_*처리 그대로 (이미 G2 호환)
프론트 [order/page.tsx] + [salesOrderMgmt.ts]
OrderBody:order_date/approval_required/is_direct_order보강,contract_date폐지openCreate():order_date = today+is_direct_order = 'Y'기본값openEdit():order_date/approval_required/is_direct_orderdetail에서 복원- 폼 다이얼로그: "발주일" 입력을
order_date바인딩 (이전contract_date잘못 바인딩 정정)
4. 자동 검증 결과 (BEGIN/ROLLBACK)
| 항목 | 결과 |
|---|---|
is_direct_order='Y' INSERT |
✅ |
order_date 컬럼에 저장 |
✅ (2026-05-11) |
ORDER_* 라인 컬럼 (qty/unit_price/total_amount) |
✅ |
견적관리 노출 차단 (필터 is_direct_order != 'Y') |
✅ (0 rows) |
| 주문관리 노출 | ✅ (1 row) |
5. 결론
기존 RPS create/update가 거의 G2 호환이라 신규 endpoint 없이 컬럼 보강(is_direct_order/order_date/approval_required)으로 처리. 분리 endpoint 불필요.
다음 단계: G5 견적작성 PDF 또는 G4 결재 모듈.