Files
solution-erp/.claude/skills/form-engine/SKILL.md
pqhuy1987 25dad7f36f [CLAUDE] Scaffold: khoi tao SOLUTION_ERP Phase 0
- .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>
2026-04-21 10:37:34 +07:00

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.
export contract to word
render template docx
xuất đơn đặt hàng excel
gen mã hợp đồng
upload template mới

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 .doc cầ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.cs
  • src/Backend/SolutionErp.Infrastructure/Forms/DocxRenderer.cs
  • src/Backend/SolutionErp.Infrastructure/Forms/XlsxRenderer.cs
  • src/Backend/SolutionErp.Infrastructure/Services/ContractCodeGenerator.cs