파일
wbx-spring/plans/wtmgr/00-overview.md
accura0117 9707a6eeb1 feat: FE 화면 구현 완료 + 샘플 데이터 + 결재라인 연동
- WBS/TEAL 화면 실제 구현 (TreeTable, FileUpload, 버전관리)
- 시수이력/결재이력 화면 구현 (DataTable, Filter, Timeline)
- 비밀번호변경 화면 추가
- 로그인 snake_case 응답 매핑 수정
- Vite 프록시 8081 포트 수정
- auth guard에서 fetchMe 자동 호출
- V108 샘플 데이터 (10명 사용자, 4주 시수 215건, 결재 9건)
- 배너 추가 (WBX Spring)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 22:17:32 +09:00

120 줄
4.6 KiB
Markdown

# 한화오션 EPU Work Time Manager (WTM)
## Spring Boot 3.5 기반 시수관리 시스템
> 원본: `d:\sc\wtmgr.pdf` + `d:\sc\requierment.xlsx`
> 작성일: 2026-03-24 / 수정일: 2026-03-25
---
## 전제조건
> **본 계획서는 `plans/wbx-spring/` 프레임워크가 구축되어 있음을 전제로 합니다.**
>
> wbx-spring이 제공하는 기능 (본 계획서에서 다루지 않음):
> - JWT 인증 / Azure Entra ID SSO / 비밀번호 정책
> - RBAC 권한 (역할-모듈-액션, dept_scope)
> - 통합 결재 엔진 (Handler Registry, Post-Action Event)
> - SSE 실시간 알림
> - WBX No-Code 플랫폼 연동 (API 응답 호환, 페이징 변환, 에러 포맷)
> - 파일 업로드 (Azure Blob)
> - Nginx URL 라우팅, Multi-DataSource
>
> 상세: `plans/wbx-spring/00-overview.md`
---
## 프로젝트 개요
| 항목 | 내용 |
|------|------|
| 프로젝트명 | WTM (Work Time Manager) |
| 고객 | 한화오션 EPU |
| 목적 | EPC 프로젝트 인력 시수 관리, WBS 연동, 결재, 리포트 |
| 기능요구사항 | 86개 (PH1 Y=62건 / PH1→PH2 이관=24건) |
| 비기능요구사항 | 17개 (NF.1~NF.17) |
| 총 화면 수 | 49개 (PH1-1차 26 / PH1-2차 11 / PH2 12) |
| API Prefix | `/api/wtm/` |
| Java 패키지 | `kr.co.accura.wtm` |
| Gradle artifact | `wtm-api` |
| DB | `wtm_db` (Azure SQL) |
---
## 단계별 추진 구조
### PH1-1차 (9주: 4/1 ~ 5/31, ~10.0 M/M)
- 핵심 시수 입력 3종 (Non-Project / Other Project / EPC)
- WBS · TEAL 업로드/관리 + P6 파싱
- 결재 핸들러 구현 (wbx-spring 결재 엔진 위에)
- 기본 리포트 2종
- HR 파일 업로드, 프로젝트/인력 관리
### PH1-2차 (4주: 6/1 ~ 6/30, ~5.0 M/M)
- WBS 버전 비교 UI, EPC Revision 관리
- 결재 초과 알림, SA 권한 고도화
- SAP BTP 배치 연동 (HR 자동 동기화)
- Phase · NP 비율 리포트
### PH2 (TBD)
- Cognite 연계 (NF.15), 외주 접속 포털, Discipline 생산성 분석
- Location/Role별 Unit Rate (No.65), 벤치마킹 (No.63)
### 확인필요사항 (7건)
| # | 항목 | 관련 요구사항 | 상태 |
|---|------|-------------|------|
| 1 | 외주 사용자 등록 방식 (파일 vs 개별) | No.4, 5, 6 | 미확정 |
| 2 | User 관리 정책 (권한별 홈 라우팅) | No.17, 18 | 확인중 |
| 3 | SA 전체 기능 컨트롤 범위 | No.19 | PH2 이관 |
| 4 | Resource Assignment 규칙 상세 | No.42, 46 | PH2 이관 |
| 5 | EPC L5 Revision 관리 방안 | No.64 | PH1-2차 |
| 6 | Approval 프로세스 상세 | No.70, 71 | 확인중 |
| 7 | Change Order MH 관리 방안 | No.67 | 확인중 |
---
## WTM이 구현하는 것 (비즈니스 로직)
| 모듈 | 역할 | wbx-spring 활용 |
|------|------|----------------|
| **Timesheet** | 시수 입력 3종, 규칙 엔진 | - |
| **WBS/TEAL** | P6 파싱, Canonical WBS, 버전 관리 | - |
| **Approval Handler** | `TimesheetApprovalHandler` 구현 | `ApprovalHandler` interface 구현 |
| **Report** | 프로젝트별/WBS별 시수 분석 | - |
| **HR 연동** | SAP BTP, Excel 업로드 | `ExcelParserBase` 활용 |
| **프로젝트** | 프로젝트 CRUD, 인력 배정 | - |
| **사용자** | HR 필드 확장, 역할 부여 | `PermissionEvaluator` 활용 |
| **알림** | 미완료 Timesheet 리마인더 | `SseNotificationService` 활용 |
## WTM이 구현하지 않는 것 (wbx-spring 제공)
| 기능 | 제공처 |
|------|--------|
| JWT 발급/검증, SSO | wbx-spring-core `auth/` |
| 통합 결재 API (`/approvals/unified/action/...`) | wbx-spring-core `approval/` |
| SSE 실시간 알림 인프라 | wbx-spring-core `notification/` |
| RBAC dept_scope 권한 체크 | wbx-spring-core `rbac/` |
| API 응답 호환 (detail, items) | wbx-spring-core `compat/` |
| skip/limit → Pageable 변환 | wbx-spring-core `compat/` |
| 파일 업로드 (Azure Blob) | wbx-spring-core `file/` |
---
## 문서 구성
| 문서 | 내용 |
|------|------|
| `00-overview.md` | 프로젝트 개요 (본 문서) |
| `01-architecture.md` | WTM 모듈 구조 (wbx-spring 위에 구축) |
| `02-database-schema.md` | wtm_db 스키마 (비즈니스 테이블만) |
| `03-timesheet-module.md` | 시수 입력 3종 + 규칙 엔진 |
| `04-wbs-teal-module.md` | WBS · TEAL · P6 파싱 |
| `05-approval-handlers.md` | 결재 핸들러 구현 (wbx-spring 엔진 위에) |
| `06-reporting-module.md` | 리포트 모듈 |
| `07-api-spec.md` | WTM REST API 스펙 (/api/wtm/) |
| `08-sap-btp-integration.md` | SAP SuccessFactors BTP 연동 |
| `09-security-infra.md` | 한화오션 표준 보안 SW, Azure 인프라 |
| `10-schedule-milestones.md` | 일정 · 마일스톤 |
| `11-requirements-traceability.md` | 요구사항 추적표 (86+17+7건) |