- 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>
120 줄
4.6 KiB
Markdown
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건) |
|