diff --git a/src/Backend/SolutionErp.Application/PurchaseEvaluations/PurchaseEvaluationDetailFeatures.cs b/src/Backend/SolutionErp.Application/PurchaseEvaluations/PurchaseEvaluationDetailFeatures.cs index 3f6e261..02a7560 100644 --- a/src/Backend/SolutionErp.Application/PurchaseEvaluations/PurchaseEvaluationDetailFeatures.cs +++ b/src/Backend/SolutionErp.Application/PurchaseEvaluations/PurchaseEvaluationDetailFeatures.cs @@ -165,6 +165,7 @@ public class AddPurchaseEvaluationDetailCommandHandler( Action = ChangelogAction.Insert, PhaseAtChange = evaluation.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Thêm hạng mục {request.GroupCode} — {request.NoiDung}", }); @@ -222,6 +223,7 @@ public class UpdatePurchaseEvaluationDetailCommandHandler( Action = ChangelogAction.Update, PhaseAtChange = evaluation.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Cập nhật hạng mục {request.GroupCode} — {request.NoiDung}{approverNote}", }); @@ -253,6 +255,7 @@ public class DeletePurchaseEvaluationDetailCommandHandler( Action = ChangelogAction.Delete, PhaseAtChange = evaluation.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Xóa hạng mục {entity.GroupCode} — {entity.NoiDung}{approverNote}", }); @@ -312,6 +315,7 @@ public class UpsertPurchaseEvaluationQuoteCommandHandler( Action = ChangelogAction.Update, PhaseAtChange = evaluation.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Cập nhật báo giá cho hạng mục {detail.GroupCode}{approverNote}", }); await db.SaveChangesAsync(ct); @@ -337,6 +341,7 @@ public class UpsertPurchaseEvaluationQuoteCommandHandler( Action = ChangelogAction.Insert, PhaseAtChange = evaluation.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Thêm báo giá cho hạng mục {detail.GroupCode}{approverNote}", }); await db.SaveChangesAsync(ct); @@ -371,6 +376,7 @@ public class DeletePurchaseEvaluationQuoteCommandHandler( Action = ChangelogAction.Delete, PhaseAtChange = evaluation.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Xóa báo giá{approverNote}", }); @@ -409,6 +415,7 @@ public class SelectPurchaseEvaluationWinnerCommandHandler( Action = ChangelogAction.Update, PhaseAtChange = entity.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = "Chọn NCC trúng thầu", }); diff --git a/src/Backend/SolutionErp.Application/PurchaseEvaluations/PurchaseEvaluationFeatures.cs b/src/Backend/SolutionErp.Application/PurchaseEvaluations/PurchaseEvaluationFeatures.cs index f0cdb4a..888f72b 100644 --- a/src/Backend/SolutionErp.Application/PurchaseEvaluations/PurchaseEvaluationFeatures.cs +++ b/src/Backend/SolutionErp.Application/PurchaseEvaluations/PurchaseEvaluationFeatures.cs @@ -124,6 +124,7 @@ public class CreatePurchaseEvaluationCommandHandler( Action = ChangelogAction.Insert, PhaseAtChange = entity.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Tạo phiếu {entity.MaPhieu} — {entity.TenGoiThau}", }); @@ -154,6 +155,7 @@ public class CreatePurchaseEvaluationCommandHandler( Action = ChangelogAction.Insert, PhaseAtChange = entity.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Hạng mục mặc định — {defaultDetail.NoiDung}", }); @@ -232,6 +234,7 @@ public class UpdatePurchaseEvaluationDraftCommandHandler( Action = ChangelogAction.Update, PhaseAtChange = entity.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = "Cập nhật thông tin phiếu", }); @@ -376,6 +379,8 @@ public class AdjustPurchaseEvaluationBudgetCommandHandler( } var diffSummary = parts.Count == 0 ? "không đổi" : string.Join(", ", parts); + // Plan AE S25 — set UserName để FE hiện đúng tên user thay vì "Hệ thống" + // fallback. ICurrentUser đã có FullName + Email sẵn từ JWT claims. db.PurchaseEvaluationChangelogs.Add(new PurchaseEvaluationChangelog { PurchaseEvaluationId = entity.Id, @@ -383,6 +388,7 @@ public class AdjustPurchaseEvaluationBudgetCommandHandler( Action = ChangelogAction.Update, PhaseAtChange = entity.Phase, UserId = currentUser.UserId, + UserName = currentUser.FullName ?? currentUser.Email, Summary = $"Điều chỉnh ngân sách: {diffSummary} {actorTag}", });