fix #1462 และ #1497
Some checks failed
release-dev / release-dev (push) Failing after 11s

This commit is contained in:
Suphonchai Phoonsawat 2025-05-02 12:03:56 +07:00
parent 9bf7ee2e9a
commit 66d4a08f3c
4 changed files with 60 additions and 4 deletions

View file

@ -308,6 +308,33 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
return await rawData.ToListAsync();
}
public async Task<List<LeaveRequest>> GetLeaveRequestForAdminWithAuthAsync(int year, Guid type, string status, DateTime startDate, DateTime endDate,List<Guid> keycloakIdList)
{
var rawData = _dbContext.Set<LeaveRequest>().AsNoTracking()
.Include(x => x.Type)
.Where(x => keycloakIdList.Contains(x.KeycloakUserId))
.Where(x => x.LeaveStatus != "DRAFT")
.OrderByDescending(x => x.CreatedAt)
.AsQueryable();
if (year != 0)
rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
if (type != Guid.Empty)
rawData = rawData.Where(x => x.Type.Id == type);
if (status.Trim().ToUpper() != "ALL")
rawData = rawData.Where(x => x.LeaveStatus == status);
if (startDate != DateTime.MinValue)
rawData = rawData.Where(x => x.LeaveStartDate >= startDate);
if (endDate != DateTime.MinValue)
rawData = rawData.Where(x => x.LeaveEndDate <= endDate);
return await rawData.ToListAsync();
}
public async Task<double> GetRestDayTotalByYearForUserAsync(Guid keycloakUserId, int year)
{
var startFiscalDate = new DateTime(year - 1, 10, 1);
@ -425,7 +452,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
return await rawData.ToListAsync();
}
public async Task<LeaveRequest> ApproveCancelLeaveRequestAsync(LeaveRequest data, string Reason)
public async Task<LeaveRequest> ApproveCancelLeaveRequestAsync(LeaveRequest data, string Reason,string LeaveReason)
{
try
{
@ -438,6 +465,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
data.LeaveCancelStatus = "APPROVE";
data.LeaveDirectorComment = Reason;
data.LeaveCancelComment = LeaveReason;
// TODO : Update ไปตาราง beginning
if (data.ApproveStep == "st4") // ถ้ามีการอนุมัติจากผู้มีอำนาจแล้ว