ปรับการคำนวนยอดวันลาสะสม ของปีก่อนหน้า
This commit is contained in:
parent
6afb95fe1b
commit
2852615d62
1 changed files with 19 additions and 30 deletions
|
|
@ -711,42 +711,25 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
|
||||
var leaveLimit = 0;
|
||||
var leaveLimit = 0.0;
|
||||
if (leaveType.Code.Trim().ToUpper() == "LV-005")
|
||||
{
|
||||
if (govAge >= 180)
|
||||
{
|
||||
if (govAge >= 3650) leaveLimit = 30;
|
||||
else leaveLimit = 20;
|
||||
var leavePrevYear = (await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear)).Where(x => x.LeaveTypeCode == "LV-005" && x.KeycloakUserId == userId).FirstOrDefault();
|
||||
if (govAge >= 3650)
|
||||
{
|
||||
leaveLimit = 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay);
|
||||
}
|
||||
else
|
||||
{
|
||||
leaveLimit = 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
leaveLimit = 0;
|
||||
}
|
||||
//var leavePrevYear = (await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear)).Where(x => x.LeaveTypeCode == "LV-005" && x.KeycloakUserId == userId).FirstOrDefault();
|
||||
//var leavePrevYearRemain = 0;
|
||||
|
||||
|
||||
////var leavePrevYearRemain = 10 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||
|
||||
//if (govAge >= 180)
|
||||
// if (govAge >= 3650)
|
||||
// {
|
||||
// // ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
||||
// isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= (20 + leavePrevYearRemain);
|
||||
// if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= (10 + leavePrevYearRemain);
|
||||
// if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||
// }
|
||||
|
||||
//else
|
||||
//{
|
||||
// leavePrevYearRemain
|
||||
//}
|
||||
|
||||
}
|
||||
else
|
||||
leaveLimit = leaveType.Limit;
|
||||
|
|
@ -901,17 +884,23 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
case "LV-005":
|
||||
// fix issue : ระบบลา (ขรก.) >> ลาพักผ่อน (กรณีรับราชการไม่ถึง 6 เดือน) #838
|
||||
var leavePrevYear = (await _leaveRequestRepository.GetSumApproveLeaveAsync(thisYear)).Where(x => x.LeaveTypeCode == "LV-005" && x.KeycloakUserId == userId).FirstOrDefault();
|
||||
var leavePrevYearRemain = 10 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||
//var leavePrevYearRemain = 10 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||
|
||||
if (govAge >= 180)
|
||||
if (govAge >= 3650)
|
||||
{
|
||||
// ถ้าอายุราชการเกิน 10 ปี ได้บวกเพิ่มอีก 10 วัน
|
||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= (20 + leavePrevYearRemain);
|
||||
var leavePrevYearRemain = 30 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||
if (leavePrevYearRemain >= 20) leavePrevYearRemain = 20;
|
||||
|
||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= (10 + leavePrevYearRemain);
|
||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||
}
|
||||
else
|
||||
{
|
||||
var leavePrevYearRemain = 20 - (leavePrevYear == null ? 0 : leavePrevYear.SumLeaveDay); // หายอดวันลาที่เหลือของปีก่อน
|
||||
if (leavePrevYearRemain >= 10) leavePrevYearRemain = 10;
|
||||
|
||||
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= (10 + leavePrevYearRemain);
|
||||
if (!isLeave) message = "จำนวนวันลาเกินที่กำหนด";
|
||||
}
|
||||
|
|
@ -1926,7 +1915,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
// OrganizationName = profile.Oc ?? "",
|
||||
|
||||
// เปลี่ยนมาอ่านจากฐานข้อมูลแทน read_db
|
||||
|
||||
|
||||
Dear = rawData.Dear ?? "",
|
||||
PositionName = rawData.PositionName ?? "",
|
||||
PositionLevelName = rawData.PositionLevelName ?? "",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue