From 11c84e00139f3b9141f0d3e0198139181d7f5227 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 21 Feb 2025 16:03:05 +0700 Subject: [PATCH] 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,