Files
wace_rps/docs/migration/sales/03-sale-verify.md
T
hjjeong a0f6e0fa26 판매관리 그리드 V1 컬럼 8개 보강 + cu01_cnt 실데이터 + wace 1:1 검증 문서·자동 검증 SQL
- getList SQL: attach_file_info LATERAL JOIN으로 cu01_cnt(주문서첨부) 실데이터 (contract_mgmt.objid 기반, doc_type IN FTC_ORDER/ORDER)
- SaleListRow 타입: product_type_name/nation_name/receipt_date/customer_request/manager_name/payment_type_name/cu01_cnt 보강
- GRID_COLUMNS 8개 추가: 제품구분/국내해외/접수일/고객사요청사항/주문서첨부/출하방법/담당자/인도조건 (wace 36/36 일치)
- docs/migration/sales/03-sale-verify.md: wace ↔ RPS 매핑 / 갭 처리
- scripts/verify-sale.sql: BEGIN/ROLLBACK 2개 시나리오 (그리드 V1 / 판매상태 wace 로직)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:38:57 +09:00

4.2 KiB

03. 판매관리 wace 1:1 검증

작성: 2026-05-11 / 사이클: 구조적 검증 3차 (판매관리 메뉴) 원본: wace_plm/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp 대상: app/(main)/COMPANY_16/sales/sale/page.tsx 메인 테이블: project_mgmt T LEFT JOIN contract_mgmt CM LEFT JOIN sales_registration SR

1. 그리드 컬럼 — wace 활성 36개 vs RPS 36개 (보강 후 일치)

# wace title RPS GRID_COLUMNS key 상태
1 프로젝트번호 (frozen) project_no
2 주문유형 order_type_name
3 발주일 order_date
4 발주번호 po_no
5 요청납기 request_date
6 출하일 shipping_date
7 고객사 customer
8 품명 product_name
9 수주수량 order_quantity
10 판매수량 sales_quantity
11 잔량 remaining_quantity
12 판매단가 sales_unit_price
13 판매공급가액 sales_supply_price
14 부가세 sales_vat
15 판매총액 sales_total_amount
16 판매원화총액 sales_total_amount_krw
17 잔량원화총액 remaining_amount_krw
18 수주상태 order_status_name
19 판매상태 sales_status (wace 로직: 미판매/완판/분할판매 동적)
20 생산상태 production_status (placeholder)
21 출하지시상태 shipping_order_status
22 유/무상 payment_type_name
23 환종 sales_currency_name
24 환율 sales_exchange_rate
25 S/N serial_no
26 분할S/N split_serial_no (placeholder)
27 품번 product_no
28 제품구분 product_type_name (신규)
29 국내/해외 nation_name (신규)
30 접수일 receipt_date (신규)
31 고객사요청사항 customer_request (신규)
32 주문서첨부 cu01_cnt (clip) (신규, attach_file_info LATERAL JOIN)
33 출하방법 shipping_method (신규)
34 담당자 manager_name (신규)
35 인도조건 incoterms (신규)
36 거래명세서 has_transaction_statement (placeholder)

2. SQL 핵심 구조

FROM project_mgmt T
LEFT JOIN contract_mgmt CM      ON CM.objid = T.contract_objid
LEFT JOIN contract_item CI      ON CI.objid = T.contract_item_objid
LEFT JOIN customer_mng C        ON C.customer_code = SUBSTRING(T.customer_objid, 3)
LEFT JOIN sales_registration SR ON SR.project_no = T.project_no
LEFT JOIN user_info U_MGR       ON U_MGR.user_id = SR.manager_user_id
LEFT JOIN comm_code CC_*        ON CC_*.code_id = T.* AND status='active'  (CAT/AREA/PRD/RES/CUR/CUR_S)
LEFT JOIN SR_AGG                ON SR_AGG.project_no LIKE T.project_no || '%'   (판매수량 합계 — 분할판매 패턴)
LEFT JOIN CIS_AGG               ON CIS_AGG.item_objid = T.contract_item_objid  (S/N 집계)
LEFT JOIN AF                    ON AF.target_objid = T.contract_objid          (주문서첨부 신규)

3. 갭 처리

# 처리
S1 그리드 8개 누락 (제품구분/국내해외/접수일/고객사요청사항/주문서첨부/출하방법/담당자/인도조건) 본 커밋에서 추가
S2 cu01_cnt placeholder 0 → 실제 attach_file_info 카운트 LATERAL JOIN 추가
S3 분할S/N (split_serial_no) 실데이터 🟡 백로그 — sales_registration 분할 LIKE 패턴 활용 시 추후
S4 거래명세서/생산상태 실데이터 🟡 백로그

4. 자동 검증 결과 (scripts/verify-sale.sql)

  • 그리드 8개 신규 컬럼 SELECT 정상 (10 rows 샘플 모두 product_type_name/nation_name 표시)
  • cu01_cnt 운영 데이터에서 모두 0 (현재 attach_file_info 추가견적/주문서 doc_type 없음)
  • 판매상태 wace 로직 (미판매/완판/분할판매) 정합

5. 결론

판매관리 메뉴 wace 운영 화면과 1:1 정합 (36/36 컬럼). 다음 메뉴: 매출관리 (revenue) — shipment_log 기반.