fix 查询过滤
This commit is contained in:
@@ -1,7 +0,0 @@
|
|||||||
namespace Dlhis.Basic.Device.Request
|
|
||||||
{
|
|
||||||
public class GeneratePermissionIdRequest
|
|
||||||
{
|
|
||||||
public long Id { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
using Dlhis.Basic.Device.Request;
|
using Dlhis.Basic.Device.Request;
|
||||||
using Dlhis.Basic.Organization.Dto;
|
using Dlhis.Basic.Organization.Dto;
|
||||||
using Dlhis.Entity.Device.Enums;
|
using Dlhis.Entity.Device.Enums;
|
||||||
using Dlhis.Entity.Sys.Enums;
|
|
||||||
using Kurisu.AspNetCore.DataAccess.Dto;
|
using Kurisu.AspNetCore.DataAccess.Dto;
|
||||||
|
|
||||||
namespace Dlhis.Basic.Device.Services;
|
namespace Dlhis.Basic.Device.Services;
|
||||||
|
|||||||
@@ -24,5 +24,5 @@ public enum DeviceAssignmentTypeEnumType
|
|||||||
/// 营业点
|
/// 营业点
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("营业点")]
|
[Description("营业点")]
|
||||||
BusinessPlace = 3,
|
BusinessPlace = 3
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,27 +45,4 @@ public class DeviceUploadLogsController : ControllerBase
|
|||||||
{
|
{
|
||||||
await _deviceUploadLogService.UploadLogsAsync(requests);
|
await _deviceUploadLogService.UploadLogsAsync(requests);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 设置设备获取记录开始时间
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="requests"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost("reset-begintime")]
|
|
||||||
[Transactional]
|
|
||||||
public async Task SetUploadLogsBeginDateTime(List<SetUploadLogsBeginDateTimeRequest> requests)
|
|
||||||
{
|
|
||||||
await _deviceUploadLogService.SetUploadLogsBeginDateTimeAsync(requests);
|
|
||||||
}
|
|
||||||
|
|
||||||
//[HttpPost("try")]
|
|
||||||
//public async Task<int> Test()
|
|
||||||
//{
|
|
||||||
// var dtoResult = await _devicePermissionApi.GetPermissionUsersInfoAsync();
|
|
||||||
// var dto = dtoResult.Data;
|
|
||||||
// var rResult = await _devicePermissionApi.RePermissionUsersInfoAsync(dto);
|
|
||||||
// var r = rResult.Data;
|
|
||||||
|
|
||||||
// return r;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,4 @@ public interface IDeviceUploadLogService : IScopeDependency
|
|||||||
Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request);
|
Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request);
|
||||||
|
|
||||||
Task UploadLogsAsync(List<DeviceUploadLogUploadRequest> requests);
|
Task UploadLogsAsync(List<DeviceUploadLogUploadRequest> requests);
|
||||||
|
|
||||||
Task SetUploadLogsBeginDateTimeAsync(List<SetUploadLogsBeginDateTimeRequest> requests);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,12 +15,10 @@ namespace Dlhis.ScheduledTask.DeviceUploadLog.Services.Implements;
|
|||||||
public class DeviceUploadLogService : IDeviceUploadLogService
|
public class DeviceUploadLogService : IDeviceUploadLogService
|
||||||
{
|
{
|
||||||
private readonly IDbContext _dbContext;
|
private readonly IDbContext _dbContext;
|
||||||
private readonly ILogger<DeviceUploadLogService> _logger;
|
|
||||||
|
|
||||||
public DeviceUploadLogService(IDbContext dbContext, ILogger<DeviceUploadLogService> logger)
|
public DeviceUploadLogService(IDbContext dbContext)
|
||||||
{
|
{
|
||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
_logger = logger;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request)
|
public async Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request)
|
||||||
@@ -29,13 +27,13 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
|||||||
{
|
{
|
||||||
DeviceTypeEnumType.Attendance => DeviceUploadLogTypeEnumType.Attendance,
|
DeviceTypeEnumType.Attendance => DeviceUploadLogTypeEnumType.Attendance,
|
||||||
DeviceTypeEnumType.Door => DeviceUploadLogTypeEnumType.Door,
|
DeviceTypeEnumType.Door => DeviceUploadLogTypeEnumType.Door,
|
||||||
_ => null
|
_ => throw new UserFriendlyException("不支持当前设备类型")
|
||||||
};
|
};
|
||||||
|
|
||||||
return await _dbContext.Queryable<DeviceUploadLogEntity>()
|
return await _dbContext.Queryable<DeviceUploadLogEntity>()
|
||||||
.LeftJoin<DeviceEntity>((deviceUp, device) => deviceUp.DeviceUniqueNo == device.UniqueNo)
|
.LeftJoin<DeviceEntity>((deviceUp, device) => deviceUp.DeviceUniqueNo == device.UniqueNo)
|
||||||
.LeftJoin<GainfoEntity>((deviceUp, device, ga) => deviceUp.UserUniqueNo == ga.Code)
|
.LeftJoin<GainfoEntity>((deviceUp, device, ga) => deviceUp.UserUniqueNo == ga.Code)
|
||||||
.WhereIF(type.HasValue, (deviceUp, device) => deviceUp.Type == type)
|
.Where((deviceUp, device) => deviceUp.Type == type)
|
||||||
.WhereIF(request.Sync.HasValue, deviceUp => deviceUp.Sync == request.Sync)
|
.WhereIF(request.Sync.HasValue, deviceUp => deviceUp.Sync == request.Sync)
|
||||||
.WhereIF(request.SearchDateTimePeriod.HasValue(), deviceUp => deviceUp.RaiseDateTime >= request.SearchDateTimePeriod.Start && 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).Any())
|
||||||
@@ -100,26 +98,4 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
|||||||
|
|
||||||
await _dbContext.InsertAsync(inserts);
|
await _dbContext.InsertAsync(inserts);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SetUploadLogsBeginDateTimeAsync(List<SetUploadLogsBeginDateTimeRequest> requests)
|
|
||||||
{
|
|
||||||
var uniqueNos = requests.DistinctBy(x => x.DeviceUniqueNo).Select(x => x.DeviceUniqueNo).ToList();
|
|
||||||
var devices = await _dbContext.Queryable<DeviceEntity>()
|
|
||||||
.Where(x => uniqueNos.Contains(x.UniqueNo))
|
|
||||||
.Where(x => x.Type == DeviceTypeEnumType.Attendance || x.Type == DeviceTypeEnumType.Door)
|
|
||||||
.ToListAsync();
|
|
||||||
|
|
||||||
(uniqueNos.Count != devices.Count).ThrowIfTrue("存在非考勤和门禁的设备");
|
|
||||||
|
|
||||||
var tenantId = devices.FirstOrDefault().TenantId;
|
|
||||||
var logs = requests.Select(request => new DeviceUploadLogEntity
|
|
||||||
{
|
|
||||||
DeviceUniqueNo = request.DeviceUniqueNo,
|
|
||||||
Type = DeviceUploadLogTypeEnumType.Raise,
|
|
||||||
RaiseDateTime = request.Begin,
|
|
||||||
TenantId = tenantId
|
|
||||||
}).ToList();
|
|
||||||
|
|
||||||
await _dbContext.InsertAsync(logs);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user