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 profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId);
|
||||||
|
|
||||||
|
var govAge = profile!.DateStart!.Value.Date.DiffDay(DateTime.Now.Date);
|
||||||
|
|
||||||
if (profile == null)
|
if (profile == null)
|
||||||
{
|
{
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
|
|
@ -681,7 +683,40 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
var totalDay = req.StartLeaveDate.DiffDay(req.EndLeaveDate);
|
var totalDay = req.StartLeaveDate.DiffDay(req.EndLeaveDate);
|
||||||
var sumWeekend = _holidayRepository.GetWeekEndCount(req.StartLeaveDate, req.EndLeaveDate, category);
|
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
|
var result = new GetLeaveCheckResultDto
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue