|
|
e100ef065b
|
[CLAUDE] Supplier: Excel-import Phase B (upload NCC preview/confirm) + Mig 63
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m25s
Import Excel 'Database NCC': upload→preview classify (New/Update/Skip/Error)→confirm all-or-nothing upsert-by-Code (OrdinalIgnoreCase dedup, fill-nulls-safe). Mig 63 +SourceUpdatedAt/By (2 nullable). Parser layout-locked header-fingerprint NFC-normalized + absolute-cell-index + #REF!-null + NAS-backslash-raw. Type-lạ→NhaCungCap. FE dialog fe-admin+fe-user byte-identical. 10 test SupplierExcelImportServiceTests.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-12 16:13:46 +07:00 |
|
|
|
778fc98b2f
|
[CLAUDE] Supplier: Mig 62 expand 30-field + seed 4 NCC + FE form 2-app
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m7s
Phase A of the NCC/TP Excel-import backlog (anh Kiet FDC). Supplier
entity 9 -> 27 fields to hold the 30-column supplier database.
Backend:
- Supplier +18 nullable cols; SupplierType +CaHai=6 (append-only);
new nullable SupplierStatus enum.
- Mig 62 ExpandSupplierFields (3-file): AddColumn x18 + guarded un-cram
Sql (clear legacy crammed Note on the 4 seeded rows, exact-match).
No new table (89), reversible Down.
- Seed fill-nulls-if-exists: populate 30 fields for TRUONGGIANG/TANPHU/
TGN/DONGDUONG from Excel; idempotent, never clobbers existing cols.
- DTO + Create/Update commands + validators (MaximumLength-only, no
NotEmpty so open-auth Create minimal payload stays valid) + 2 query
projections.
Frontend (fe-admin + fe-user, byte-identical SHA-mirror):
- types/master.ts +18 fields +SupplierStatus; SuppliersPage form 4
section groups + Status select + 3 NAS links via new shared PathLink
(extracted from PE HoSoLink render+Copy). All new fields optional.
Excel upload auto-map = Phase B (deferred). Tests test-after (UAT mode).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-06 16:06:11 +07:00 |
|
|
|
69cb3937bb
|
[CLAUDE] Master: nạp master data thật từ Excel (62 dự án + 71 hạng mục + 3 NCC) + Project +4 cột (Mig 48)
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m33s
Nạp master data công ty từ file Excel 'HẠNG MỤC CÔNG VIỆC DỰ ÁN':
- 62 Projects (Mã + Năm; tên/CĐT/địa điểm/gói thầu cho ~6 dự án có chi tiết)
- 71 WorkItems: Vật tư 16 · Thầu phụ 30 · MEP 9 · Thiết bị 16
- 3 Suppliers (TRUONGGIANG/TANPHU/TGN)
Mig 48 AddProjectMasterFields: Project +4 cột nullable (Year/Investor/Location/Package) + ProjectFeatures DTO/Create/Update + ProjectsPage form ×2 app (SHA256 mirror).
SeedRealMasterDataAsync per-code idempotent, UNGATED → reaches prod (coexist demo). FLOCK01 collision → skip (demo wins).
Verify: build 0-err · test 216 PASS · runtime Dev proof (data landed, Investor col populates). Provenance: scripts/master-import-data.generated.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-09 09:27:04 +07:00 |
|
|
|
06a441cf4e
|
[CLAUDE] FE-User: Plan CA Chunk B — Move 4 master pages từ fe-admin → fe-user
- Copy SuppliersPage/ProjectsPage/DepartmentsPage/CatalogsPage (948 LOC mirror)
- Extend menuKeys.ts với 5 key Catalogs* (CatalogUnits/Materials/Services/WorkItems)
- Add 7 route App.tsx (/master/suppliers + /master/projects + /master/departments + 4 catalogs tab)
- fe-user component parity verified (DataTable, PageHeader, PermissionGuard, 6 shadcn ui)
Verify:
- fe-user npm run build PASS 0 TS err (1916 modules, 14.14s)
- 4 file SHA256 byte-identical mirror fe-admin (all 4 hash match)
- 0 BE touch (Chunk A em main solo parallel)
Pending Chunk C: sidebar filter 2 app (fe-admin HIDE 9 menu, fe-user SHOW)
Pending Chunk D: smoke verify + role demo user
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-22 10:56:11 +07:00 |
|