From 34218f04937395c09612de6649767cd6d391547c Mon Sep 17 00:00:00 2001 From: pqhuy1987 Date: Tue, 23 Jun 2026 15:07:40 +0700 Subject: [PATCH] =?UTF-8?q?[CLAUDE]=20PurchaseEvaluation:=20th=C3=AAm=20"Q?= =?UTF-8?q?uy=20tr=C3=ACnh=20duy=E1=BB=87t"=20v=C3=A0o=20checklist=20g?= =?UTF-8?q?=E1=BB=ADi-duy=E1=BB=87t=20(anh=20Ki=E1=BB=87t=20FDC=20UAT=20R4?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phiếu cũ thiếu workflow (tạo lúc bundle cũ chưa có D5 auto-chọn) → checklist D4 toàn xanh nhưng submit chặn "chưa chọn quy trình" = MISLEADING. Bổ sung dòng "Quy trình duyệt" vào checklist (xanh ✓ khi có workflow, đỏ ✗ khi thiếu) → người dùng thấy đúng blocker. 3 phiếu thiếu workflow đã fix prod-data (gán QT-DN-V2-001 cho type-1). R4 auto-assign-at-submit đã thử nhưng REVERT: phá 2 test S83 (test-DB có sẵn workflow → auto-gán thay vì block) + nới block ngược ý "ràng". SQL fix + create-block/D5 (R1) đã đủ chặn phiếu thiếu workflow. FE-only PeDetailTabs ×2 app SHA-identical. Both build PASS, test 371 (revert verified). Co-Authored-By: Claude Opus 4.8 --- fe-admin/src/components/pe/PeDetailTabs.tsx | 1 + fe-user/src/components/pe/PeDetailTabs.tsx | 1 + 2 files changed, 2 insertions(+) diff --git a/fe-admin/src/components/pe/PeDetailTabs.tsx b/fe-admin/src/components/pe/PeDetailTabs.tsx index 49c6565..619dd6f 100644 --- a/fe-admin/src/components/pe/PeDetailTabs.tsx +++ b/fe-admin/src/components/pe/PeDetailTabs.tsx @@ -231,6 +231,7 @@ export function PeDetailTabs({ const gia = supplierOk ? computeGiaChaoThau(evaluation) : null const effBudget = evaluation.budgetPeriodAmount ?? evaluation.budgetSummary?.proInitialAmount ?? null return [ + { label: 'Quy trình duyệt', ok: evaluation.approvalWorkflowId != null }, { label: 'Đơn vị NCC/TP được chọn', ok: supplierOk }, { label: 'Giá chào thầu của đơn vị > 0', ok: gia != null && gia > 0 }, { label: 'Ngân sách kỳ này', ok: effBudget != null && effBudget > 0 }, diff --git a/fe-user/src/components/pe/PeDetailTabs.tsx b/fe-user/src/components/pe/PeDetailTabs.tsx index 49c6565..619dd6f 100644 --- a/fe-user/src/components/pe/PeDetailTabs.tsx +++ b/fe-user/src/components/pe/PeDetailTabs.tsx @@ -231,6 +231,7 @@ export function PeDetailTabs({ const gia = supplierOk ? computeGiaChaoThau(evaluation) : null const effBudget = evaluation.budgetPeriodAmount ?? evaluation.budgetSummary?.proInitialAmount ?? null return [ + { label: 'Quy trình duyệt', ok: evaluation.approvalWorkflowId != null }, { label: 'Đơn vị NCC/TP được chọn', ok: supplierOk }, { label: 'Giá chào thầu của đơn vị > 0', ok: gia != null && gia > 0 }, { label: 'Ngân sách kỳ này', ok: effBudget != null && effBudget > 0 },