[CLAUDE] Docs: chốt session 4 — Budget BE module + 14 Solutions users
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 2m53s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 2m53s
- STATUS.md: header Phase 7 + 3 row Recently Done (Budget BE / 14 users / Docs cleanup) + cumulative cột mới (51 tables / 14 mig / ~124 endpoints) - HANDOFF.md: TL;DR session 4 (2 milestone Budget BE + 14 users) + Cảnh báo session 5 + Priority 0 (FE Budget + PE/HD integration + PE feature gap) + Credentials 30 user - migration-todos.md: Phase 7 thêm section D Budget done + Phase 8 mới (FE Budget pages + integration) + pending migrations Budget - architecture.md: §10 Budget module mới (ERD + state machine + auto-recompute + integration roadmap) - database/schema-diagram.md: migration history rows 13+14 + §12 Budget ERD chi tiết - ef-core-migration SKILL: migration 14 entry + Phase 8 pending Budget refinement - CLAUDE.md root + docs: modules table thêm Budget row + scope Budget + count 51 bảng / 14 mig - Session log 2026-04-28-chot-session-4-budget.md (10+ section detailed) Stats: 51 tables (+4 Budget), 14 migrations (+AddBudgets), ~124 endpoints (+11 Budget), 30 demo user (16 sample + 14 Solutions thật), 38 gotchas, ~340 LOC Budget CQRS. FE Budget pages chưa làm — Priority 0 session 5. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
# Migration To-dos — Atomic Roadmap
|
||||
|
||||
> Tick `[x]` khi xong. Phase 0-5 + Tier 3 đã DONE — collapsed. Detail xem session
|
||||
> logs trong `docs/changelog/sessions/`. Active work: Phase 6 (đã ✅) + Phase 7 (WIP).
|
||||
> Tick `[x]` khi xong. Phase 0-5 + Tier 3 + Phase 6 đã DONE — collapsed. Detail xem session
|
||||
> logs trong `docs/changelog/sessions/`. Active work: Phase 7 partial (Budget BE done, FE WIP) + Phase 8 (Budget refinement).
|
||||
|
||||
## ✅ Phase 0-5 + Tier 3 — Done (2026-04-21..22)
|
||||
|
||||
@ -57,9 +57,9 @@ Session log: `2026-04-24-chot-session-3-pe-polish.md`.
|
||||
|
||||
Sub: `api.solutions.com.vn` · `admin.solutions.com.vn` · `eoffice.solutions.com.vn`. Old `.huypham.vn` vẫn fallback (chưa remove).
|
||||
|
||||
## 📝 Phase 7 — PE feature gap + ops (Session 4)
|
||||
## 📝 Phase 7 — PE feature gap + Budget BE (Session 4 partial done)
|
||||
|
||||
### A. PE feature gap (3 task MISSING)
|
||||
### A. PE feature gap (3 task MISSING — carry over session 5)
|
||||
|
||||
- [ ] **PE Workflow admin designer UI** `/system/pe-workflows/:typeCode`
|
||||
- BE `Application/PurchaseEvaluations/PeWorkflowAdminFeatures.cs` (mirror `WorkflowAdminFeatures.cs`)
|
||||
@ -83,15 +83,53 @@ Sub: `api.solutions.com.vn` · `admin.solutions.com.vn` · `eoffice.solutions.co
|
||||
|
||||
- [ ] Remove binding cũ `.huypham.vn` sau verify stable: `ssh vietreport-vps ; cd C:\solution-erp\scripts ; .\migrate-domains.ps1 -RemoveOld -SkipCert`
|
||||
- [ ] win-acme scheduled task fix unhealthy (cert expire 2026-06-18)
|
||||
- [ ] UAT thật 1 tuần với 2-3 user
|
||||
- [ ] UAT thật 1 tuần với 2-3 user (30 demo user — 16 sample + 14 Solutions thật)
|
||||
- [ ] SMTP config → Email outbox
|
||||
- [ ] Rotate credentials (admin + 16 demo + SA + vrapp + JWT)
|
||||
- [ ] Rotate credentials (admin + 30 demo + SA + vrapp + JWT)
|
||||
- [ ] Schedule SQL backup Task Scheduler
|
||||
|
||||
### Pending migrations
|
||||
### D. Module Ngân sách (Budget) — Session 4 ✅ partial done
|
||||
|
||||
- [x] **Migration 14** `AddBudgets` — 4 bảng (Budgets/BudgetDetails/BudgetApprovals/BudgetChangelogs) + index BudgetId nullable trên Contract & PurchaseEvaluation
|
||||
- [x] Domain — `Budget` (Header) + `BudgetDetail` (flat row) + `BudgetApproval` + `BudgetChangelog` + enum `BudgetPhase` 5-state + `BudgetEntityType` Header/Detail/Workflow
|
||||
- [x] `BudgetPolicy.Default` hardcoded simple 3-step (Drafter→CCM→CEO + Reject từ ChoCCM/ChoCEO về DangSoanThao)
|
||||
- [x] Application CQRS ~340 LOC — Create + UpdateDraft + Transition + List + GetDetail + Delete (only DangSoanThao/TuChoi) + Detail CRUD (auto-recompute TongNganSach) + ListChangelogs
|
||||
- [x] `BudgetsController` 11 endpoint REST
|
||||
- [x] Menu seed `Budgets` root + 3 leaf (Bg_List/Bg_Create/Bg_Pending) order=27 icon Wallet
|
||||
- [x] **14 demo user Solutions thật** — PRO 5 + CCM 7 + ISO 1 + CEO 1 (pwd `User@123456`)
|
||||
|
||||
Session log: `2026-04-28-chot-session-4-budget.md`.
|
||||
|
||||
### E. Pending migrations
|
||||
|
||||
- [ ] `AddPePaymentTermFields` (nếu chốt UX tách field)
|
||||
- [ ] `AddPeDepartmentOpinions` (nếu chọn Option A header columns)
|
||||
- [ ] `AddBudgetCodeSequences` (nếu chốt format MaNganSach atomic — hiện Random.Shared)
|
||||
- [ ] `AddBudgetVersionedWorkflow` (nếu user cần admin config UI thay vì hardcoded `BudgetPolicy.Default`)
|
||||
|
||||
## 📝 Phase 8 — Budget FE + integration (Session 5 active)
|
||||
|
||||
### A. FE Budget pages — copy pattern PE
|
||||
|
||||
- [ ] `fe-admin/src/types/budget.ts` (types + enum BudgetPhase + ApprovalDecision reuse)
|
||||
- [ ] `fe-admin/src/pages/budgets/BudgetsListPage.tsx` (3-panel `[320px_1fr_360px]`)
|
||||
- [ ] `fe-admin/src/pages/budgets/BudgetCreatePage.tsx` (form Header)
|
||||
- [ ] `fe-admin/src/components/budgets/BudgetDetailTabs.tsx` (Thông tin / Hạng mục)
|
||||
- [ ] `fe-admin/src/components/budgets/BudgetWorkflowPanel.tsx` (Panel 3 timeline + transition + comment)
|
||||
- [ ] Mirror tất cả sang `fe-user/`
|
||||
- [ ] App.tsx routes `/budgets`, `/budgets/new`, `/budgets/:id` cả 2 app
|
||||
- [ ] Menu resolver `Bg_*` (Bg_List → `/budgets`, Bg_Pending → `/budgets?phase=Pending`, Bg_Create → `/budgets/new`)
|
||||
|
||||
### B. PE/Contract → Budget integration
|
||||
|
||||
- [ ] **PE form** thêm field `Ngân sách` select Budget (filter Phase=DaDuyet, NamNganSach=current, ProjectId match)
|
||||
- [ ] **Contract form** tương tự — link sang Budget cho đối chiếu chi phí
|
||||
- [ ] PE Detail tab thêm cột "So với ngân sách" — compute từ BudgetDetail tương ứng (match GroupCode + ItemCode)
|
||||
|
||||
### C. Budget refinement (when needed)
|
||||
|
||||
- [ ] Budget MaNganSach atomic sequence — chốt format chính thức rồi thêm `AddBudgetCodeSequences` migration + `IBudgetCodeGenerator` SERIALIZABLE pattern (mirror Contract/PE)
|
||||
- [ ] Budget versioned workflow — admin config UI nếu Solutions cần custom step approver beyond default 3-step
|
||||
|
||||
## 🔁 Skill governance (recurring)
|
||||
|
||||
@ -104,7 +142,7 @@ Quy tắc: `docs/rules.md §9`. Audit định kỳ mỗi đầu tháng — workf
|
||||
|
||||
Cron task `solution-erp-skill-audit-monthly` fire 9:00 AM ngày 1 mỗi tháng.
|
||||
|
||||
## 📦 Post-launch (Phase 8+ — future)
|
||||
## 📦 Post-launch (Phase 9+ — future)
|
||||
|
||||
- [ ] **Email outbox** (MailKit + SMTP) — blocked chờ SMTP config
|
||||
- [ ] E-signature integration (VNPT CA hoặc FPT CA)
|
||||
|
||||
Reference in New Issue
Block a user