[CLAUDE] Contract: F-1 o-tich opt-in level-finalize man duyet KHKK (DTO expose co + UI x2 app, khuon PE-live S97)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 6m21s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 6m21s
Gate-K3 F-1 MAJOR: BE ApplyLevelFinalize ?? true ma 0 UI gui false => tram CEO chi di duoc bang admin bo co Designer. Va: expose AllowApproverFinalize vao ContractSigningPlanWorkflowLevelDto (1 site :640) + panel KHKK x2 app suy actingLevel mirror ResolveActingLevel (own-truoc, Admin fallback First) + o-tich OPT-IN khuon PE-live S97 (G-1 reviewer: default false — fail-mode an toan len CEO; ratify treo so CHO-ANH) + body 3-field chi khi approve. Reviewer PASS-WITH-FLAGS 7 (sub-reviewer-f1-checkbox.md): G-1 flip ap, G-5 bo "(CEO)" ap, G-6 tach commit ap (K4a rieng), G-2/G-3/G-4 no nhip-K4, G-7 vao commit K4a. Suite 614/0 + filter KHKK 34/34 + npm x2 + SHA-pair b37cd292. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@ -118,7 +118,11 @@ public record ContractSigningPlanWorkflowLevelDto(
|
||||
int Order,
|
||||
string? Name,
|
||||
Guid ApproverUserId,
|
||||
string? ApproverFullName);
|
||||
string? ApproverFullName,
|
||||
// [F-1 S166] Cờ per-Cấp cho ô-tích opt-out "Cấp này KẾT THÚC" ở panel duyệt (khuôn PE S96).
|
||||
// FE mirror `ResolveActingLevel` (own-level trước, Admin fallback level đầu nhóm) để quyết
|
||||
// hiện ô-tích — thiếu cờ này thì `applyLevelFinalize` của body transition không có UI nào gửi false.
|
||||
bool AllowApproverFinalize);
|
||||
|
||||
public record ContractSigningPlanWorkflowStepDto(
|
||||
Guid Id,
|
||||
@ -635,7 +639,8 @@ public class GetContractSigningPlanQueryHandler(IApplicationDbContext db, ICurre
|
||||
s.Id, s.Order, s.Name, s.DepartmentId,
|
||||
s.Levels.OrderBy(l => l.Order).Select(l => new ContractSigningPlanWorkflowLevelDto(
|
||||
l.Id, l.Order, l.Name, l.ApproverUserId,
|
||||
approverNames.TryGetValue(l.ApproverUserId, out var fn) ? fn : null)).ToList()));
|
||||
approverNames.TryGetValue(l.ApproverUserId, out var fn) ? fn : null,
|
||||
l.AllowApproverFinalize)).ToList()));
|
||||
|
||||
foreach (var l in s.Levels)
|
||||
levelMeta[l.Id] = (s.Order, s.Name, l.Order, l.ApproverUserId);
|
||||
|
||||
Reference in New Issue
Block a user