[CLAUDE] PurchaseEvaluation: Section B (THỰC HIỆN) tách 3 cột per-cột kỳ-này (Mig 59, anh Kiệt FDC / CCM)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m8s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m8s
Section B "Tổng hợp ngân sách trình ký" tách 3 cột Dự án|PRO|CCM giống Section A — mỗi cột nhập "NS kỳ này" RIÊNG + tính thực-hiện độc-lập (lũy-kế / còn-lại / % / so-sánh) theo ngân-sách-full của cột đó: - PRO: budgetPeriodAmount (có sẵn) đối chiếu proFull - CCM: ccmBudgetPeriodAmount (MỚI, Mig 59) đối chiếu ccmFull — CCM nhập (canEditCcm) - Dự án: — (chưa wire, như A) Số thực-tế dùng chung mọi cột (NCC đề xuất, lũy kế lịch sử). Submit-guard giữ trên budgetPeriodAmount (không đụng). Mig 59 AddCcmBudgetPeriodToPurchaseEvaluation (1 cột nullable, no backfill). NEW endpoint PATCH /budget/ccm-period role-gate Admin|CostControl (fail-closed). FE Section B rewrite <BudgetRow> list -> <table> 3 cột (colCalc per-cột), 2 app SHA-mirror. Test 395->402 (+7 authz setter). Build sạch BE + 2 FE. Workflow wf_aafb18fe-d9d (BE->FE->test + 3-lane review: math PASS, authz PASS, mirror self-gated identical). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -40,6 +40,14 @@ public class PurchaseEvaluation : AuditableEntity
|
||||
public decimal? BudgetPeriodAmount { get; set; }
|
||||
public decimal? ExpectedRemainingAmount { get; set; }
|
||||
|
||||
// [Mig 59 2026-06-24 — anh Kiệt FDC / CCM] "NS kỳ này" của CỘT CCM (Section B
|
||||
// THỰC HIỆN tách 3 cột Dự án|PRO|CCM). PRO dùng BudgetPeriodAmount sẵn có; CCM
|
||||
// nhập cột riêng độc-lập, đối chiếu full-CCM = (InitialAmount+AdjustmentAmount)
|
||||
// ở PeWorkItemBudget. Nhập qua endpoint riêng role-gate Admin|CostControl,
|
||||
// absolute-set (null=clear). Budget=0 hợp lệ. KHÔNG submit-guard (guard chỉ trên
|
||||
// BudgetPeriodAmount của PRO).
|
||||
public decimal? CcmBudgetPeriodAmount { get; set; }
|
||||
|
||||
// Smart reject (Phase 9 — Migration 16): Phase nguồn khi reject. Drafter
|
||||
// sửa lại + trình lại → quay về RejectedFromPhase thay vì đi tuần tự.
|
||||
public PurchaseEvaluationPhase? RejectedFromPhase { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user