From 04e51fe3b57130e65f0448cd2dd23f183bb001c7 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Tue, 27 May 2025 20:06:06 +0330 Subject: [PATCH] Kebab mahdi VIP group --- .../Repository/AdminMonthlyOverviewRepository.cs | 16 ++++++++++------ .../Repository/LeftWorkRepository.cs | 3 ++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/CompanyManagment.EFCore/Repository/AdminMonthlyOverviewRepository.cs b/CompanyManagment.EFCore/Repository/AdminMonthlyOverviewRepository.cs index ef958b85..a161dd8a 100644 --- a/CompanyManagment.EFCore/Repository/AdminMonthlyOverviewRepository.cs +++ b/CompanyManagment.EFCore/Repository/AdminMonthlyOverviewRepository.cs @@ -233,8 +233,12 @@ public class AdminMonthlyOverviewRepository : RepositoryBase workshopIds, DateTime targetDate, DateTime nextMonth) { + var vipGroup = _companyContext.CustomizeWorkshopEmployeeSettings.Where(x => x.CustomizeWorkshopGroupSettingId == 117) + .Select(x => x.EmployeeId) + .Except([5976]).ToList(); - var workingCheckoutEmployeeIds = _companyContext.LeftWorkList.AsNoTracking() + + var workingCheckoutEmployeeIds = _companyContext.LeftWorkList.AsNoTracking() .Join( _companyContext.Contracts.AsNoTracking(), leftWork => new { leftWork.EmployeeId, WorkshopId = leftWork.WorkshopId }, @@ -247,11 +251,13 @@ public class AdminMonthlyOverviewRepository : RepositoryBase= targetDate && x.contract.ContarctStart <= targetDate && x.contract.ContractEnd >= targetDate - ) + && !vipGroup.Contains(x.leftWork.EmployeeId) + ) .Select(x => new { x.leftWork.WorkshopId, x.leftWork.EmployeeId }); var workingContractEmployeeIds = _companyContext.LeftWorkList.AsNoTracking() - .Where(x => workshopIds.Contains(x.WorkshopId) && x.StartWorkDate <= nextMonth && x.LeftWorkDate.AddDays(-1) >= nextMonth) + .Where(x => workshopIds.Contains(x.WorkshopId) && x.StartWorkDate <= nextMonth && x.LeftWorkDate.AddDays(-1) >= nextMonth + && !vipGroup.Contains(x.EmployeeId)) .Select(x => new { x.WorkshopId, x.EmployeeId }); var contractSet = (await _companyContext.Contracts.AsNoTracking() @@ -276,9 +282,6 @@ public class AdminMonthlyOverviewRepository : RepositoryBase x.WorkshopId)).ToList(); - var workshopsWithFullContracts = workingContractGrouping .Where(g => g.Data.All(emp => contractSet.Contains((emp.WorkshopId, emp.EmployeeId)))) .Select(g => g.WorkshopId) @@ -289,6 +292,7 @@ public class AdminMonthlyOverviewRepository : RepositoryBase g.Key) .ToList(); + var fullyCoveredWorkshops = workshopsWithFullContracts.Intersect(workshopsWithFullCheckout).ToList(); //var notFullyCoveredWorkshops = groupedCheckout diff --git a/CompanyManagment.EFCore/Repository/LeftWorkRepository.cs b/CompanyManagment.EFCore/Repository/LeftWorkRepository.cs index 08caa664..05a03e05 100644 --- a/CompanyManagment.EFCore/Repository/LeftWorkRepository.cs +++ b/CompanyManagment.EFCore/Repository/LeftWorkRepository.cs @@ -652,7 +652,8 @@ public class LeftWorkRepository : RepositoryBase, ILeftWorkRepos public List SearchCreateContract(LeftWorkSearchModel searchModel) { var vipGroup = _context.CustomizeWorkshopEmployeeSettings.Where(x => x.CustomizeWorkshopGroupSettingId == 117) - .Select(x => x.EmployeeId).ToList(); + .Select(x => x.EmployeeId) + .Except([5976]).ToList(); var query = _context.LeftWorkList.Select(x => new LeftWorkViewModel() { Id = x.id,