Merge branch 'develop' into adiDev
This commit is contained in:
commit
252fe0ff9a
12 changed files with 1022 additions and 111 deletions
|
|
@ -18,6 +18,7 @@ using Newtonsoft.Json.Linq;
|
|||
using Swashbuckle.AspNetCore.Annotations;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Security.Claims;
|
||||
using System.Security.Policy;
|
||||
|
||||
namespace BMA.EHR.Leave.Service.Controllers
|
||||
{
|
||||
|
|
@ -883,7 +884,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
break;
|
||||
case "LV-005":
|
||||
// fix issue : ระบบลา (ขรก.) >> ลาพักผ่อน (กรณีรับราชการไม่ถึง 6 เดือน) #838
|
||||
var leavePrevYear = (await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear -1)).Where(x => x.LeaveTypeCode == "LV-005" && x.KeycloakUserId == userId).FirstOrDefault();
|
||||
var leavePrevYear = (await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear - 1)).Where(x => x.LeaveTypeCode == "LV-005" && x.KeycloakUserId == userId).FirstOrDefault();
|
||||
//var leavePrevYearRemain = 10 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||
|
||||
if (govAge >= 180)
|
||||
|
|
@ -1827,15 +1828,18 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
//var sumHoliday = await _holidayRepository.GetHolidayCountAsync(rawData.LeaveStartDate, rawData.LeaveEndDate, category);
|
||||
//var sumWeekend = _holidayRepository.GetWeekEndCount(rawData.LeaveStartDate, rawData.LeaveEndDate, category);
|
||||
|
||||
// fix issue : ระบบการลา>>สังกัด ฝ่าย (เอา / ออก เปลี่ยนเป็นว่าง) #1131
|
||||
|
||||
|
||||
var orgName = rawData.Root ?? "";
|
||||
if (rawData.Child1 != null && rawData.Child1 != "")
|
||||
orgName += $"/{rawData.Child1}";
|
||||
orgName += $" {rawData.Child1}";
|
||||
if (rawData.Child2 != null && rawData.Child2 != "")
|
||||
orgName += $"/{rawData.Child2}";
|
||||
orgName += $" {rawData.Child2}";
|
||||
if (rawData.Child3 != null && rawData.Child3 != "")
|
||||
orgName += $"/{rawData.Child3}";
|
||||
orgName += $" {rawData.Child3}";
|
||||
if (rawData.Child4 != null && rawData.Child4 != "")
|
||||
orgName += $"/{rawData.Child4}";
|
||||
orgName += $" {rawData.Child4}";
|
||||
|
||||
var result = new GetLeaveRequestForAdminByIdDto
|
||||
{
|
||||
|
|
@ -1972,6 +1976,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var rejectList = await _leaveRequestRepository.GetSumRejectLeaveAsync(thisYear);
|
||||
var deleteList = await _leaveRequestRepository.GetSumDeleteLeaveAsync(thisYear);
|
||||
|
||||
var approvePrevYear = await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear - 1);
|
||||
|
||||
var result = new List<dynamic>();
|
||||
foreach (var leaveType in leaveTypes)
|
||||
{
|
||||
|
|
@ -1987,12 +1993,43 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
var deleteData = deleteList.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
||||
var delete = deleteData == null ? 0 : deleteData.SumLeaveDay;
|
||||
|
||||
// fix issue : SIT ระบบบันทึกการลา>> สิทธิ์การลา(โอนสิทธิ์การลา) #974
|
||||
|
||||
var extendLeave = 0.0;
|
||||
var leaveLimit = leaveType.Limit;
|
||||
|
||||
if (leaveType.Code == "LV-005")
|
||||
{
|
||||
var apprvPrevData = approvePrevYear.FirstOrDefault(x => x.KeycloakUserId == userId && x.LeaveTypeId == leaveType.Id);
|
||||
var apprvPrev = apprvPrevData == null ? 0 : approveData.SumLeaveDay;
|
||||
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||
var govAge = (profile?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
|
||||
|
||||
if (govAge >= 180)
|
||||
{
|
||||
if (govAge >= 3650)
|
||||
{
|
||||
// ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
||||
extendLeave = 30 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
||||
if (extendLeave >= 20) extendLeave = 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
extendLeave = 20 - apprvPrev; // หายอดวันลาที่เหลือของปีก่อน
|
||||
if (extendLeave >= 10) extendLeave = 10;
|
||||
}
|
||||
}
|
||||
else
|
||||
leaveLimit = 0;
|
||||
}
|
||||
|
||||
var data = new
|
||||
{
|
||||
Id = leaveType.Id,
|
||||
LeaveTypeName = leaveType.Name,
|
||||
LeaveLimit = leaveType.Limit,
|
||||
LeaveExtend = 0,
|
||||
LeaveLimit = leaveLimit,
|
||||
LeaveExtend = extendLeave,
|
||||
leavePercent = Math.Round((approve * 100.0) / leaveType.Limit, 2),
|
||||
LeaveCountSend = send,
|
||||
LeaveCountApprove = approve,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue