Files
wace_rps/docs/migration
hjjeong aacbb62ad8 자재관리 2메뉴 풀-CRUD + 액션 (자재리스트 + 불출의뢰서)
- 신규 테이블 5종 (운영 11133 → RPS 11134 DDL 1:1):
  inventory_mgmt / inventory_mgmt_in / inventory_mgmt_out /
  inventory_mgmt_out_master / inventory_mgmt_history
- 백엔드 /api/inventory-mng — 리스트·재고등록·자재이동·삭제·이력 +
  불출의뢰 생성·접수·자재불출(재고 차감)·삭제. 채번 Rfw-YYYY-seq.
- 프론트 /COMPANY_16/material/{list, issue-request} +
  StockRegister / MaterialMove / IssueRequestCreate /
  InventoryHistory / IssueDispatch 다이얼로그 5종.
- AdminPageRenderer 등록 + /material/ prefix.
2026-05-19 11:25:15 +09:00
..

vexplor_rps 이식 통합 진행 상태

작성: 2026-05-15 / 작성자: hjjeong 대상: vexplor_rps (RPS 전용 분기, COMPANY_16 단독) 원본: wace_plm (Java 7 / Spring 3.2.4 / JSP / MyBatis) — waceplm.esgrin.com 운영판이 1순위 진실

0. 전체 한눈에 보기

6개 도메인 / 27개 메뉴 진행 중. (영업 4 + 구매요청 2 + 프로젝트 2 + 개발 5 + 구매 9 + 생산 5).

상태 메뉴 수 의미
완료 19 wace 1:1 검증 PASS 또는 마이너 차이만 (기능/SQL 일치)
🟡 베이스 5 그리드/검색 완료, 액션 모달 또는 detail SQL 일부 미진
🟠 빈 그리드 3 화면은 있으나 데이터 SQL 미연결 (의존 테이블 DDL 추출 선행 필요)
🔴 미진 0

1. 27개 메뉴 매트릭스

# 도메인 메뉴명 RPS 위치 상태 핵심 미진
1 영업관리 견적관리 sales/estimate
2 영업관리 주문서관리 sales/order
3 영업관리 판매관리 sales/sale
4 영업관리 매출관리 sales/revenue
5 영업/구매요청 구매요청서관리 purchase-request/request
6 영업/구매요청 품의서관리(영업) purchase-request/proposal
7 프로젝트관리 진행관리 project/progress
8 프로젝트관리 제품구분_WBS관리 project/wbs-template
9 개발관리 PART 등록 development/part-regist
10 개발관리 PART 조회 development/part-search
11 개발관리 E-BOM 등록 development/ebom-regist
12 개발관리 E-BOM 조회 development/ebom-search
13 개발관리 설계변경 리스트 development/change-list
14 구매관리 구매리스트 purchase/list 🟡 detail SQL 보강
15 구매관리 품의서(구매) purchase/proposal 🟡 발주서 생성 액션
16 구매관리 프로젝트 현황 purchase/project-status 🟡
17 구매관리 견적요청 purchase/quote-request 🟠 sales_request_part DDL 추출 + detail SQL
18 구매관리 입고관리 purchase/inbound 🟠 inbound detail SQL
19 구매관리 입고관리-일자별 purchase/inbound-by-date 🟠 inbound detail SQL
20 구매관리 입고관리-품목별 purchase/inbound-by-item 🟠 inbound detail SQL
21 구매관리 발주관리 purchase/order
22 구매관리 M-BOM (중복) purchase/mbom production/mbom re-export
23 생산관리 M-BOM 관리 production/mbom PR-B5+ PR-B6 Excel / PR-B7 행이동 (후순위)
24 생산관리 생산계획&실적 production/plan-result 🟡 [생산계획 생성] · [생산실적 등록] 모달
25 생산관리 생산계획&실적(장비) production/plan-result-equip WBS할당 모달 의도적 보류
26 생산관리 반제품 소요량 production/semi-product-req 단위/소재/규격 3컬럼 UX 추가 (의도적)
27 생산관리 원자재 소요량 production/raw-material-req

2. 도메인별 진행 상태

도메인 메뉴 마감도 대표 커밋 상세 문서
영업관리 4 100% (G6 메일 발송까지) (다수) sales/README.md
구매요청 (영업↔구매 교차) 2 100% (작성·품의서생성·결재상신 SSO 완료) 7e7c6a0a + 본 작업 sales/09-purchase-request.md
프로젝트관리 2 100% a1ace226 / 332688a4 / 7c4817b0 / 50669a66 project/00-gap.md
개발관리 5 100% + Import + 도면 다중 업로드 (16 커밋) (PR-A/B/C 다수) development/00-gap.md
구매관리 9 1차 스캐폴드 (마스터 3 데이터 노출 / detail 4 빈 그리드 / 발주·M-BOM 완료) b38f5957 (메모리만)
생산관리 5 100% + PR-B5+ BOM 복사 다이얼로그 bd47ca80 / 63682587 production/README.md

부록 — 품질관리: chpark 가 베이스 4메뉴(incoming-request/incoming-mgmt/process-inspection/semi-product-inspection) + 고객CS/ECR 리팩토링 (d7c645d2). 후속 상세화 별 PR.

3. 공통 인프라 (도메인 가로지름)

3.1 공용 컴포넌트 (의무 사용)

  • PageHeader — 메뉴명 자동 매칭, 우측 액션 영역, 조회/초기화 표준 위치
  • CompactFilterBar + CompactFilterField + CompactDateRange — 컴팩트 검색 그리드
  • SmartSelect / CustomerSelect — native <select> 금지, 자동 완성/공통코드 바인딩
  • DataGrid (logicstudio 스타일 6종) — toolbar(⟳⬇⚙️📊) + footer 통계 + range 페이지네이션 + 차트 패널 (36c1f357)
  • AttachFileDropZone — attach_file_info 다중 파일 업로드, 도메인별 신규 드롭존 금지

3.2 데이터 마이그레이션 패턴

  • 운영 211.115.91.141:11133/waceplm (PG 16.8) → RPS :11134 DDL/data CSV staging
  • 도메인별 폴더 docs/migration/{sales,project,development,quality,production}/ + ddl-extracted/ + data-sync/
  • 누락 컬럼 발견 시: CSV export → TEMP staging → UPDATE FROM JOIN (is_last NULL 함정 동시 해결)

3.3 결재 시스템 (Amaranth 연동)

  • 영업관리 G7~G11 (견적 메일 + Amaranth 결재상신)
  • 영업/구매요청 품의서(target_type='PROPOSAL') — 결재완료 시 구매관리 발주풀로 자동 노출

3.4 채번/식별자 패턴

  • numeric/bigint objid: UUID v4 → Java String.hashCode → int32 String (createObjId 1:1 패턴)
  • varchar prefix: 영업관리 prefix-string 패턴 (예: R-YYYYMMDD-NNN)
  • DataGrid row.id ↔ 백엔드 objid useMemo 매핑 필수 (누락 시 체크박스 빈 상태)

4. 핵심 정책 (사용자 확정)

  1. vexplor 로코드툴 프레임워크 안 씀 — 모든 메뉴 wace 도메인으로 풀-커스텀 재개발
  2. wace_plm 이 항상 1순위 진실 — 이전 이식물(영업/개발 일부)은 검증 안 된 변형 가능
  3. JSP/매퍼 비활성 보존: /* */ · <!-- --> · // 블록 = 이식 대상 아님 (grep 카운트 함정 주의)
  4. company_code 멀티테넌시 불필요 — COMPANY_16 단독, 새 코드/SQL에 분기 만들지 말 것
  5. 숫자 포맷: 금액 1,234.00 / 수량 1,234 / 모든 숫자 right align
  6. 존댓말 사용 — 모든 한국어 응답 (2026-05-08 직접 지적)
  7. UI 문자열에 내부 참조 금지 — PageHeader description / toast 에 wace · 매퍼명 · 테이블명 · 개발자 메모 금지 (2026-05-15 직접 지적)
  8. 커밋 범위 엄격 — 내 세션 작업만, 사용자 병행 작업/untracked 절대 포함 금지 (2026-05-14 직접 지적)

5. 도메인 핵심 함정 (이식 시 참고)

함정 메모리
큰 파일(570MB SQL · 45KB+ JSP) 통째 Read 시 surrogate 에러 → grep + offset/limit feedback_large_file_handling
wace JSP 컬럼/검색폼 끝 주석 블록 (비활성 보존) feedback_wace_jsp_columns
wace "Excel" 명칭 메뉴가 실제는 CSV 운영 (fnc_setFileDropZone(...,"csv") 확인) feedback_wace_csv_vs_excel
wace partMng 폼 colgroup 5컬럼(12/12/25/12/*) + colspan=2 feedback_wace_colgroup_pattern
BOM_PART_QTY 트리 재귀 CTE: 자식.parent_objid = 부모.child_objid (objid 아님) feedback_bom_part_qty_tree_join
없는 테이블 → 운영 DDL 추출 (211.115.91.141:11133) feedback_missing_tables_workflow
wace 매퍼는 request 파라미터 암묵 수신 — Java paramMap 만 보고 옮기면 핵심 필터 누락 feedback_wace_mapper_implicit_params
numeric(15,4) 캐스팅: NULLIF::INTEGER 패턴 시 "invalid input syntax" → COALESCE(x,0)::INTEGER feedback_data_migration_sync

6. 다음 작업 우선순위 (제안)

  1. 구매요청 2메뉴 액션 완성 2026-05-15 완료 (sales/09-purchase-request.md §6)
  2. 구매관리 빈 그리드 4개 보강sales_request_part 추출 완료, quote-request / inbound 3종 detail SQL 연결만 남음
  3. plan-result 액션 모달prodPlanFormPopup.jsp / prodResultFormPopup.jsp 1:1
  4. 공통 PartSelect 컴포넌트 — wace Select2-part(AJAX 자동완성), 영업/생산/구매 다수 메뉴 공통
  5. 품질관리 후속 (chpark 베이스 4메뉴 상세화) / 자재관리 신규 도메인 진입
  6. M-BOM 후순위 — PR-B6 Excel / PR-B7 행이동

7. 인덱스

7.1 도메인별 README / Gap 문서

7.2 공통

7.3 외부 환경

  • 운영 DB: 211.115.91.141:11133/waceplm (PG 16.8) — DDL/data 추출 소스
  • RPS DB: 211.115.91.141:11134/vexplor_rps — 이식 대상
  • 운영 화면: waceplm.esgrin.com
  • wace_plm 소스: /Users/jhj/wace_plm (JSP + Controller + 매퍼 XML)