fix 外包人员,餐补导入,人员列表
This commit is contained in:
@@ -18,6 +18,11 @@ public class DeviceUploadLogPageRequest : PageDto, IValidatableObject
|
||||
/// </summary>
|
||||
public bool? Sync { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否为外包
|
||||
/// </summary>
|
||||
public bool? IsOutSource { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 日期范围查询
|
||||
/// </summary>
|
||||
|
||||
@@ -27,8 +27,9 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
{
|
||||
DeviceUploadLogTypeEnumType? type = request.Type == DeviceTypeEnumType.Attendance
|
||||
? DeviceUploadLogTypeEnumType.Attendance
|
||||
: request.Type == DeviceTypeEnumType.Door ? DeviceUploadLogTypeEnumType.Door
|
||||
: null;
|
||||
: request.Type == DeviceTypeEnumType.Door
|
||||
? DeviceUploadLogTypeEnumType.Door
|
||||
: null;
|
||||
|
||||
return await _dbContext.Queryable<DeviceUploadLogEntity>()
|
||||
.LeftJoin<DeviceEntity>((deviceUp, device) => deviceUp.DeviceUniqueNo == device.UniqueNo)
|
||||
@@ -37,10 +38,12 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
.WhereIF(request.Sync.HasValue, deviceUp => deviceUp.Sync == request.Sync)
|
||||
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, deviceUp => deviceUp.RaiseDateTime >= request.SearchDateTimePeriod.Start)
|
||||
.WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, deviceUp => deviceUp.RaiseDateTime <= request.SearchDateTimePeriod.End)
|
||||
.WhereIF(request.IsOutSource.HasValue && request.IsOutSource.Value, deviceUp => SqlFunc.Subqueryable<OutSourceEntity>().Where(x => x.Code == deviceUp.UserUniqueNo).Any())
|
||||
.WhereIF(request.IsOutSource.HasValue && !request.IsOutSource.Value, deviceUp => SqlFunc.Subqueryable<OutSourceEntity>().Where(x => x.Code == deviceUp.UserUniqueNo).NotAny())
|
||||
.WhereIF(request.Search.IsPresent(), (deviceUp, device, ga) =>
|
||||
ga.Code == request.Search
|
||||
|| ga.Name == request.Search
|
||||
|| deviceUp.DeviceUniqueNo == request.Search
|
||||
ga.Code == request.Search
|
||||
|| ga.Name == request.Search
|
||||
|| deviceUp.DeviceUniqueNo == request.Search
|
||||
)
|
||||
.OrderBy(deviceUp => deviceUp.CreateTime, OrderByType.Desc)
|
||||
.Select((deviceUp, device, ga) => new DeviceUploadLogResponse
|
||||
@@ -65,10 +68,7 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
{
|
||||
//判断存在的记录
|
||||
Expression<Func<DeviceUploadLogEntity, bool>> where = LinqExpressionExtensions.False<DeviceUploadLogEntity>();
|
||||
requests.ForEach(p =>
|
||||
{
|
||||
where = where.Or(x => x.DeviceUniqueNo == p.DeviceUniqueNo && x.SerialNo == p.SerialNo && x.RaiseDateTime == p.RaiseDateTime);
|
||||
});
|
||||
requests.ForEach(p => { where = where.Or(x => x.DeviceUniqueNo == p.DeviceUniqueNo && x.SerialNo == p.SerialNo && x.RaiseDateTime == p.RaiseDateTime); });
|
||||
|
||||
//处理冗余的请求数据
|
||||
var exists = await _dbContext.Queryable<DeviceUploadLogEntity>().Where(where).ToListAsync();
|
||||
@@ -94,12 +94,10 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
Type = device.Type == DeviceTypeEnumType.Attendance ? DeviceUploadLogTypeEnumType.Attendance : DeviceUploadLogTypeEnumType.Door,
|
||||
|
||||
TenantId = device.TenantId,
|
||||
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}).Where(x => x != null).ToList();
|
||||
|
||||
await _dbContext.InsertAsync(records);
|
||||
@@ -130,4 +128,4 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
|
||||
await _dbContext.InsertAsync(logs);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user