d286952392
Validators (Pushes and Pull Requests) / UI & Storage Validation (push) Failing after 12s
Validators (Pushes and Pull Requests) / Database & Schema Validation (push) Successful in 11s
Validators (Pushes and Pull Requests) / Core Validators & Database Setup (push) Failing after 19s
Validators (Pushes and Pull Requests) / WBS & Audit Validations (push) Has been skipped
Validators (Pushes and Pull Requests) / .NET Contracts (push) Has been skipped
Validators (Pushes and Pull Requests) / Calibration & Performance (push) Has been skipped
Validators (Pushes and Pull Requests) / Operational Report & Decision Packet (push) Has been skipped
Validators (Pushes and Pull Requests) / Security & Secrets (push) Successful in 9s
Validators (Pushes and Pull Requests) / CI Workflow Lint (push) Failing after 9s
Validators (Pushes and Pull Requests) / Notify PR Results (push) Has been skipped
6.7 KiB
6.7 KiB
OMS·WMS·ERP 입력 컴포넌트 & 공통 CRUD 템플릿 통합 WBS 로드맵 (WBS-ENTERPRISE-2026)
0. 개요 및 하네스 준수 원칙
본 문서는 docs/ENTERPRISE_CRUD_DESIGN_SPECIFICATION.md 명세서의 52개 입력 컴포넌트 상세 규격 및 11대 표준 업무 템플릿 상세 규격에 대한 전체 작업분해구조(WBS)와 일정 스케줄, 성공판단 데이터를 정의한다.
0.1 기본 하네스 4대 완수 조건
- YAML/MD 계약:
docs/ENTERPRISE_CRUD_DESIGN_SPECIFICATION.md및docs/ROADMAP_ENTERPRISE_TEMPLATES_WBS.md - 코드 구현:
src/frontend/src/components/(4계층 컴포넌트 및 11대 템플릿) &src/frontend/src/types/enterpriseTemplateContracts.ts - 데이터 실체:
Temp/enterprise_crud_validation_report_v1.json,Temp/enterprise_crud_validation_report_v1.md - 검증 증빙:
python tools/validate_enterprise_crud_specification_v1.py&npx playwright test
1. 입력 컴포넌트 4계층 WBS 인벤토리 (52개 섹션 기반)
Phase 1: Primitive UI Components (components/primitives/)
| WBS ID | 대상 컴포넌트 | 담당 역할 | 상태 | 성공판단 데이터 (Acceptance Criteria) |
|---|---|---|---|---|
WBS-COMP-1.1 |
TextInput.vue |
시각/키보드 텍스트 입력 | COMPLETED |
IME 조합 처리 유지, ARIA aria-invalid 바인딩 |
WBS-COMP-1.2 |
SelectInput.vue |
단순 옵션 드롭다운 | PLANNED |
방향키/Enter/Escape 단축키 제어, 20개 이하 옵션 |
WBS-COMP-1.3 |
DialogModal.vue |
접근성 포커스 트랩 모달 | PLANNED |
ESC 키 닫기 및 열기 전 버튼으로 포커스 복귀 |
WBS-COMP-1.4 |
ActionButton.vue |
Primary/Secondary/Danger | PLANNED |
Disabled 및 Blocked 사유 툴팁 노출 |
Phase 2: Typed Fields (components/fields/)
| WBS ID | 대상 컴포넌트 | 담당 역할 | 상태 | 성공판단 데이터 (Acceptance Criteria) |
|---|---|---|---|---|
WBS-COMP-2.1 |
StringField.vue |
문자열 정규화 필드 | COMPLETED |
앞뒤 공백 제거, 대문자 정규화 직전 포커스 유지 |
WBS-COMP-2.2 |
NumberField.vue |
정수/소수 Decimal 입력 | IN_PROGRESS |
불완전 입력 중 0 치환 방지, 천 단위 쉼표 표출 |
WBS-COMP-2.3 |
DateField.vue |
YYYY-MM-DD ISO 날짜 |
IN_PROGRESS |
ISO 날짜 파싱, 과거/미래 제한 및 마감일 검증 |
WBS-COMP-2.4 |
CodeField.vue |
품목/거래처 코드 입력 | PLANNED |
Debounce 300ms 비동기 중복 검사 및 이전 요청 취소 |
Phase 3: Domain Fields (components/domain-fields/)
| WBS ID | 대상 컴포넌트 | 담당 역할 | 상태 | 성공판단 데이터 (Acceptance Criteria) |
|---|---|---|---|---|
WBS-COMP-3.1 |
QuantityField.vue |
수량/단위/가용재고 | COMPLETED |
단위 변경 시 물량 유지 환산, 가용재고 초과 경고 |
WBS-COMP-3.2 |
MoneyField.vue |
통화/금액/세금 입력 | IN_PROGRESS |
부동소수점 금지, KRW 0자리/외화 자릿수 준수 |
WBS-COMP-3.3 |
BarcodeInput.vue |
스캐너/카메라 연속 스캔 | IN_PROGRESS |
100ms 이내 판정, 중복 스캔 시간창 및 음향/진동 |
WBS-COMP-3.4 |
LotField.vue |
로트번호/유효기간 관리 | IN_PROGRESS |
FEFO/FIFO 추천 로트 표시 및 격리 로트 차단 |
WBS-COMP-3.5 |
SerialNumberInput.vue |
시리얼 대량 붙여넣기 | PLANNED |
대량 붙여넣기 미리보기 및 실패 행만 재입력 |
WBS-COMP-3.6 |
LocationLookup.vue |
창고/존/로케이션 | PLANNED |
혼적/용량/온도대 검증 및 추천 로케이션 표출 |
Phase 4: Business Composites (components/business-composites/)
| WBS ID | 대상 컴포넌트 | 담당 역할 | 상태 | 성공판단 데이터 (Acceptance Criteria) |
|---|---|---|---|---|
WBS-COMP-4.1 |
AddressEditor.vue |
주소/우편번호 편집기 | COMPLETED |
표준 주소 정제 비교 및 도서산간 배송비 검증 |
WBS-COMP-4.2 |
AISuggestedField.vue |
AI 추천/초안 바인더 | IN_PROGRESS |
R0~R4 위험 등급 정책 적용 및 근거 Viewer 표출 |
WBS-COMP-4.3 |
OrderLineEditor.vue |
주문 라인 아이템 편집 | PLANNED |
라인 100개 가상화 및 합계/세액 즉시 반영 |
2. 11대 표준 업무 템플릿 WBS 인벤토리 (25개 섹션 기반)
| WBS ID | 템플릿 ID | 화면 유형 | 구현 상태 | 성공판단 데이터 |
|---|---|---|---|---|
WBS-TPL-01 |
TPL-LIST-01 |
목록·검색 템플릿 | IN_PROGRESS |
URL Query 동기화, sizeColumnsToFit 폭 맞춤, 엑셀 다운로드 |
WBS-TPL-02 |
TPL-CREATE-01 |
단일 등록 템플릿 | PLANNED |
Idempotency Key 생성, 저장 후 계속 등록 모드 |
WBS-TPL-03 |
TPL-CREATE-02 |
헤더·라인 등록 템플릿 | PLANNED |
헤더 변경 시 라인 재계산 토스트 및 저장/확정 분리 |
WBS-TPL-04 |
TPL-CREATE-03 |
단계형 등록 템플릿 | PLANNED |
Step별 유효성 검증 및 임시저장 세션 복구 |
WBS-TPL-05 |
TPL-DETAIL-01 |
상세 조회 템플릿 | PLANNED |
Status Timeline 뱃지 및 관련 문서 릴레이션 노드 표출 |
WBS-TPL-06 |
TPL-EDIT-01 |
일반 수정 템플릿 | PLANNED |
409 Conflict 발생 시 서버 최신값 vs 내 변경값 3-Way 비교 |
WBS-TPL-07 |
TPL-BULK-01 |
일괄 수정 템플릿 | PLANNED |
예상 영향건수 미리보기 및 100건 초과 시 비동기 Job ID 변환 |
WBS-TPL-08 |
TPL-DELETE-01 |
삭제 템플릿 | PLANNED |
참조 데이터 존재 시 삭제 차단 및 확인 코드 재입력 Modal |
WBS-TPL-09 |
TPL-CANCEL-01 |
취소·역처리 템플릿 | PLANNED |
Cancellation Preview Token & 역트랜잭션 생성 (물리 삭제 0건) |
WBS-TPL-10 |
TPL-APPROVAL-01 |
승인·반려 템플릿 | PLANNED |
작성자-승인자 직무분리(SoD) 승인 버튼 차단 |
WBS-TPL-11 |
TPL-HISTORY-01 |
변경 이력 템플릿 | PLANNED |
AuditEvent 스키마 기반 필드 변경 차이(Diff) 뷰어 |
3. 실행 이행 스케줄 (Implementation Schedule)
[Sprint 1] 1차 기반 Typed & Domain Fields (NumberField, DateField, MoneyField, BarcodeInput, LotField) ──▶ 완료
[Sprint 2] 1차 AX & 템플릿 (AISuggestedField, TPL-LIST-01 목록·검색 뷰) ─────────────────────────────────▶ 진행 중
[Sprint 3] 2차 핵심 등록/상세 템플릿 (TPL-CREATE-02, TPL-DETAIL-01, TPL-EDIT-01) ───────────────────────▶ 예정
[Sprint 4] 3차 안전성 템플릿 (TPL-CANCEL-01, TPL-APPROVAL-01, TPL-BULK-01) ──────────────────────────────▶ 예정