From b041933e5ca86e44967d6c165a2a180658688809 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 30 Oct 2024 13:41:12 +0700 Subject: [PATCH] fix Issue --- .../LeaveRequests/LeaveRequestRepository.cs | 10 +++++++--- BMA.EHR.Leave/Controllers/LeaveController.cs | 19 +++++++++++++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index be1618a4..d743d585 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -253,6 +253,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveType.Id) .Where(x => x.LeaveStartDate.Year == year) + .Where(x => x.LeaveStatus == "APPROVE") .Sum(x => x.LeaveTotal); return data; @@ -265,7 +266,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) .Where(x => x.LeaveStartDate.Year == year) - .Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") + .Where(x => x.LeaveStatus == "APPROVE") + //.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") .ToListAsync(); return data.Sum(x => x.LeaveTotal); @@ -290,7 +292,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") + .Where(x => x.LeaveStatus == "APPROVE") + //.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") .OrderByDescending(x => x.LeaveStartDate.Date) .Select(x => x.LeaveStartDate.Date) .FirstOrDefaultAsync(); @@ -304,7 +307,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") + .Where(x => x.LeaveStatus == "APPROVE") + //.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") .OrderByDescending(x => x.LeaveStartDate.Date) .FirstOrDefaultAsync(); diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 91f18698..b1c742cf 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -2,6 +2,7 @@ using BMA.EHR.Application.Repositories.Commands; using BMA.EHR.Application.Repositories.Leaves.LeaveRequests; using BMA.EHR.Application.Repositories.Leaves.TimeAttendants; +using BMA.EHR.Application.Repositories.MessageQueue; using BMA.EHR.Application.Responses.Profiles; using BMA.EHR.Domain.Common; using BMA.EHR.Domain.Models.Leave.TimeAttendants; @@ -54,6 +55,8 @@ namespace BMA.EHR.Leave.Service.Controllers private readonly CommandRepository _commandRepository; + private readonly NotificationRepository _notificationRepository; + private readonly string _bucketName = "check-in"; private readonly ObjectPool _objectPool; @@ -79,7 +82,8 @@ namespace BMA.EHR.Leave.Service.Controllers CommandRepository commandRepository, LeaveRequestRepository leaveRequestRepository, ObjectPool objectPool, - PermissionRepository permission) + PermissionRepository permission, + NotificationRepository notificationRepository) { _dutyTimeRepository = dutyTimeRepository; _context = context; @@ -95,6 +99,7 @@ namespace BMA.EHR.Leave.Service.Controllers _userCalendarRepository = userCalendarRepository; _commandRepository = commandRepository; _leaveRequestRepository = leaveRequestRepository; + _notificationRepository = notificationRepository; _objectPool = objectPool; _permission = permission; @@ -1716,9 +1721,11 @@ namespace BMA.EHR.Leave.Service.Controllers // change user timestamp var processTimeStamp = await _processUserTimeStampRepository.GetTimestampByDateAsync(requestData.KeycloakUserId, requestData.CheckDate.Date); + var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(requestData.KeycloakUserId, AccessToken); + if (processTimeStamp == null) { - var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(requestData.KeycloakUserId, AccessToken); + processTimeStamp = new ProcessUserTimeStamp { @@ -1777,6 +1784,9 @@ namespace BMA.EHR.Leave.Service.Controllers await _processUserTimeStampRepository.UpdateAsync(processTimeStamp); } + var recvId = new List { profile.Id }; + await _notificationRepository.PushNotificationsAsync(recvId.ToArray(), "ลงเวลากรณีพิเศษ", "การขอลงเวลากรณีพิเศษของคุณได้รับการอนุมัติ", "", "", true, false); + return Success(); } @@ -1826,6 +1836,11 @@ namespace BMA.EHR.Leave.Service.Controllers requestData.Comment = req.Reason; await _additionalCheckRequestRepository.UpdateAsync(requestData); + var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(requestData.KeycloakUserId, AccessToken); + + var recvId = new List { profile.Id }; + await _notificationRepository.PushNotificationsAsync(recvId.ToArray(), "ลงเวลากรณีพิเศษ", "การขอลงเวลากรณีพิเศษของคุณไม่ได้รับการอนุมัติ", "", "", true, false); + return Success(); }