diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 21b08c88..886248a5 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -253,10 +253,22 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests } - public async Task> GetLeaveRequestByYearAsync(int year) + public async Task> GetLeaveRequestByYearAsync(int year, Guid userId) { + var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken); + + if (profile == null) + { + throw new Exception("ไม่พบข้อมูลผู้ใช้งานในระบบทะเบียนประวัติ!!"); + } + var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) + .Where(x => x.RootId == profile.RootId && + x.Child1Id == profile.Child1Id && + x.Child2Id == profile.Child2Id && + x.Child3Id == profile.Child3Id && + x.Child4Id == profile.Child4Id) .Where(x => x.LeaveStartDate.Year == year) .Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") .ToListAsync(); diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index d678c7c6..33404792 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -167,7 +167,7 @@ namespace BMA.EHR.Leave.Service.Controllers //GetSumApproveLeaveByRangeForUser var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1); - var endFiscalYear = data.CreatedAt.Date.AddDays(-1); // นับจากวันที่ยื่นลา + var endFiscalYear = data.LeaveStartDate.Date.AddDays(-1); // นับจากวันที่ยื่นลา var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(data.LeaveStartDate.Year, data.Type.Id, data.KeycloakUserId); //var sumLeave = leaveData == null ? 0 : leaveData.LeaveDaysUsed; diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 613eaa9a..9540e3cf 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1246,8 +1246,11 @@ namespace BMA.EHR.Leave.Service.Controllers public async Task> GetLeaveRequestCalendarAsync( [FromBody] GetLeaveRequestCalendarDto req) { + + var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId); + //var thisYear = DateTime.Now.Year; - var data = await _leaveRequestRepository.GetLeaveRequestByYearAsync(req.Year); + var data = await _leaveRequestRepository.GetLeaveRequestByYearAsync(req.Year, userId); // var profileList = await _userProfileRepository.GetProfileWithKeycloak(AccessToken);