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