fix : admin monthly overview
This commit is contained in:
@@ -245,24 +245,51 @@ public class AdminMonthlyOverviewRepository : RepositoryBase<long, AdminMonthlyO
|
||||
|
||||
|
||||
var workingCheckoutEmployeeIds = GetWorkingCheckoutEmployeeIds(workshopIds, targetStartDate, targetEndDate, vipGroup);
|
||||
|
||||
var workingContractEmployeeIds = _companyContext.LeftWorkList.AsNoTracking().
|
||||
GroupJoin(_companyContext.EmployeeComputeOptionsSet.Where(o => workshopIds.Contains(o.WorkshopId)),
|
||||
//var workingCheckoutEmployeeIds = _companyContext.LeftWorkList.AsNoTracking()
|
||||
// .Join(
|
||||
// _companyContext.Contracts.AsNoTracking(),
|
||||
// leftWork => new { leftWork.EmployeeId, WorkshopId = leftWork.WorkshopId },
|
||||
// contract => new { contract.EmployeeId, WorkshopId = contract.WorkshopIds },
|
||||
// (leftWork, contract) => new { leftWork, contract }
|
||||
// )
|
||||
// .Where(x =>
|
||||
// workshopIds.Contains(x.leftWork.WorkshopId) &&
|
||||
// x.leftWork.StartWorkDate <= targetEndDate &&
|
||||
// x.leftWork.LeftWorkDate.AddDays(-1) >= targetStartDate &&
|
||||
// x.contract.ContarctStart <= targetEndDate &&
|
||||
// x.contract.ContractEnd >= targetStartDate &&
|
||||
// !vipGroup.Contains(x.leftWork.EmployeeId) &&
|
||||
// !_companyContext.EmployeeClientTemps
|
||||
// .Any(temp => temp.EmployeeId == x.leftWork.EmployeeId && temp.WorkshopId == x.leftWork.WorkshopId)
|
||||
// )
|
||||
// .Select(x => new { x.leftWork.WorkshopId, x.leftWork.EmployeeId });
|
||||
|
||||
|
||||
|
||||
var workingContractEmployeeIds = _companyContext.LeftWorkList.AsNoTracking()
|
||||
.Where(x => workshopIds.Contains(x.WorkshopId) && x.StartWorkDate <= nextEndMonth && x.LeftWorkDate.AddDays(-1) >= nextStartMonth &&
|
||||
!vipGroup.Contains(x.EmployeeId) &&
|
||||
!_companyContext.EmployeeClientTemps
|
||||
.Any(temp => temp.EmployeeId == x.EmployeeId && temp.WorkshopId == x.WorkshopId))
|
||||
.GroupJoin(_companyContext.EmployeeComputeOptionsSet.Where(o => workshopIds.Contains(o.WorkshopId)),
|
||||
x => new { x.EmployeeId, x.WorkshopId },
|
||||
option => new { option.EmployeeId, option.WorkshopId },
|
||||
(x, options) => new { LeftWork = x, options })
|
||||
.SelectMany(
|
||||
x => x.options.DefaultIfEmpty(),
|
||||
(x, option) => new { x.LeftWork, option })
|
||||
.Where(x => workshopIds.Contains(x.LeftWork.WorkshopId) && x.LeftWork.StartWorkDate <= nextEndMonth && x.LeftWork.LeftWorkDate.AddDays(-1) >= nextStartMonth &&
|
||||
!vipGroup.Contains(x.LeftWork.EmployeeId) &&
|
||||
!_companyContext.EmployeeClientTemps
|
||||
.Any(temp => temp.EmployeeId == x.LeftWork.EmployeeId && temp.WorkshopId == x.LeftWork.WorkshopId) &&
|
||||
x.option != null ?
|
||||
x.option.CreateCheckout
|
||||
: x.LeftWork.Workshop.CreateCheckout)
|
||||
.Where(x => x.option != null ? x.option.CreateContract
|
||||
: x.LeftWork.Workshop.CreateContract)
|
||||
.Select(x => new { x.LeftWork.WorkshopId, x.LeftWork.EmployeeId });
|
||||
|
||||
|
||||
//var workingContractEmployeeIds = _companyContext.LeftWorkList.AsNoTracking()
|
||||
// .Where(x => workshopIds.Contains(x.WorkshopId) && x.StartWorkDate <= nextEndMonth && x.LeftWorkDate.AddDays(-1) >= nextStartMonth &&
|
||||
// !vipGroup.Contains(x.EmployeeId) &&
|
||||
// !_companyContext.EmployeeClientTemps
|
||||
// .Any(temp => temp.EmployeeId == x.EmployeeId && temp.WorkshopId == x.WorkshopId)
|
||||
// ).Select(x => new { x.WorkshopId, x.EmployeeId });
|
||||
|
||||
var contractSet = (await _companyContext.Contracts.AsNoTracking()
|
||||
.Where(x => x.ContarctStart <= nextEndMonth && x.ContractEnd >= nextStartMonth && workshopIds.Contains(x.WorkshopIds))
|
||||
.Select(x => new { x.WorkshopIds, x.EmployeeId })
|
||||
@@ -370,7 +397,8 @@ public class AdminMonthlyOverviewRepository : RepositoryBase<long, AdminMonthlyO
|
||||
// ? x.option.CreateCheckout
|
||||
// : x.leftWork.Workshop.CreateCheckout
|
||||
// )
|
||||
// .Select(x => new { x.leftWork.WorkshopId, x.leftWork.EmployeeId });
|
||||
// .Select(x => new { x.leftWork.WorkshopId, x.leftWork.EmployeeId }).AsEnumerable()
|
||||
// .Select(x=>(x.WorkshopId,x.EmployeeId)).ToList();
|
||||
|
||||
|
||||
var chcekoutLeftWorks = _companyContext.LeftWorkList
|
||||
|
||||
Reference in New Issue
Block a user