fix คำนวนวันลา ว่าลาได้หรือไม่

This commit is contained in:
Suphonchai Phoonsawat 2024-01-15 14:07:59 +07:00
parent 7f1a3e2f80
commit 77c9a90a08

View file

@ -661,6 +661,8 @@ namespace BMA.EHR.Leave.Service.Controllers
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
var govAge = profile!.DateStart!.Value.Date.DiffDay(DateTime.Now.Date);
if (profile == null)
{
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
@ -681,7 +683,40 @@ namespace BMA.EHR.Leave.Service.Controllers
var totalDay = req.StartLeaveDate.DiffDay(req.EndLeaveDate);
var sumWeekend = _holidayRepository.GetWeekEndCount(req.StartLeaveDate, req.EndLeaveDate, category);
var isLeave = sumLeave + (totalDay - sumWorkDay - sumWeekend) <= leaveType.Limit;
var isLeave = false;
switch (leaveType.Code.ToUpper().Trim())
{
case "LV-001":
case "LV-002":
case "LV-007":
isLeave = true;
break;
case "LV-003":
isLeave = totalDay <= 90;
break;
case "LV-004":
isLeave = (totalDay - sumWorkDay - sumWeekend) <= 15;
break;
case "LV-005":
isLeave = (totalDay - sumWorkDay - sumWeekend) <= 10;
break;
case "LV-006":
isLeave = totalDay <= 120;
break;
case "LV-008":
case "LV-009":
isLeave = govAge >= 365;
break;
case "LV-010":
isLeave = totalDay <= 730;
break;
case "LV-011":
isLeave = totalDay <= 360;
break;
}
//var isLeave = sumLeave + (totalDay - sumWorkDay - sumWeekend) <= leaveType.Limit;
var result = new GetLeaveCheckResultDto
{