From 9b0f1f0b3e4956326d8c1030bcfe1a0b9a119359 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 21 Feb 2025 12:39:01 +0700 Subject: [PATCH 1/2] fix #1188 --- BMA.EHR.Leave/Controllers/LeaveRequestController.cs | 4 ++++ BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestByIdDto.cs | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index f7f322f3..8cdbd0c2 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1224,6 +1224,10 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveNumber = rawData.LeaveNumber, LeaveDetail = rawData.LeaveDetail, LeaveDocument = new(), + + + LeaveLast = rawData.LeaveLast, + //LeaveDocument = rawData.LeaveDocument == null ? null : await _minIOService.ImagesPath(rawData.LeaveDocument.Id), LeaveDraftDocument = rawData.LeaveDraftDocument == null ? "" : await _minIOService.ImagesPath(rawData.LeaveDraftDocument.Id), diff --git a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestByIdDto.cs b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestByIdDto.cs index 5dd222cb..b97474a2 100644 --- a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestByIdDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestByIdDto.cs @@ -107,13 +107,13 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest public string? CoupleDayCountryHistory { get; set; } - public string? CoupleDayTotalHistory { get; set; } + public string? CoupleDayTotalHistory { get; set; } - public DateTime? CoupleDayStartDateHistory { get; set; } + public DateTime? CoupleDayStartDateHistory { get; set; } public DateTime? CoupleDayEndDateHistory { get; set; } - public string? CoupleDaySumTotalHistory { get; set; } + public string? CoupleDaySumTotalHistory { get; set; } public string? Dear { get; set; } = string.Empty; @@ -124,5 +124,7 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest public string? PositionLevelName { get; set; } = string.Empty; public string? OrganizationName { get; set; } = string.Empty; + + public DateTime? LeaveLast { get; set; } } } From 11c84e00139f3b9141f0d3e0198139181d7f5227 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 21 Feb 2025 16:03:05 +0700 Subject: [PATCH 2/2] fix #1189 --- .../Controllers/LeaveRequestController.cs | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 8cdbd0c2..ffbb104b 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -713,6 +713,12 @@ namespace BMA.EHR.Leave.Service.Controllers } var leaveLimit = 0.0; + var remainPrev = 0.0; + + + + + if (leaveType.Code.Trim().ToUpper() == "LV-005") { if (govAge >= 180) @@ -721,10 +727,14 @@ namespace BMA.EHR.Leave.Service.Controllers if (govAge >= 3650) { leaveLimit = 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); + remainPrev = 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน + if (remainPrev >= 20) remainPrev = 20; } else { leaveLimit = 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); + remainPrev = 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน + if (remainPrev >= 10) remainPrev = 10; } } else @@ -737,7 +747,13 @@ namespace BMA.EHR.Leave.Service.Controllers var sumLeave = await _leaveRequestRepository.GetSumLeaveByTypeForUserAsync(userId, req.Type, thisYear); - var restOldDay = await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear - 1); + var restOldDay = 0.00; + if (leaveType.Code.Trim().ToUpper() == "LV-005") + { + restOldDay = remainPrev; + } + else + restOldDay = await _leaveRequestRepository.GetRestDayTotalByYearForUserAsync(userId, thisYear - 1); var lastSalary = profile.ProfileSalary; @@ -2027,7 +2043,7 @@ namespace BMA.EHR.Leave.Service.Controllers else leaveLimit = 0; } - + var data = new { Id = leaveType.Id,