- 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>
4.6 KiB
4.6 KiB
한화오션 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건) |