[CLAUDE] PurchaseEvaluation: notify "cần duyệt" loại người tạo phiếu (anh Kiệt FDC UAT)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m57s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m57s
Người TẠO phiếu (drafter) không còn nhận chuông "Phiếu cần bạn duyệt" cho phiếu mình tạo — kể cả khi được cấu hình làm approver ở một Cấp. Chỉ approver KHÁC người tạo ở Cấp hiện tại mới nhận. Drafter vẫn nhận chuông KẾT-QUẢ (đã duyệt / trả lại) như cũ (block :1060 giữ nguyên). - PurchaseEvaluationWorkflowService.LogTransitionAsync: thêm filter `l.ApproverUserId != evaluation.DrafterUserId` (in-memory LINQ, nullable-safe). - test-specialist: +3 regression PeApproverNotifyExcludesDrafterTests (drafter-excluded · co-approver-vẫn-nhận · result-notify-intact; RED-on-old đã chứng minh). Test 374 -> 377. - docs/STATUS.md: re-ground canonical (S85-closeout sót: test 356->377, gotcha 71->73, bundle #341) + dòng S86 +3. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -1105,7 +1105,13 @@ public class PurchaseEvaluationWorkflowService(
|
||||
var approverIds = stepsOrdered[notifyCsi].Levels
|
||||
.Where(l => l.Order == notifyLvl
|
||||
&& l.ApproverUserId != Guid.Empty
|
||||
&& l.ApproverUserId != actorUserId)
|
||||
&& l.ApproverUserId != actorUserId
|
||||
// UAT S86 (anh Kiệt Zalo 16:05): người TẠO phiếu KHÔNG nhận
|
||||
// chuông "cần bạn duyệt" cho phiếu mình tạo — kể cả khi được
|
||||
// cấu hình làm approver 1 Cấp (họ đã thấy phiếu ở "Phiếu của
|
||||
// tôi"). Chỉ approver-KHÁC-người-tạo nhận. Drafter VẪN nhận
|
||||
// chuông KẾT-QUẢ (đã duyệt / trả lại) ở block trên (:1060).
|
||||
&& l.ApproverUserId != evaluation.DrafterUserId)
|
||||
.Select(l => l.ApproverUserId)
|
||||
.Distinct()
|
||||
.ToList();
|
||||
|
||||
Reference in New Issue
Block a user