fix 增加是否离职参数
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
using System.Linq.Expressions;
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Dlhis.Entity.Device.Entities;
|
||||
using Dlhis.Entity.Device.Enums;
|
||||
using Dlhis.ScheduledTask.DeviceUploadLog.Request;
|
||||
using Dlhis.ScheduledTask.DeviceUploadLog.Response;
|
||||
using Kurisu.AspNetCore.CustomClass;
|
||||
using Kurisu.AspNetCore.DataAccess.Dto;
|
||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
|
||||
@@ -25,19 +25,19 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
|
||||
public async Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request)
|
||||
{
|
||||
DeviceUploadLogTypeEnumType? type = request.Type == DeviceTypeEnumType.Attendance
|
||||
? DeviceUploadLogTypeEnumType.Attendance
|
||||
: request.Type == DeviceTypeEnumType.Door
|
||||
? DeviceUploadLogTypeEnumType.Door
|
||||
: null;
|
||||
DeviceUploadLogTypeEnumType? type = request.Type switch
|
||||
{
|
||||
DeviceTypeEnumType.Attendance => DeviceUploadLogTypeEnumType.Attendance,
|
||||
DeviceTypeEnumType.Door => DeviceUploadLogTypeEnumType.Door,
|
||||
_ => null
|
||||
};
|
||||
|
||||
return await _dbContext.Queryable<DeviceUploadLogEntity>()
|
||||
.LeftJoin<DeviceEntity>((deviceUp, device) => deviceUp.DeviceUniqueNo == device.UniqueNo)
|
||||
.LeftJoin<GainfoEntity>((deviceUp, device, ga) => deviceUp.UserUniqueNo == ga.Code)
|
||||
.WhereIF(type.HasValue, (deviceUp, device) => deviceUp.Type == type)
|
||||
.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.SearchDateTimePeriod.HasValue(), deviceUp => deviceUp.RaiseDateTime >= request.SearchDateTimePeriod.Start && 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) =>
|
||||
@@ -112,17 +112,13 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
(uniqueNos.Count != devices.Count).ThrowIfTrue("存在非考勤和门禁的设备");
|
||||
|
||||
var tenantId = devices.FirstOrDefault().TenantId;
|
||||
var logs = new List<DeviceUploadLogEntity>(requests.Count);
|
||||
foreach (var request in requests)
|
||||
var logs = requests.Select(request => new DeviceUploadLogEntity
|
||||
{
|
||||
logs.Add(new DeviceUploadLogEntity
|
||||
{
|
||||
DeviceUniqueNo = request.DeviceUniqueNo,
|
||||
Type = DeviceUploadLogTypeEnumType.Raise,
|
||||
RaiseDateTime = request.Begin,
|
||||
TenantId = tenantId
|
||||
});
|
||||
}
|
||||
DeviceUniqueNo = request.DeviceUniqueNo,
|
||||
Type = DeviceUploadLogTypeEnumType.Raise,
|
||||
RaiseDateTime = request.Begin,
|
||||
TenantId = tenantId
|
||||
}).ToList();
|
||||
|
||||
await _dbContext.InsertAsync(logs);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user