diff --git a/CompanyManagment.EFCore/Repository/ReportRepository.cs b/CompanyManagment.EFCore/Repository/ReportRepository.cs index c0dc4435..d3c28ac6 100644 --- a/CompanyManagment.EFCore/Repository/ReportRepository.cs +++ b/CompanyManagment.EFCore/Repository/ReportRepository.cs @@ -802,6 +802,8 @@ public class ReportRepository : IReportRepository }; + + Console.WriteLine("new metod >>>>>: " + watch.Elapsed); Console.WriteLine("watchAllProssecd >>>>>: " + watchAllProssec.Elapsed); @@ -1160,13 +1162,14 @@ public class ReportRepository : IReportRepository var allContractCreated = await _context.Contracts - .Where(x => allContractLeftworkEmployeeIds.Contains(x.EmployeeId) && allContractLeftworksWorkshopIdList.Contains(x.WorkshopIds)) + .Where(x => allContractLeftworkEmployeeIds.Contains(x.EmployeeId)) .Where(x => x.ContarctStart <= nextMonthEnd && x.ContractEnd > nextMonthStart && x.IsActiveString == "true") .Select(x=> new {x.id, x.EmployeeId, x.WorkshopIds, x.Signature}).ToListAsync(); + allContractCreated = allContractCreated.Where(x => allContractLeftworksWorkshopIdList.Contains(x.WorkshopIds)).ToList(); #endregion - + Console.WriteLine("ajax 1 >>>>>: " + watch.Elapsed); var workshops = _context.Workshops.Include(x => x.LeftWorks).Where(x => allContractLeftworksWorkshopIdList.Contains(x.id)).ToList(); var workshopListResult = workshops @@ -1250,6 +1253,8 @@ public class ReportRepository : IReportRepository #region NewChanges + + //تمام پرسنل فعال برای قراداد در ماه مورد نظر var allContractLeftworksList = await _context.LeftWorkList .Where(x => workshopList.Contains(x.WorkshopId)) @@ -1292,9 +1297,6 @@ public class ReportRepository : IReportRepository - - - var allContractLeftworkEmployeeIds = allContractLeftworks.Select(x => x.EmployeeId).ToList(); @@ -1308,6 +1310,7 @@ public class ReportRepository : IReportRepository .Where(x => x.ContarctStart <= nextMonthEnd && x.ContractEnd > nextMonthStart && x.IsActiveString == "true") .Select(x=> new {x.id, x.EmployeeId, x.WorkshopIds, x.Signature, x.Employee}).ToListAsync(); + allContractCreated = allContractCreated.Where(x => workshopList.Contains(x.WorkshopIds)).ToList(); var allContractSignedListWorkshopId = new List<(long id, long EmployeeId, long WorkshopId, string Signature, Employee Employee)>(); @@ -1401,7 +1404,7 @@ public class ReportRepository : IReportRepository WorkshopSearches = workshopListResult, EmployeeNotDones = new(), }; - + var badWorkshop = workshopListResult.FirstOrDefault(); var badWorkshopCreated = allContractSignToBeListWorkshopId.Where(x => x.WorkshopId == badWorkshop.Id); var badWorkshopSigned = allContractSigned.Where(x => x.WorkshopId == badWorkshop.Id).Select(x => x.EmployeeId); @@ -1495,10 +1498,11 @@ public class ReportRepository : IReportRepository - var allContractCreated = _context.CheckoutSet - .Where(x => allContractLeftworkEmployeeIds.Contains(x.EmployeeId) && allContractLeftworkWorkshopIds.Contains(x.WorkshopId)) + var allContractCreated =await _context.CheckoutSet + .Where(x => allContractLeftworkEmployeeIds.Contains(x.EmployeeId)) .Where(x => - x.ContractStart.Date <= currentMonthEnd.Date && x.ContractEnd.Date > currentMonthStart.Date && x.IsActiveString == "true"); + x.ContractStart.Date <= currentMonthEnd.Date && x.ContractEnd.Date > currentMonthStart.Date && x.IsActiveString == "true").ToListAsync(); + allContractCreated = allContractCreated.Where(x => allContractLeftworkWorkshopIds.Contains(x.WorkshopId)).ToList(); var createdContractTople = allContractCreated .Select(x => new { x.EmployeeId, x.WorkshopId }) @@ -1641,14 +1645,15 @@ public class ReportRepository : IReportRepository // .Select(x => new { x.EmployeeId, x.WorkshopId }).ToListAsync(); var allContractLeftworkEmployeeIds = allContractLeftworks.Select(x => x.EmployeeId).ToList(); + var allContractLeftworkWorkshopIds = allContractLeftworks.Select(x => x.WorkshopId).ToList(); var allContractCreated =await _context.CheckoutSet .Where(x => allContractLeftworkEmployeeIds.Contains(x.EmployeeId)) .Where(x => x.ContractStart <= currentMonthEnd && x.ContractEnd > currentMonthStart && x.IsActiveString == "true") - .Select(x => new { x.id, x.EmployeeId, x.WorkshopId, x.Signature, x.EmployeeFullName }).ToListAsync(); - + .Select(x => new { x.id, x.EmployeeId, x.WorkshopId, x.Signature, x.EmployeeFullName }).ToListAsync(); + allContractCreated = allContractCreated.Where(x => allContractLeftworkWorkshopIds.Contains(x.WorkshopId)).ToList(); var allContractSignedListWorkshopId = new List<(long id, long EmployeeId, long WorkshopId, string Signature, string EmployeeFullName)>();