diff --git a/plans/sam-stat-database-design-plan.md b/plans/sam-stat-database-design-plan.md index 3d12e19..a1196a4 100644 --- a/plans/sam-stat-database-design-plan.md +++ b/plans/sam-stat-database-design-plan.md @@ -11,9 +11,9 @@ | 항목 | 내용 | |------|------| -| **마지막 완료 작업** | Phase 2: P0 도메인 구축 완료 (매출/재무/생산 일간+월간 집계, 스케줄러 등록) | -| **다음 작업** | Phase 3: P1 도메인 확장 (차원테이블, 재고, 견적, 인사, KPI) | -| **진행률** | 2/6 Phase (33%) | +| **마지막 완료 작업** | Phase 3: P1 도메인 확장 완료 (차원테이블, 재고, 견적, 인사, KPI/알림) | +| **다음 작업** | Phase 4: P2 도메인 + API + 대시보드 전환 | +| **진행률** | 3/6 Phase (50%) | | **마지막 업데이트** | 2026-01-29 | --- @@ -1094,11 +1094,11 @@ docker compose exec mysql mysql -u root -proot sam_stat \ ### Phase 3: P1 도메인 확장 | # | 작업 항목 | 상태 | 구체적 작업 내용 | |---|----------|:----:|-----------------| -| 3.1 | 차원 테이블 | ⏳ | `dim_client`, `dim_product` 마이그레이션 + SCD Type 2 동기화 서비스 | -| 3.2 | 재고 통계 | ⏳ | `stat_inventory_daily` 마이그레이션 + `InventoryStatService.php` - 원본: `stocks`, `stock_transactions`, `material_receipts`, `shipments`, `inspections` | -| 3.3 | 견적/영업 통계 | ⏳ | `stat_quote_pipeline_daily` 마이그레이션 + `QuoteStatService.php` - 원본: `quotes`, `quote_items`, `sales_prospects`, `biddings` | -| 3.4 | 인사/근태 통계 | ⏳ | `stat_hr_attendance_daily` 마이그레이션 + `HrStatService.php` - 원본: `attendances`, `leaves`, `payrolls`, `salaries` | -| 3.5 | KPI/알림 | ⏳ | `stat_kpi_targets`, `stat_alerts` 마이그레이션 + `KpiAlertService.php` + 스케줄러 09:00 | +| 3.1 | 차원 테이블 | ✅ | `dim_client`, `dim_product` 마이그레이션 + 모델 + `DimensionSyncService` (SCD Type 2). 원본: `clients`→`dim_client`, `items`→`dim_product` (products 테이블 없어 items 사용) | +| 3.2 | 재고 통계 | ✅ | `stat_inventory_daily` 마이그레이션 + 모델 + `InventoryStatService` - 원본: `stocks`, `stock_transactions`, `inspections` | +| 3.3 | 견적/영업 통계 | ✅ | `stat_quote_pipeline_daily` 마이그레이션 + 모델 + `QuoteStatService` - 원본: `quotes`, `sales_prospects`, `biddings`, `sales_prospect_consultations` | +| 3.4 | 인사/근태 통계 | ✅ | `stat_hr_attendance_daily` 마이그레이션 + 모델 + `HrStatService` - 원본: `attendances`, `leaves`, `user_tenants` | +| 3.5 | KPI/알림 | ✅ | `stat_kpi_targets`, `stat_alerts` 마이그레이션 + 모델 + `KpiAlertService` + `StatCheckKpiAlertsCommand` + 스케줄러 09:00 | ### Phase 4: P2 도메인 + API + 대시보드 전환 | # | 작업 항목 | 상태 | 구체적 작업 내용 | @@ -1277,6 +1277,7 @@ StatSalesDaily::updateOrCreate( | 2026-01-29 | 환경별 배포 구분 | 섹션 0.7 확장: 로컬(Docker) vs 개발서버(non-Docker) 구분, 배포 워크플로우 추가 | | 2026-01-29 | Phase 1 완료 | 인프라 구축: sam_stat DB 생성, 메타/dim_date 마이그레이션, 기반 모델 4개, 커맨드 2개, AggregatorService + Interface | | 2026-01-29 | Phase 2 완료 | P0 도메인: 매출/재무/생산 일간+월간 테이블 6개, 모델 6개, 서비스 3개, 스케줄러 2개 등록. 실데이터 집계 검증 완료 | +| 2026-01-29 | Phase 3 완료 | P1 도메인: dim_client/dim_product 차원 + 재고/견적/인사 일간 3개 + KPI/알림 2개 = 테이블 7개, 모델 7개, 서비스 4개(Dimension/Inventory/Quote/Hr/KpiAlert), 커맨드 1개, 스케줄러 1개. 실데이터 검증 완료. products→items, client_groups.name→group_name 수정 | ---