fix คำนวนวันลา ว่าลาได้หรือไม่
This commit is contained in:
parent
7f1a3e2f80
commit
77c9a90a08
1 changed files with 36 additions and 1 deletions
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue