> **정정 (2026-07-30)**: 이 문서는 잠시 `docs/archive/`로 옮겨졌다가 같은 날 다시 원래 위치로 > 복구되었다. `tools/validate_enterprise_crud_specification_v1.py:29`가 이 경로 > (`docs/ROADMAP_ENTERPRISE_TEMPLATES_WBS.md`)를 직접 참조하고, 이 검증은 > `.gitea/workflows/ci-frontend.yml`의 "Enterprise Contract Parity Test" 단계에서 실제로 > 실행된다 — 즉 이 파일을 옮기면 CI가 깨진다. 내용상 권위는 > [`../spec/60_oms_wms_erp_wbs.yaml`](../spec/60_oms_wms_erp_wbs.yaml) 또는 > [`OMS_WMS_ERP_PLAYBOOK.md`](OMS_WMS_ERP_PLAYBOOK.md)에 있을 수 있지만, 파일 자체는 > 검증기가 요구하는 이 경로에 계속 있어야 한다. # OMS·WMS·ERP 입력 컴포넌트 & 공통 CRUD 템플릿 & 상용화 제안 마스터 WBS (WBS-MASTER-2026) ## 0. 개요 및 3대 명세 통합 권위 본 문서는 아래 3대 핵심 상용화 명세를 완벽히 아우르는 마스터 작업분해구조(WBS)와 일정 스케줄, 성공판단 데이터를 정의한다. 1. **OMS·WMS·ERP CRUD 화면 및 입력 컴포넌트 상용화 제안** (22개 섹션 & 10대 계율) 2. **OMS·WMS·ERP 공통 CRUD 화면 템플릿 상세 명세** (11대 표준 템플릿 `TPL-LIST-01` ~ `TPL-HISTORY-01` & 25개 공통 규격) 3. **OMS·WMS·ERP 입력 컴포넌트 상세 명세** (Primitive → Typed Field → Domain Field → Business Composite 4계층 아키텍처 & 52개 세부 규격) ### 0.1 기본 하네스 4대 완수 조건 1. **YAML/MD 계약**: `docs/ENTERPRISE_CRUD_DESIGN_SPECIFICATION.md` & `docs/ROADMAP_ENTERPRISE_TEMPLATES_WBS.md` 2. **코드 구현**: `src/frontend/src/components/` (4계층 컴포넌트), `src/frontend/src/views/templates/` (11대 템플릿) & `src/frontend/src/types/enterpriseTemplateContracts.ts` 3. **데이터 실체**: `Temp/enterprise_crud_validation_report_v1.json`, `Temp/enterprise_crud_validation_report_v1.md` 4. **검증 증빙**: `python tools/validate_enterprise_crud_specification_v1.py` & `npx playwright test` --- ## 1. [트랙 A] 상용화 제안 10대 계율 & 헌법 WBS | WBS ID | 상용화 설계 원칙 | 주요 이행 사항 | 상태 | 성공판단 데이터 (Acceptance Criteria) | | :--- | :--- | :--- | :---: | :--- | | `WBS-GOV-01` | 업무 트랜잭션 정의 | 완료된 거래 물리 삭제/덮어쓰기 금지 | `완료` | `TPL-CANCEL-01` 역트랜잭션 생성 및 audit log 100% 보존 | | `WBS-GOV-02` | 5계층 아키텍처 | Primitive ~ Process 계층 분리 | `완료` | 4계층 컴포넌트 디렉터리 분리 및 SRP 단일책임 보장 | | `WBS-GOV-03` | 공통 FieldContract | `FieldStatus` 13가지 & `ValueSource` 8가지 | `완료` | `readonly` vs `disabled` vs `blocked` 3대 상태 명확 분리 | | `WBS-GOV-04` | 4계층 검증 경계 | UI(1차) → Schema(2차) → Server(3차) → DB(4차) | `완료` | 422 서버 검증 오류 수신 시 최초 필드 자동 이동 | | `WBS-GOV-05` | 정규화 / 역정규화 | 마스터 정규화 및 Read Model 역정규화 | `완료` | 시점 스냅샷(주문 당시 품목명, 단가, 세율) 보존 | | `WBS-GOV-06` | 현장 작업 (WMS) | 스캔, 100ms 단결, 오프라인 큐 | `구현완료` | BarcodeInput 연속 스캔 및 음향/진동 피드백 | | `WBS-GOV-07` | AX (AI Experience) | 초안/추천 국한 & R0~R4 위험 등급 | `구현완료` | AISuggestedField 추천근거 뷰어 및 결정론 수식 AI 위임 차단 | | `WBS-GOV-08` | 바이브코딩 통제 | 품질 게이트 & 자동 검증 하네스 | `완료` | `validate_enterprise_crud_specification_v1.py` 100% PASS | | `WBS-GOV-09` | 성능 목표 | 입력 < 100ms, 스캔 < 100ms, P95 < 2s | `완료` | 10,000건 Grid 가상화 sizeColumnsToFit 자동 폭 확장 | | `WBS-GOV-10` | 접근성 & 보안 | WCAG 2.2 AA / WAI-ARIA & RBAC/ABAC | `완료` | 키보드 전용 조작 및 스크린리더 `aria-describedby` 바인딩 | --- ## 2. [트랙 B] 11대 표준 업무 템플릿 WBS (25개 규격 기반) | WBS ID | 템플릿 ID | 화면 유형 | 대표 업무 | 구현 상태 | 성공판단 데이터 | | :--- | :--- | :--- | :--- | :---: | :--- | | `WBS-TPL-01` | `TPL-LIST-01` | 목록·검색 | OMS 주문목록, WMS 재고현황 | `구현완료` | Summary Strip, URL Query 동기화, `QuantDataGrid` | | `WBS-TPL-02` | `TPL-CREATE-01` | 단일 등록 | 마스터(거래처/품목) 등록 | `구현완료` | Idempotency Key 생성, 저장 후 계속 등록 모드 | | `WBS-TPL-03` | `TPL-CREATE-02` | 헤더·라인 등록 | OMS 주문, WMS 입고예정 | `Sprint 3` | 헤더 변경 시 라인 재계산 토스트 및 저장/확정 분리 | | `WBS-TPL-04` | `TPL-CREATE-03` | 단계형 등록 | 복합 주문, 반품, 계약 | `Sprint 3` | Step별 유효성 검증 및 임시저장 세션 복구 | | `WBS-TPL-05` | `TPL-DETAIL-01` | 상세 조회 | 주문 상세, 입고 상세 | `구현완료` | Status Timeline 뱃지 및 관련 문서 릴레이션 노드 표출 | | `WBS-TPL-06` | `TPL-EDIT-01` | 일반 수정 | 마스터 및 주문 수정 | `Sprint 3` | 409 Conflict 발생 시 서버 최신값 vs 내 변경값 3-Way Diff | | `WBS-TPL-07` | `TPL-BULK-01` | 일괄 수정 | 담당자/예정일 일괄 변경 | `Sprint 4` | 예상 영향건수 미리보기 및 100건 초과 시 비동기 Job ID | | `WBS-TPL-08` | `TPL-DELETE-01` | 삭제 | 미사용 마스터 삭제 | `Sprint 4` | 참조 데이터 존재 시 삭제 차단 및 확인 코드 재입력 Modal | | `WBS-TPL-09` | `TPL-CANCEL-01` | 취소·역처리 | 주문 취소, 전표 역분개 | `구현완료` | Cancellation Preview Token & 역트랜잭션 생성 (물리 삭제 0건) | | `WBS-TPL-10` | `TPL-APPROVAL-01`| 승인·반려 | 발주 승인, 전표 승인 | `Sprint 4` | 작성자-승인자 직무분리(SoD) 승인 버튼 차단 | | `WBS-TPL-11` | `TPL-HISTORY-01` | 변경 이력 | Audit Event, 이력 감사 | `Sprint 4` | AuditEvent 스키마 기반 필드 변경 차이(Diff) 뷰어 | --- ## 3. [트랙 C] 입력 컴포넌트 4계층 WBS (52개 섹션 기반) ### Phase 1: Primitive Layer (`components/primitives/`) - `WBS-COMP-1.1`: `TextInput.vue` (완료) - IME 조합유지, aria-invalid - `WBS-COMP-1.2`: `SelectInput.vue` (완료) - 방향키/Enter/Escape 제어 - `WBS-COMP-1.3`: `DialogModal.vue` (완료) - 포커스 트랩 및 ESC 닫기 ### Phase 2: Typed Field Layer (`components/fields/`) - `WBS-COMP-2.1`: `StringField.vue` (완료) - 공백 제거, 대문자 정규화 - `WBS-COMP-2.2`: `NumberField.vue` (구현완료) - Decimal 정밀도, 천단위 쉼표 - `WBS-COMP-2.3`: `DateField.vue` (구현완료) - ISO YYYY-MM-DD 날짜 및 '오늘' 버튼 - `WBS-COMP-2.4`: `CodeField.vue` (완료) - Debounce 300ms 중복 검사 ### Phase 3: Domain Field Layer (`components/domain-fields/`) - `WBS-COMP-3.1`: `QuantityField.vue` (완료) - 단위 환산 및 가용재고 표출 - `WBS-COMP-3.2`: `MoneyField.vue` (구현완료) - 부동소수점 금지 및 통화 선택 - `WBS-COMP-3.3`: `BarcodeInput.vue` (구현완료) - 100ms 연속 스캔 및 피드백 - `WBS-COMP-3.4`: `LotField.vue` (구현완료) - FEFO/FIFO 추천 및 로트 검증 ### Phase 4: Business Composite Layer (`components/business-composites/`) - `WBS-COMP-4.1`: `AddressEditor.vue` (완료) - 주소 및 우편번호 편집기 - `WBS-COMP-4.2`: `AISuggestedField.vue` (구현완료) - R0~R4 위험 등급 및 AI 추천 - `WBS-COMP-4.3`: `OrderLineEditor.vue` (진행중) - 주문 라인 가상화 편집기 --- ## 4. 종합 이행 스케줄 (Master Schedule) ```text [Sprint 1: 3대 규격 프레임워크 구축] ───▶ 52개 명세, 11대 템플릿, 하네스 CLI v3.0 구축 (완료) [Sprint 2: 1차 핵심 컴포넌트 & 템플릿] ──▶ Number, Date, Money, Barcode, AI, TPL-LIST-01 (완료) [Sprint 3: 2차 템플릿 & 컴포넌트 확충] ──▶ TPL-CREATE-01, TPL-DETAIL-01, TPL-CANCEL-01 (완료) [Sprint 4: 3차 역처리/안전성 템플릿] ──▶ TPL-EDIT-01, TPL-APPROVAL-01, TPL-BULK-01 (진행 중) ```