3f339c02c67fde652962a2cefb8afc8f97fc6f25
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 6m40s
Anh bac ban truoc: "Bo phan nay di cho duyet NCC da golive va da tot roi, y tao la dang muon may lam giong giao dien thao tac cua Duyet NCC". REVERT (quan trong nhat) - `PurchaseEvaluationWorkspacePage` x2 app tro ve DUNG BYTE cua1b3bcaa(grid 2 panel, 0 import, 0 markup thua). Verify bang sha256 vs `git show 1b3bcaa:` + control-duong grep 0 hit ten panel trong pages/pe/. - Bai hoc ghi vao dau file panel: "lam giong man X" != "sua man X". Ban dau doc anh 2/3 (anh khoanh o man PE) thanh "chen them cot vao man PE"; anh 7 moi lo cho dat that la cot TRAI cua man Thao tac KHKK. DI DOI - `components/pe/PeKhkkSidePanel.tsx` -> `components/khkk/KhkkWorkListPanel.tsx` (git mv, giu lich su) — no phuc vu KHKK chu khong phai PE. MAN KHKK — THAO TAC (`/khkk/create`, 8 leaf nhom) doi tu trang-giay-cuon sang HOST 2-PANEL - Khuon be nguyen tu `PurchaseEvaluationWorkspacePage`: header 1 dong + grid `lg:grid-cols-[300px_1fr]` + Panel1 danh sach + nut dinh day + Panel2 noi dung. - Panel 1 = 2 TANG dung anh anh khoanh: tang TREN "Cot danh sach Duyet NCC" — PE da duyet CHUA lap KHKK, gom theo DU AN; bam = nap thang vao form tao (tao luon KHKK). tang DUOI "Cot KHKK da tao" — bam = XEM tai cho, read-only. - 🔴 KHONG re-direct o BAT KY duong nao (anh chot "cho hien phieu do luon, chi view la dc, ko re-direct ve phieu goc"): panel nhan CALLBACK onPickPe/onPickPlan thay vi tu navigate. Van con nut phu "Mo trang day du" cho ai muon roi man — la lua chon, khong phai ep buoc. - Section 1 cua form doi tu DANH SACH CHON thanh KHOI XAC NHAN phieu dang chon — danh sach da o Panel 1, de 2 cho chon cung 1 thu = 2 nguon su that tren cung mot man. - Tao xong KHONG navigate('/khkk/:id') nua ma mo luon phieu vua tao o Panel 2 + tra form ve trang. Cung tinh than "khong roi man". - Nut "Them moi" (dinh day Panel 1) = tra Panel 2 ve form trang. - Gate `KeHoachKyKet.Read` giu nguyen trong panel (gotcha #85); thieu quyen thi NOI RA, va nut hanh-dong VAN hien de man khong thanh ngo cut. Verify: build 2 app PASS; mirror SHA256 3/3 cap KHOP; PE workspace 0 du luong (byte-exact vs1b3bcaa) + control-duong grep 0 hit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
[CLAUDE] Docs: S168 closeout-no — gotcha #86 + H24-DEEP F4-F11 resolve + STATUS/HANDOFF/CLAUDE tuoi + orphan S163/S166 harvest + diary ctx + tally L9
SOLUTION_ERP
Hệ thống quản lý Hợp đồng Nhà cung cấp / Thầu phụ / Tổ đội cho Công ty TNHH Xây dựng Solutions.
📘 AI context:
CLAUDE.md(pointer) →docs/CLAUDE.md(full)
Quick start (dev)
Yêu cầu: .NET 10 SDK, Node 20+, SQL Server (local hoặc qua Docker).
# 1. DB — chạy SQL Server qua Docker (nếu chưa có local)
docker compose up -d
# 2. Backend — migration + run Api (port 5443)
dotnet ef database update --project src/Backend/SolutionErp.Infrastructure --startup-project src/Backend/SolutionErp.Api
dotnet run --project src/Backend/SolutionErp.Api
# 3. Frontend admin (port 8082) — terminal mới
cd fe-admin
npm install
npm run dev
# 4. Frontend user (port 8080) — terminal mới
cd fe-user
npm install
npm run dev
Admin mặc định (sẽ seed sau Phase 1): admin@solutionerp.local / Admin@123456
Architecture
fe-admin (:8082) fe-user (:8080)
│ │
└────── /api proxy ──────┘
▼
SolutionErp.Api (:5443)
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Application Domain Infrastructure ── SQL Server
Tech stack
- Backend: .NET 10 + Clean Architecture + CQRS (MediatR) + FluentValidation + AutoMapper + EF Core + ASP.NET Identity + JWT
- Frontend: React 18 + Vite + TypeScript + Tailwind + shadcn/ui + TanStack Query
- DB: SQL Server 2022
- Deploy: Windows Server + IIS
Roadmap
| Phase | Tuần | Focus |
|---|---|---|
| 0 Draft | T1 | Scaffold, parse FORM + QUY_TRINH |
| 1 Alpha Core | T2-4 | Auth, Permission, CRUD master |
| 2 Form Engine | T5-6 | Render template docx/xlsx |
| 3 Workflow | T7-9 | State machine 9 phase |
| 4 Report + Polish | T10-11 | Dashboard + Excel export |
| 5 Production | T12-13 | CI/CD IIS, UAT, go-live |
Chi tiết ở docs/changelog/migration-todos.md.
License
Proprietary — Công ty TNHH Xây dựng Solutions.
Description
Languages
C#
53.9%
TypeScript
38.4%
PowerShell
6%
Python
0.7%
JavaScript
0.4%
Other
0.6%