diff --git a/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs b/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs index c73d2a44..a986ba2c 100644 --- a/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs +++ b/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs @@ -123,15 +123,18 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont public bool HasAnyEmployeeWithoutGroup(long workshopId) { var dateNow = DateTime.Now.Date; + var leftWork = _companyContext.LeftWorkList.Where(x => + x.WorkshopId == workshopId && x.StartWorkDate <= dateNow && x.LeftWorkDate >= dateNow); - var rollCallEmployeesWithoutCWS = _companyContext.RollCallEmployees + var rollCallEmployeesWithoutCWS = _companyContext.RollCallEmployees .Include(x => x.EmployeesStatus) .Where( x => x.WorkshopId == workshopId && x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) && - x.HasUploadedImage == "true") + x.HasUploadedImage == "true"&& + leftWork.Any(l => l.EmployeeId == x.EmployeeId && l.WorkshopId == x.WorkshopId)) .GroupJoin(_companyContext.CustomizeWorkshopEmployeeSettings .AsSplitQuery() .Include(x => x.CustomizeWorkshopGroupSettings) diff --git a/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs b/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs index 7b8b4a79..37e836f4 100644 --- a/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallEmployeeRepository.cs @@ -145,7 +145,7 @@ public class RollCallEmployeeRepository : RepositoryBase ? "true" : "false", HasUploadedImage = joinedRollCall == null ? "false" : joinedRollCall.HasUploadedImage, - CreatedByClient = clientTemp != null || (employee.workshopTemp != null &&employee.workshopTemp.LeftWorkType == LeftWorkTempType.StartWork) + CreatedByClient = clientTemp != null || (employee.workshopTemp != null && employee.workshopTemp.LeftWorkType == LeftWorkTempType.StartWork) }; @@ -272,8 +272,15 @@ public class RollCallEmployeeRepository : RepositoryBase public List GetActivePersonnelByWorkshopId(long workshopId) { var dateNow = DateTime.Now.Date; - var rollCallEmployeesQuery = _context.RollCallEmployees.Include(x => x.EmployeesStatus).Where(x => x.WorkshopId == workshopId - && x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) && x.HasUploadedImage == "true"); + + var leftWork = _context.LeftWorkList.Where(x => + x.WorkshopId == workshopId && x.StartWorkDate <= dateNow && x.LeftWorkDate >= dateNow); + + var rollCallEmployeesQuery = _context.RollCallEmployees.Include(x => x.EmployeesStatus) + .Where(x => x.WorkshopId == workshopId + && x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) + && x.HasUploadedImage == "true" &&leftWork.Any(l=>l.EmployeeId == x.EmployeeId && l.WorkshopId == x.WorkshopId)); + var personnel = _context.PersonnelCodeSet.Where(x => x.WorkshopId == workshopId && rollCallEmployeesQuery.Any(y => y.EmployeeId == x.EmployeeId && y.WorkshopId == x.WorkshopId)) @@ -300,15 +307,15 @@ public class RollCallEmployeeRepository : RepositoryBase { var personnelCodes = _context.PersonnelCodeSet.Where(x => x.WorkshopId == workshopId); - var rollCallEmployeesQuery = _context.RollCallEmployees.Include(x=>x.EmployeesStatus) - .Where(x => x.WorkshopId == workshopId && x.EmployeesStatus.Any() && personnelCodes.Any(y=>y.EmployeeId == x.EmployeeId)); + var rollCallEmployeesQuery = _context.RollCallEmployees.Include(x => x.EmployeesStatus) + .Where(x => x.WorkshopId == workshopId && x.EmployeesStatus.Any() && personnelCodes.Any(y => y.EmployeeId == x.EmployeeId)); var res = rollCallEmployeesQuery.Select(x => new RollCallEmployeeViewModel - { - RollCallEmployeeId = x.id, - EmployeeId = x.EmployeeId, - EmployeeFullName = x.EmployeeFullName - }) + { + RollCallEmployeeId = x.id, + EmployeeId = x.EmployeeId, + EmployeeFullName = x.EmployeeFullName + }) .ToList(); return res;