- .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.3 KiB
1.3 KiB
name, description, when-to-use
| name | description | when-to-use | |||||
|---|---|---|---|---|---|---|---|
| form-engine | Template engine render 8 form hợp đồng ra .docx/.xlsx giống 100% mẫu gốc. Gen mã HĐ theo RG-001. Dùng khi export HĐ, upload template mới, debug render lỗi format. |
|
Form Engine Skill
Phase 2 deliverable. Hiện tại skill này là PLACEHOLDER.
Context
Xem đầy đủ ở docs/forms-spec.md:
- 8 form (6 .docx/.doc + 1 .xlsx + 1 .docx quy định)
- Mã HĐ format theo SOL-CCM-RG-001:
{Project}/{Type}/SOL&{Partner}/{Seq}và biến thể - 3 file
.doccần convert qua Word COM / LibreOffice headless trước khi parse
Tech stack dự kiến
- .docx render: DocumentFormat.OpenXml (free, verbose) hoặc Aspose.Words (phí, dễ)
- .xlsx render: EPPlus (free non-commercial) hoặc ClosedXML (free)
- PDF preview: wkhtmltopdf hoặc LibreOffice
--convert-to pdf
Code pointers (sẽ có sau Phase 2)
src/Backend/SolutionErp.Application/Forms/Services/IFormRenderer.cssrc/Backend/SolutionErp.Infrastructure/Forms/DocxRenderer.cssrc/Backend/SolutionErp.Infrastructure/Forms/XlsxRenderer.cssrc/Backend/SolutionErp.Infrastructure/Services/ContractCodeGenerator.cs