ปรับการเอาวันที่ใช้ไป และยอดวันลาพักผ่อนยกมา มาใช้งาน
Some checks failed
release-dev / release-dev (push) Failing after 11s
Some checks failed
release-dev / release-dev (push) Failing after 11s
This commit is contained in:
parent
a7b8c2786c
commit
04b17729e0
4 changed files with 56 additions and 19 deletions
|
|
@ -45,6 +45,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
private readonly UserCalendarRepository _userCalendarRepository;
|
||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
||||
private readonly PermissionRepository _permission;
|
||||
private readonly LeaveBeginningRepository _leaveBeginningRepository;
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
@ -60,7 +61,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
HolidayRepository holidayRepository,
|
||||
UserCalendarRepository userCalendarRepository,
|
||||
IHttpContextAccessor httpContextAccessor,
|
||||
PermissionRepository permission)
|
||||
PermissionRepository permission,
|
||||
LeaveBeginningRepository leaveBeginningRepository)
|
||||
{
|
||||
_leaveRequestRepository = leaveRequestRepository;
|
||||
_userProfileRepository = userProfileRepository;
|
||||
|
|
@ -73,6 +75,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
_userCalendarRepository = userCalendarRepository;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
_permission = permission;
|
||||
_leaveBeginningRepository = leaveBeginningRepository;
|
||||
}
|
||||
private class LoopDate
|
||||
{
|
||||
|
|
@ -231,7 +234,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
private async Task<dynamic> GetReport03(LeaveRequest data)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
|
|
@ -240,7 +243,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}";
|
||||
|
||||
|
|
@ -274,6 +277,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var apprvPrevData = approvePrevYear.FirstOrDefault(x => x.KeycloakUserId == data.KeycloakUserId && x.LeaveTypeId == data.Type.Id);
|
||||
var apprvPrev = apprvPrevData == null ? 0 : apprvPrevData.SumLeaveDay;
|
||||
|
||||
//หาวันลายกมาของปีก่อน
|
||||
var leaveBeginning = await _leaveBeginningRepository.GetByYearAndTypeIdAsync(data.LeaveStartDate.Year, data.Type.Id);
|
||||
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken);
|
||||
var govAge = (profile?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
||||
|
||||
|
|
@ -282,12 +288,14 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
if (govAge >= 3650)
|
||||
{
|
||||
// ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
||||
extendLeave = 30 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
||||
//extendLeave = 30 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
||||
extendLeave = leaveBeginning == null ? 30 - apprvPrev : leaveBeginning.LeaveDays;
|
||||
if (extendLeave >= 20) extendLeave = 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
extendLeave = 20 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
||||
//extendLeave = 20 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
||||
extendLeave = leaveBeginning == null ? 20 - apprvPrev : leaveBeginning.LeaveDays;
|
||||
if (extendLeave >= 10) extendLeave = 10;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue