[CLAUDE] Docs: S44 monthly drift audit + AI_INFRA bundle 06-01 adopt
Cadence audit (2026-06-01), docs-only -> CI-skip. investigator-codebase drift scan (ground-truth from disk) -> em main patch. No code touched, 154 test unchanged. Drift fixes (42 count corrections): 40->42 mig, 84/59/55/47->91 tables, 130/111->154 test, 52/49->56 gotcha across CLAUDE.md, docs/CLAUDE.md, ef-core-migration + dependency-audit skills, schema-diagram, database-guide. schema-diagram migration table extended Mig 17-42; ef-core history Mig 27-42; detailed-section gap (Mig 27-42 modules) flagged explicit (deferred, not silent). AI_INFRA bundle 06-01 (federated, full scope): - A: RAG T1/T2 auto-ack - C: hygiene 7/7 agent-mem L1 <=16KB; "25KB"->"~30KB tiered" wording x7 - D: #4 self-sustaining adoption-report step -> /session-end Phase 6.3 - E/F: report + ledger -> docs/governance/ Carry-over .mcp.json + BROADCAST-05-29 left untouched (concurrency rule). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
# Schema Diagram — Luồng DB SOLUTION_ERP
|
||||
|
||||
> ERD đầy đủ + mối quan hệ **36 table** sau Migration 11 (Tier 3 + 4-bảng overhaul + 4 master catalogs + Role/User VN). Mermaid render ở VS Code / GitHub / Gitea.
|
||||
> ERD core mermaid dưới = **36 table** (Migration 11 — Tier 3 + 4-bảng overhaul + 4 master catalogs + Role/User VN). Module mở rộng Mig 12-42 → migration table §7 + section §11-15. **Tổng schema hiện tại: 91 table (Mig 42, 2026-05-30).** Mermaid render ở VS Code / GitHub / Gitea.
|
||||
|
||||
## 1. Full ERD
|
||||
|
||||
@ -485,8 +485,36 @@ COMMIT;
|
||||
| **14** | **`AddBudgets`** | **4 bảng module Ngân sách: Budgets + BudgetDetails + BudgetApprovals + BudgetChangelogs. + nullable FK index Contract.BudgetId & PurchaseEvaluation.BudgetId** |
|
||||
| **15** | **`AddPurchaseEvaluationDepartmentOpinions`** | **1 bảng `PurchaseEvaluationDepartmentOpinions` (UNIQUE PEId+Kind, max 1 row mỗi loại phòng ban per phiếu — UPDATE in-place, audit qua Changelog)** |
|
||||
| **16** | **`AddTwoStageDeptApprovalAndSmartReject`** | **3 bảng `Contract/PurchaseEvaluation/Budget DepartmentApprovals` (UNIQUE TargetId+Phase+Dept+Stage cho 2-stage NV/TPB approval per phòng × phase) + 4 ALTER (`Users.CanBypassReview` bit + 3 `RejectedFromPhase` int cho smart reject quay về Drafter + jump-back phase đã reject)** |
|
||||
| **17** | **`AddManualBudgetFieldsToPeAndContract`** | **4 ALTER (PE + HĐ × `BudgetManualName` + `BudgetManualAmount`) — manual budget fallback. Không bảng mới.** |
|
||||
| **18** | **`AddPeWorkflowInnerStepsAndPositionLevel`** | **N-stage PE — 1 bảng `PurchaseEvaluationWorkflowStepInnerSteps` + 2 ALTER (`Users.PositionLevel` + `PEDeptApproval.InnerStepId`). (Mig 21 drop sau.)** |
|
||||
| **19** | **`AlterPeDeptApprovalsUniqueFilteredForInnerSteps`** | **Filtered unique split legacy/N-stage. Không bảng mới.** |
|
||||
| **20** | **`AddContractWorkflowInnerStepsAndAlterDeptApprovalUnique`** | **N-stage Contract mirror — 1 bảng `WorkflowStepInnerSteps` + ALTER. (Mig 21 drop sau.)** |
|
||||
| **21** | **`RefactorWorkflowToFlatModel`** | **🎯 DRASTIC: bỏ phase enum legacy → ChoDuyet=10 flat. DROP TABLE × 2 (InnerSteps PE+Contract) + ALTER tracking.** |
|
||||
| **22** | **`AddApprovalWorkflowsV2`** | **🎯 V2 schema — 3 bảng `ApprovalWorkflows` + `ApprovalWorkflowSteps` + `ApprovalWorkflowLevels` + enum ApplicableType. Quy trình > Bước (Phòng) > Cấp (NV).** |
|
||||
| **23** | **`AddApprovalWorkflowIdToPurchaseEvaluation`** | **Pin V2 vào PE — `PE.ApprovalWorkflowId`. Không bảng mới.** |
|
||||
| **24** | **`AddCurrentApprovalLevelOrderToPe`** | **Service V2 wire — `PE.CurrentApprovalLevelOrder`. Không bảng mới.** |
|
||||
| **25** | **`AddIsUserSelectableToApprovalWorkflows`** | **ALTER `ApprovalWorkflows` +`IsUserSelectable bit`. Không bảng mới.** |
|
||||
| **26** | **`AddPeLevelOpinionsForV2`** | **1 bảng `PurchaseEvaluationLevelOpinions` (UNIQUE PEId+LevelId, FK Cascade Pe + Restrict Level). Section 5 V2 dynamic.** |
|
||||
| **27** | **`AddVisibilityAndDisplayLabelToMenuItems`** | **2 ALTER `MenuItems` (+IsVisible +DisplayLabel) — admin ẩn/hiện + đổi tên menu eOffice. Không bảng mới.** |
|
||||
| **28** | **`AddAdvancedOptionsToApprovalWorkflows`** | **ALTER `ApprovalWorkflows` advanced options. Không bảng mới.** |
|
||||
| **29** | **`RefactorAdvancedOptionsToPerLevelAndDrafterUser`** | **Refactor advanced options → per-Level + DrafterUser. Không bảng mới.** |
|
||||
| **30** | **`AddAllowApproverEditBudgetToLevels`** | **ALTER `ApprovalWorkflowLevels` +`AllowApproverEditBudget`. Không bảng mới.** |
|
||||
| **31** | **`RefactorSkipToFinalToApproverLevel`** | **Per-Approver-slot skip-to-final. Không bảng mới.** |
|
||||
| **32** | **`AddApprovalWorkflowToContract`** | **🎯 Contract V2 wire (Plan B) — 2 ALTER `Contracts` (+ApprovalWorkflowId +CurrentApprovalLevelOrder) mirror PE Mig 23-24. Không bảng mới.** |
|
||||
| **33** | **`AddContractLevelOpinions`** | **1 bảng `ContractLevelOpinions` (UNIQUE ContractId+LevelId, mirror PE Mig 26). Section "Ý kiến cấp duyệt" V2.** |
|
||||
| **34** | **`AddEmployeeProfiles`** | **HRM core — `EmployeeProfiles` + satellite tables (N-satellite per parent).** |
|
||||
| **35** | **`AddHrmConfigs`** | **HRM config catalogs (LeaveTypes / Holidays UNIQUE composite / ...).** |
|
||||
| **36** | **`AddMeetingRooms`** | **Office — `MeetingRooms` + booking.** |
|
||||
| **37** | **`ExtendApplicableTypeForWorkflowApps`** | **Enum extend `ApplicableType` (+Proposal +WorkflowApps). Không bảng mới.** |
|
||||
| **38** | **`AddProposals`** | **Module Đề xuất (Proposal) — tables + workflow V2 mirror PE/Contract.** |
|
||||
| **39** | **`AddWorkflowApps`** | **Workflow Apps skeleton — Leave/OT/Travel/Vehicle/Ticket request tables.** |
|
||||
| **40** | **`AddAttendances`** | **Chấm công (Attendance) tables + Dashboard NS skeleton.** |
|
||||
| **41** | **`WireWorkflowAppsApprovalV2`** | **🎯 P11-A — 4 `{Leave,Ot,Travel,Vehicle}LevelOpinions` + `WorkflowAppCodeSequences` + 4 ALTER RejectedFromStatus + enum TravelRequest=9.** |
|
||||
| **42** | **`AddLeaveBalances`** | **🎯 P11-B — 1 bảng `LeaveBalances` (User×LeaveType×Year, UNIQUE composite + FK LeaveTypes Restrict). Trừ phép tự động khi đơn nghỉ duyệt cuối.** |
|
||||
|
||||
Tổng: **55 bảng** (+ `__EFMigrationsHistory` hệ thống).
|
||||
Tổng: **91 bảng** (Mig 42, + `__EFMigrationsHistory` hệ thống).
|
||||
|
||||
> ⚠️ **ERD chi tiết §11-15 cover Mig 12-26.** Mig 16-21 + 27-42 (DepartmentApprovals, flat-refactor, Contract V2, HRM/Office/Proposal/WorkflowApps/Attendance/LeaveBalance) — migration index ở bảng trên + skill `ef-core-migration`; schema field chi tiết xem entity `Configurations/` + session logs. Full per-table ERD sections cho module mới = **deferred backlog** (không silent — xem STATUS Maintenance backlog).
|
||||
|
||||
## 8bis. Bảng mới sau Migration 9-11
|
||||
|
||||
|
||||
Reference in New Issue
Block a user