แก้ defect

This commit is contained in:
Suphonchai Phoonsawat 2023-12-15 09:59:03 +07:00
parent bd1a77c1a2
commit 89a88c92dc
4 changed files with 53 additions and 5 deletions

View file

@ -202,7 +202,7 @@ namespace BMA.EHR.Leave.Service.Controllers
EndTimeMorning = data.EndTimeMorning,
StartTimeAfternoon = data.StartTimeAfternoon,
EndTimeAfternoon = data.EndTimeAfternoon,
IsActive = true,
IsActive = data.IsActive,
IsDefault = data.IsDefault,
};
@ -1312,13 +1312,47 @@ namespace BMA.EHR.Leave.Service.Controllers
var duty = userRound ?? getDefaultRound;
DateTime? resultCheckInDate, resultCheckOutDate;
string resultCheckInTime, resultCheckOutTime;
if (data.CheckInEdit)
{
resultCheckInDate = data.CheckDate.Date;
resultCheckInTime = duty.StartTimeMorning;
}
else
{
resultCheckInDate = checkInData == null ? null : checkInData.CheckIn;
resultCheckInTime = checkInData == null ? "00:00" : checkInData.CheckIn.ToString("HH:mm");
}
if (data.CheckOutEdit)
{
resultCheckOutDate = data.CheckDate.Date;
resultCheckOutTime = duty.EndTimeAfternoon;
}
else
{
resultCheckOutDate = checkInData == null ? null :
checkInData.CheckOut == null ? null :
checkInData.CheckOut.Value.Date;
resultCheckOutTime = checkInData == null ? "00:00" :
checkInData.CheckOut == null ? "00:00" :
checkInData.CheckOut.Value.ToString("HH:mm");
}
// create result object to return
var resObj = new GetAdditionalCheckRequestHistoryDto
{
Id = data.Id,
CheckInTime = checkInData == null ? duty.StartTimeMorning : checkInData.CheckIn.ToString("HH:mm"),
CheckOutTime = checkInData == null ? duty.EndTimeAfternoon : checkInData.CheckOut == null ? "00:00" : checkInData.CheckOut.Value.ToString("HH:mm"),
CheckInDate = resultCheckInDate,
CheckOutDate = resultCheckOutDate,
CheckInTime = resultCheckInTime,
CheckOutTime = resultCheckOutTime,
CheckInStatus = checkInData == null ? null :
DateTime.Parse(checkInData.CheckIn.ToString("yyyy-MM-dd HH:mm")) >

View file

@ -891,6 +891,8 @@ namespace BMA.EHR.Leave.Service.Controllers
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> GetLeaveRequestForAdminByIdAsync(Guid id)
{
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
var rawData = await _leaveRequestRepository.GetByIdAsync(id);
var thisYear = DateTime.Now.Year;
@ -923,6 +925,8 @@ namespace BMA.EHR.Leave.Service.Controllers
approver = list.First().Name;
}
var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(userId, rawData.Type.Id, thisYear);
var result = new GetLeaveRequestForAdminByIdDto
{
Id = rawData.Id,
@ -993,6 +997,10 @@ namespace BMA.EHR.Leave.Service.Controllers
Dear = approver,
ApproveStep = rawData.ApproveStep ?? "-",
LeaveLimit = rawData.Type.Limit,
LeaveSummary = leaveSummary,
LeaveRemain = rawData.Type.Limit - leaveSummary
};
return Success(result);

View file

@ -4,9 +4,9 @@
{
public Guid Id { get; set; }
public DateTime CheckInDate { get; set; }
public DateTime? CheckInDate { get; set; }
public DateTime CheckOutDate { get; set; }
public DateTime? CheckOutDate { get; set; }
public string CheckInTime { get; set; }

View file

@ -125,5 +125,11 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest
public string Dear { get; set; } = string.Empty;
public string ApproveStep { get; set; } = string.Empty;
public double LeaveLimit { get; set; } = 0;
public double LeaveSummary { get; set; } = 0;
public double LeaveRemain { get; set; } = 0;
}
}