แก้ 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, EndTimeMorning = data.EndTimeMorning,
StartTimeAfternoon = data.StartTimeAfternoon, StartTimeAfternoon = data.StartTimeAfternoon,
EndTimeAfternoon = data.EndTimeAfternoon, EndTimeAfternoon = data.EndTimeAfternoon,
IsActive = true, IsActive = data.IsActive,
IsDefault = data.IsDefault, IsDefault = data.IsDefault,
}; };
@ -1312,13 +1312,47 @@ namespace BMA.EHR.Leave.Service.Controllers
var duty = userRound ?? getDefaultRound; 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 // create result object to return
var resObj = new GetAdditionalCheckRequestHistoryDto var resObj = new GetAdditionalCheckRequestHistoryDto
{ {
Id = data.Id, Id = data.Id,
CheckInTime = checkInData == null ? duty.StartTimeMorning : checkInData.CheckIn.ToString("HH:mm"), CheckInDate = resultCheckInDate,
CheckOutTime = checkInData == null ? duty.EndTimeAfternoon : checkInData.CheckOut == null ? "00:00" : checkInData.CheckOut.Value.ToString("HH:mm"), CheckOutDate = resultCheckOutDate,
CheckInTime = resultCheckInTime,
CheckOutTime = resultCheckOutTime,
CheckInStatus = checkInData == null ? null : CheckInStatus = checkInData == null ? null :
DateTime.Parse(checkInData.CheckIn.ToString("yyyy-MM-dd HH:mm")) > 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)] [ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> GetLeaveRequestForAdminByIdAsync(Guid id) public async Task<ActionResult<ResponseObject>> GetLeaveRequestForAdminByIdAsync(Guid id)
{ {
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
var rawData = await _leaveRequestRepository.GetByIdAsync(id); var rawData = await _leaveRequestRepository.GetByIdAsync(id);
var thisYear = DateTime.Now.Year; var thisYear = DateTime.Now.Year;
@ -923,6 +925,8 @@ namespace BMA.EHR.Leave.Service.Controllers
approver = list.First().Name; approver = list.First().Name;
} }
var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(userId, rawData.Type.Id, thisYear);
var result = new GetLeaveRequestForAdminByIdDto var result = new GetLeaveRequestForAdminByIdDto
{ {
Id = rawData.Id, Id = rawData.Id,
@ -993,6 +997,10 @@ namespace BMA.EHR.Leave.Service.Controllers
Dear = approver, Dear = approver,
ApproveStep = rawData.ApproveStep ?? "-", ApproveStep = rawData.ApproveStep ?? "-",
LeaveLimit = rawData.Type.Limit,
LeaveSummary = leaveSummary,
LeaveRemain = rawData.Type.Limit - leaveSummary
}; };
return Success(result); return Success(result);

View file

@ -4,9 +4,9 @@
{ {
public Guid Id { get; set; } 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; } 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 Dear { get; set; } = string.Empty;
public string ApproveStep { 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;
} }
} }