Kebab mahdi VIP group

This commit is contained in:
MahanCh
2025-05-27 20:06:06 +03:30
parent 2db6a9695c
commit 04e51fe3b5
2 changed files with 12 additions and 7 deletions

View File

@@ -233,8 +233,12 @@ public class AdminMonthlyOverviewRepository : RepositoryBase<long, AdminMonthlyO
private async Task UpdateAdminMonthlyOverviewStatus(int year, int month, List<long> 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<long, AdminMonthlyO
x.leftWork.LeftWorkDate.AddDays(-1) >= 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<long, AdminMonthlyO
Data = x.ToList()
}).ToList();
var workshopsContractWithoutEmployees = workshopIds.Except(workingContractGrouping.Select(x => 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<long, AdminMonthlyO
.Select(g => g.Key)
.ToList();
var fullyCoveredWorkshops = workshopsWithFullContracts.Intersect(workshopsWithFullCheckout).ToList();
//var notFullyCoveredWorkshops = groupedCheckout

View File

@@ -652,7 +652,8 @@ public class LeftWorkRepository : RepositoryBase<long, LeftWork>, ILeftWorkRepos
public List<LeftWorkViewModel> 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,