fix 查询离职人员时间段
This commit is contained in:
@@ -5,7 +5,10 @@ namespace Dlhis.Basic.Organization.Request;
|
|||||||
|
|
||||||
public class GainfoMealPageRequest : PageDto
|
public class GainfoMealPageRequest : PageDto
|
||||||
{
|
{
|
||||||
public DateTimePeriod DateTimePeriod { get; set; }
|
/// <summary>
|
||||||
|
/// 查询日期,生效于离职人员IsLeave = true
|
||||||
|
/// </summary>
|
||||||
|
public DateTimePeriod SearchDateTimePeriod { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否离职
|
/// 是否离职
|
||||||
|
|||||||
@@ -34,17 +34,16 @@ public class GainfoMealService : IGainfoMealService
|
|||||||
.LeftJoin<GainfoEntity>((meal, gainfo) => meal.UserCode == gainfo.Code)
|
.LeftJoin<GainfoEntity>((meal, gainfo) => meal.UserCode == gainfo.Code)
|
||||||
.LeftJoin<GainfoLeaveEntity>((meal, gainfo, gainfoLeave) => meal.UserCode == gainfoLeave.Code)
|
.LeftJoin<GainfoLeaveEntity>((meal, gainfo, gainfoLeave) => meal.UserCode == gainfoLeave.Code)
|
||||||
.LeftJoin<DepartmentEntity>((meal, gainfo, gainfoLeave, dept1) => dept1.No == gainfo.DepartmentNo)
|
.LeftJoin<DepartmentEntity>((meal, gainfo, gainfoLeave, dept1) => dept1.No == gainfo.DepartmentNo)
|
||||||
.LeftJoin<DepartmentEntity>((meal, gainfo, gainfoLeave, dept1, dept2) => dept2.No == gainfo.DepartmentNo)
|
.LeftJoin<DepartmentEntity>((meal, gainfo, gainfoLeave, dept1, dept2) => dept2.No == gainfoLeave.DepartmentNo)
|
||||||
.WhereIF(request.Search.IsPresent(), (meal, gainfo, gainfoLeave, dept1, dept2) => meal.UserCode == request.Search
|
.WhereIF(request.Search.IsPresent(), (meal, gainfo, gainfoLeave, dept1, dept2) => meal.UserCode == request.Search
|
||||||
|| gainfo.Name.Contains(request.Search)
|
|| gainfo.Name == request.Search
|
||||||
|| gainfoLeave.Name.Contains(request.Search))
|
|| gainfoLeave.Name == request.Search)
|
||||||
.Where((meal, gainfo, gainfoLeave) => gainfo.Factory == tenantId || gainfoLeave.Factory == tenantId)
|
.Where((meal, gainfo, gainfoLeave) => gainfo.Factory == tenantId || gainfoLeave.Factory == tenantId)
|
||||||
.WhereIF(request.IsLeave, (meal, gainfo, gainfoLeave) => SqlFunc.Subqueryable<GainfoLeaveEntity>().Where(x => x.Code == meal.UserCode).Any())
|
.WhereIF(request.IsLeave, (meal, gainfo, gainfoLeave) => SqlFunc.Subqueryable<GainfoLeaveEntity>().Where(x => x.Code == meal.UserCode).Any())
|
||||||
|
.WhereIF(request.IsLeave && request.SearchDateTimePeriod.HasValue(), (meal, gainfo, gainfoLeave) => gainfoLeave.ResignationDate >= request.SearchDateTimePeriod.Start && gainfoLeave.ResignationDate <= request.SearchDateTimePeriod.End)
|
||||||
.Select((meal, gainfo, gainfoLeave, dept1, dept2) => new GainfoMealResponse
|
.Select((meal, gainfo, gainfoLeave, dept1, dept2) => new GainfoMealResponse
|
||||||
{
|
{
|
||||||
Balance = meal.Balance,
|
Balance = meal.Balance,
|
||||||
// BalanceOfRecharge = meal.BalanceOfRecharge,
|
|
||||||
// BalanceOfSubsidies = meal.BalanceOfSubsidies,
|
|
||||||
UserCode = meal.UserCode,
|
UserCode = meal.UserCode,
|
||||||
UserName = SqlFunc.IsNull(gainfo.Name, gainfoLeave.Name),
|
UserName = SqlFunc.IsNull(gainfo.Name, gainfoLeave.Name),
|
||||||
UserNo = SqlFunc.IsNull(gainfo.No, gainfoLeave.No),
|
UserNo = SqlFunc.IsNull(gainfo.No, gainfoLeave.No),
|
||||||
@@ -56,7 +55,7 @@ public class GainfoMealService : IGainfoMealService
|
|||||||
var userCodes = page.Data.Select(x => x.UserCode).ToList();
|
var userCodes = page.Data.Select(x => x.UserCode).ToList();
|
||||||
var summary = await _dbContext.Queryable<MealSupplementRecordEntity>()
|
var summary = await _dbContext.Queryable<MealSupplementRecordEntity>()
|
||||||
.Where(x => userCodes.Contains(x.Code))
|
.Where(x => userCodes.Contains(x.Code))
|
||||||
.WhereIF(request.DateTimePeriod.HasValue(), x => x.Date >= request.DateTimePeriod.Start && x.Date <= request.DateTimePeriod.End)
|
.WhereIF(request.SearchDateTimePeriod.HasValue(), x => x.Date >= request.SearchDateTimePeriod.Start && x.Date <= request.SearchDateTimePeriod.End)
|
||||||
.GroupBy(x => x.Code)
|
.GroupBy(x => x.Code)
|
||||||
.Select(x => new
|
.Select(x => new
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user