fix Issue : 722,740,746
This commit is contained in:
parent
3cad108cef
commit
5f303cce48
1 changed files with 24 additions and 4 deletions
|
|
@ -771,6 +771,26 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var sumApproveLeave = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(userId, req.Type, req.StartLeaveDate.Year);
|
var sumApproveLeave = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(userId, req.Type, req.StartLeaveDate.Year);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var minLeave = (await _context.Set<LeaveRequest>().Where(x => x.Type.Id == req.Type &&
|
||||||
|
x.LeaveStatus != "DELETE" && x.LeaveStatus != "REJECT")
|
||||||
|
.OrderBy(x => x.LeaveStartDate)
|
||||||
|
.FirstOrDefaultAsync());
|
||||||
|
|
||||||
|
var maxLeave = (await _context.Set<LeaveRequest>().Where(x => x.Type.Id == req.Type &&
|
||||||
|
x.LeaveStatus != "DELETE" && x.LeaveStatus != "REJECT")
|
||||||
|
.OrderByDescending(x => x.LeaveEndDate)
|
||||||
|
.FirstOrDefaultAsync());
|
||||||
|
|
||||||
|
var isBetween = false;
|
||||||
|
if (minLeave != null && maxLeave != null)
|
||||||
|
{
|
||||||
|
isBetween = (req.StartLeaveDate.Date >= minLeave.LeaveStartDate.Date && req.StartLeaveDate.Date <= maxLeave.LeaveEndDate.Date) ||
|
||||||
|
(req.EndLeaveDate.Date >= minLeave.LeaveStartDate.Date && req.EndLeaveDate.Date <= maxLeave.LeaveEndDate.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var isLeave = false;
|
var isLeave = false;
|
||||||
|
|
||||||
switch (leaveType.Code.ToUpper().Trim())
|
switch (leaveType.Code.ToUpper().Trim())
|
||||||
|
|
@ -784,10 +804,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
isLeave = totalDay <= 90;
|
isLeave = totalDay <= 90;
|
||||||
break;
|
break;
|
||||||
case "LV-004":
|
case "LV-004":
|
||||||
isLeave = (totalDay - sumWorkDay - sumWeekend) <= 15;
|
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= 15;
|
||||||
break;
|
break;
|
||||||
case "LV-005":
|
case "LV-005":
|
||||||
isLeave = (totalDay - sumWorkDay - sumWeekend - sumApproveLeave) <= 10;
|
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= 10;
|
||||||
break;
|
break;
|
||||||
case "LV-006":
|
case "LV-006":
|
||||||
isLeave = totalDay <= 120;
|
isLeave = totalDay <= 120;
|
||||||
|
|
@ -864,7 +884,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var result = new GetLeaveCheckResultDto
|
var result = new GetLeaveCheckResultDto
|
||||||
{
|
{
|
||||||
IsLeave = isLeave,
|
IsLeave = !isBetween ? isLeave : false,
|
||||||
SumDateWork = sumWorkDay,
|
SumDateWork = sumWorkDay,
|
||||||
TotalDate = totalDay,
|
TotalDate = totalDay,
|
||||||
SumDateHoliday = sumWeekend
|
SumDateHoliday = sumWeekend
|
||||||
|
|
@ -1109,7 +1129,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
CoupleDayLevelCountry = rawData.CoupleDayLevelCountry,
|
CoupleDayLevelCountry = rawData.CoupleDayLevelCountry,
|
||||||
CoupleDayCountryHistory = rawData.CoupleDayCountryHistory,
|
CoupleDayCountryHistory = rawData.CoupleDayCountryHistory,
|
||||||
CoupleDayTotalHistory = rawData.CoupleDayTotalHistory,
|
CoupleDayTotalHistory = rawData.CoupleDayTotalHistory,
|
||||||
CoupleDayStartDateHistory = rawData.CoupleDayStartDateHistory,
|
CoupleDayStartDateHistory = rawData.CoupleDayStartDateHistory,
|
||||||
CoupleDayEndDateHistory = rawData.CoupleDayEndDateHistory,
|
CoupleDayEndDateHistory = rawData.CoupleDayEndDateHistory,
|
||||||
CoupleDaySumTotalHistory = rawData.CoupleDaySumTotalHistory,
|
CoupleDaySumTotalHistory = rawData.CoupleDaySumTotalHistory,
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue