d23b305990
- getRevenueList SQL: contract_item / user_info / comm_code(CC_RES) / attach_file_info LATERAL 4개 JOIN 추가. receipt_date / payment_type / request_date / customer_request / order_status_name / manager_name / incoterms / cu01_cnt SELECT 보강 - RevenueListRow 타입: 9개 신규 필드 보강 - GRID_COLUMNS 9개 추가: 접수일/유무상/요청납기/고객사요청사항/수주상태/주문서첨부/출하방법/담당자/인도조건 (wace 35/35 일치) - docs/migration/sales/04-revenue-verify.md, scripts/verify-revenue.sql 영업 4개 메뉴 (견적·주문·판매·매출) 모두 구조적 검증 1차 종결. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.8 KiB
3.8 KiB
04. 매출관리 wace 1:1 검증
작성: 2026-05-11 / 사이클: 구조적 검증 4차 (매출관리 메뉴) 원본:
wace_plm/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp대상:app/(main)/COMPANY_16/sales/revenue/page.tsx핵심 필터:EXISTS (sales_registration WHERE shipping_date IS NOT NULL)— 출하등록된 프로젝트만
1. 그리드 컬럼 — wace 활성 35개 vs RPS 35개 (보강 후 일치)
| # | wace title | RPS GRID_COLUMNS | 상태 |
|---|---|---|---|
| 1 | 프로젝트번호 (frozen) | project_no |
✅ |
| 2 | 주문유형 | order_type_name |
✅ |
| 3 | 매출마감 | sales_deadline_date |
✅ |
| 4 | 발주일 | order_date |
✅ |
| 5 | 발주번호 | po_no |
✅ |
| 6 | 고객사 | customer |
✅ |
| 7 | 제품구분 | product_type_name |
✅ |
| 8 | 품명 | product_name |
✅ |
| 9 | 수량 | sales_quantity |
✅ |
| 10 | 단가 | sales_unit_price |
✅ |
| 11 | 공급가액 | sales_supply_price |
✅ |
| 12 | 부가세 | sales_vat |
✅ |
| 13 | 총액 | sales_total_amount |
✅ |
| 14 | 원화총액 | sales_total_amount_krw |
✅ |
| 15 | 출하일 | shipping_date |
✅ |
| 16 | 국내/해외 | nation_name |
✅ |
| 17 | 환종 | sales_currency_name |
✅ |
| 18 | 환율 | sales_exchange_rate |
✅ |
| 19 | S/N | serial_no |
✅ |
| 20 | 분할S/N | split_serial_no |
✅ (placeholder) |
| 21 | 품번 | product_no |
✅ |
| 22 | 과세구분 | tax_type |
✅ |
| 23 | 세금계산서발행일 | tax_invoice_date |
✅ |
| 24 | 수출신고필증신고번호 | export_decl_no |
✅ |
| 25 | 선적일자 | loading_date |
✅ |
| 26 | 거래명세서 | has_transaction_statement |
✅ (placeholder) |
| 27 | 접수일 | receipt_date |
✅ (신규) |
| 28 | 유/무상 | payment_type_name |
✅ (신규) |
| 29 | 요청납기 | request_date |
✅ (신규) |
| 30 | 고객사요청사항 | customer_request |
✅ (신규) |
| 31 | 수주상태 | order_status_name |
✅ (신규) |
| 32 | 주문서첨부 | cu01_cnt (clip) |
✅ (신규, attach_file_info LATERAL JOIN) |
| 33 | 출하방법 | shipping_method |
✅ (신규) |
| 34 | 담당자 | manager_name |
✅ (신규) |
| 35 | 인도조건 | incoterms |
✅ (신규) |
2. SQL 보강
-- 추가된 JOIN
LEFT JOIN contract_item CI ON CI.objid = T.contract_item_objid AND CI.status='ACTIVE' -- request_date COALESCE 위해
LEFT JOIN user_info U_MGR ON U_MGR.user_id = SR.manager_user_id -- manager_name
LEFT JOIN comm_code CC_RES ON CC_RES.code_id = T.contract_result AND CC_RES.status='active' -- order_status_name
LEFT JOIN (
SELECT target_objid, COUNT(*) FILTER (WHERE doc_type IN ('FTC_ORDER','ORDER')) AS cu01_cnt
FROM attach_file_info WHERE UPPER(status)='ACTIVE' GROUP BY target_objid
) AF ON AF.target_objid = T.contract_objid -- cu01_cnt
3. 갭 처리
| # | 갭 | 처리 |
|---|---|---|
| R1 | 그리드 9개 누락 | ✅ 본 커밋에서 추가 |
| R2 | request_date / order_status_name / manager_name / cu01_cnt SELECT 누락 | ✅ JOIN 추가 |
| R3 | 분할S/N / 거래명세서 실데이터 | 🟡 백로그 |
| R4 | 매출관리 그리드 운영 0건 (sales_registration.shipping_date IS NOT NULL 0건) | 🟢 데이터 이슈 — 출하등록 흐름 신설 시 자연 해소 |
4. 자동 검증 결과 (scripts/verify-revenue.sql)
운영 sales_registration.shipping_date 0건이라 매출관리 본 필터로는 0 rows. SQL 컬럼 정합성은 필터 해제 샘플로 검증 — 9개 신규 컬럼 모두 정상 반환.
5. 결론
매출관리 메뉴 wace 운영 화면과 1:1 정합 (35/35 컬럼). 영업 4개 메뉴 (견적·주문·판매·매출) 모두 구조적 검증 1차 종결.