change LeaveTotal to Double

This commit is contained in:
Suphonchai Phoonsawat 2023-12-21 14:30:10 +07:00
parent d7be2da281
commit 7ce1b11244
8 changed files with 1085 additions and 24 deletions

View file

@ -124,6 +124,18 @@ namespace BMA.EHR.Leave.Service.Controllers
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
}
var sumLeave = req.LeaveStartDate.DiffDay(req.LeaveEndDate);
var sumHoliday = await _holidayRepository.GetHolidayCountAsync(req.LeaveStartDate, req.LeaveEndDate);
var sumWeekend = _holidayRepository.GetWeekEndCount(req.LeaveStartDate, req.LeaveEndDate);
var leaveTotal = 0.0;
if (req.LeaveRange != "ALL")
leaveTotal = 0.5;
else
leaveTotal = sumLeave - sumHoliday - sumWeekend;
var leaveRequest = new LeaveRequest
{
Type = leaveType,
@ -134,7 +146,10 @@ namespace BMA.EHR.Leave.Service.Controllers
LeaveDetail = req.LeaveDetail ?? "",
LeaveAddress = req.LeaveAddress ?? "",
LeaveNumber = req.LeaveNumber ?? "",
LeaveTotal = req.LeaveStartDate.DiffDay(req.LeaveEndDate),
//LeaveTotal = req.LeaveStartDate.DiffDay(req.LeaveEndDate),
LeaveTotal = leaveTotal,
LeaveSalaryText = req.LeaveSalaryText ?? "",
LeaveStatus = "NEW",
KeycloakUserId = userId,
@ -504,6 +519,10 @@ namespace BMA.EHR.Leave.Service.Controllers
await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync(rawData.KeycloakUserId,
rawData.Type.Id);
var sumLeave = rawData.LeaveStartDate.DiffDay(rawData.LeaveEndDate);
var sumHoliday = await _holidayRepository.GetHolidayCountAsync(rawData.LeaveStartDate, rawData.LeaveEndDate);
var sumWeekend = _holidayRepository.GetWeekEndCount(rawData.LeaveStartDate, rawData.LeaveEndDate);
var result = new GetLeaveRequestByIdDto
{
Id = rawData.Id,
@ -524,7 +543,11 @@ namespace BMA.EHR.Leave.Service.Controllers
LeaveLastStart = lastLeaveRequest == null ? null : lastLeaveRequest.LeaveStartDate,
LeaveLastEnd = lastLeaveRequest == null ? null : lastLeaveRequest.LeaveEndDate,
LeaveTotal = rawData.LeaveStartDate.DiffDay(rawData.LeaveEndDate),
//LeaveTotal = rawData.LeaveStartDate.DiffDay(rawData.LeaveEndDate),
LeaveTotal = sumLeave - (sumWeekend + sumHoliday),
LeaveBirthDate = profile.BirthDate,
LeaveGovernmentDate = profile.DateAppoint == null ? null : profile.DateAppoint.Value,
@ -937,6 +960,10 @@ namespace BMA.EHR.Leave.Service.Controllers
var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(userId, rawData.Type.Id, thisYear);
var sumLeave = rawData.LeaveStartDate.DiffDay(rawData.LeaveEndDate);
var sumHoliday = await _holidayRepository.GetHolidayCountAsync(rawData.LeaveStartDate, rawData.LeaveEndDate);
var sumWeekend = _holidayRepository.GetWeekEndCount(rawData.LeaveStartDate, rawData.LeaveEndDate);
var result = new GetLeaveRequestForAdminByIdDto
{
Id = rawData.Id,
@ -961,7 +988,11 @@ namespace BMA.EHR.Leave.Service.Controllers
LeaveLastStart = lastLeaveRequest == null ? null : lastLeaveRequest.LeaveStartDate,
LeaveLastEnd = lastLeaveRequest == null ? null : lastLeaveRequest.LeaveEndDate,
LeaveTotal = rawData.LeaveStartDate.DiffDay(rawData.LeaveEndDate),
//LeaveTotal = rawData.LeaveStartDate.DiffDay(rawData.LeaveEndDate),
LeaveTotal = sumLeave - (sumHoliday + sumWeekend),
LeaveBirthDate = profile.BirthDate,
LeaveGovernmentDate = profile.DateAppoint == null ? null : profile.DateAppoint.Value,