- .NET 10 Clean Architecture: Domain/Application/Infrastructure/Api (4 project) - 2 React + Vite + TS app: fe-admin (:8082), fe-user (:8080) voi proxy /api - Node engines >=20, .nvmrc = 20 cho CI (bai hoc NamGroup) - SQL Server 2022 qua docker-compose (dev) - Parse 8 FORM -> docs/forms-spec.md (catalog + ma HD format RG-001) - Parse QUY_TRINH -> docs/workflow-contract.md (9 phase state machine + role matrix) - docs: CLAUDE.md, STATUS.md, PROJECT-MAP.md, migration-todos.md (roadmap 5 phase) - .claude/skills: 3 placeholder (contract-workflow, form-engine, permission-matrix) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.6 KiB
1.6 KiB
name, description, when-to-use
| name | description | when-to-use | |||||
|---|---|---|---|---|---|---|---|
| contract-workflow | State machine 9 phase cho hợp đồng TP/NCC/Tổ đội — guard rule, SLA auto-approve, role × phase matrix. Dùng khi debug transition, approve HĐ, xử lý HĐ quá hạn. |
|
Contract Workflow Skill
Phase 3 deliverable. Hiện tại skill này là PLACEHOLDER — sẽ được expand khi implement Phase 3.
Context
Xem đầy đủ ở docs/workflow-contract.md:
- 9 state:
DangChon→DangSoanThao→DangGopY→DangDamPhan→DangInKy→DangKiemTraCCM→DangTrinhKy→DangDongDau→DaPhatHanh(+TuChoi) - SLA mỗi phase: Draft 7d, GópÝ 7d, ĐàmPhán 7d, InKý 1d, CCMCheck 3d, BOD 1d
- Role × Phase matrix (Drafter, TBP/TPB, PD/PM, PRO/EQU/FIN/ACT, CCM, BOD/NĐUQ, HRA)
Code pointers (sẽ có sau Phase 3)
src/Backend/SolutionErp.Domain/Contracts/ContractPhase.cs(enum)src/Backend/SolutionErp.Domain/Contracts/Contract.cs(aggregate root)src/Backend/SolutionErp.Application/Contracts/Services/IContractWorkflowService.cssrc/Backend/SolutionErp.Infrastructure/HostedServices/SlaExpiryJob.cs
Common pitfalls (dự kiến — update khi build)
- Không check bypass flag khi HĐ với Chủ đầu tư → sẽ reject oan ở CCM phase
- Gen mã HĐ trước khi BOD approve → có thể waste số thứ tự nếu reject sau đó
- Auto-approve chạy trong transaction dài → lock table → timeout