fix 移除brand查询
This commit is contained in:
@@ -47,10 +47,9 @@ public class AssignmentService : IAssignmentService
|
||||
.CreateProtector("down:face")
|
||||
.ToTimeLimitedDataProtector();
|
||||
|
||||
return data.GroupBy(x => new { x.Brand, x.DeviceUniqueNo, x.DeviceConnectionInfo, x.FuncStr })
|
||||
return data.GroupBy(x => new { x.DeviceUniqueNo, x.DeviceConnectionInfo, x.FuncStr })
|
||||
.Select(x =>
|
||||
{
|
||||
var b = x.Key.Brand;
|
||||
var d = x.Key.DeviceUniqueNo;
|
||||
var dc = x.Key.DeviceConnectionInfo ?? "{}";
|
||||
var func = x.Key.FuncStr ?? "[]";
|
||||
@@ -63,7 +62,6 @@ public class AssignmentService : IAssignmentService
|
||||
|
||||
return new DeviceTaskToDeviceByDeviceResponse
|
||||
{
|
||||
Brand = b,
|
||||
DeviceUniqueNo = d,
|
||||
DeviceInfo = jObj,
|
||||
Tasks = x.Select(item =>
|
||||
@@ -243,36 +241,27 @@ public class AssignmentService : IAssignmentService
|
||||
|
||||
private async Task<List<TaskDto>> GetDataAsync(DeviceTaskGetRequest request)
|
||||
{
|
||||
var factories = new List<string>();
|
||||
if (request.Factory.IsPresent())
|
||||
{
|
||||
factories = request.Factory.Split(',').ToList();
|
||||
}
|
||||
|
||||
var data = await CommonHelper.RetryAsync(async () =>
|
||||
{
|
||||
var rows = await _dbContext.Queryable<DeviceTaskEntity>()
|
||||
.LeftJoin<DeviceEntity>((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo)
|
||||
.LeftJoin<DeviceTemplateEntity>((deviceTask, device, deviceTemplate) => deviceTemplate.Code == device.TemplateCode)
|
||||
.LeftJoin<GainfoEntity>((deviceTask, device, deviceTemplate, ga) => deviceTask.UserNo == ga.No)
|
||||
.LeftJoin<GainfoLeaveEntity>((deviceTask, device, deviceTemplate, ga, gaLeave) => deviceTask.UserNo == gaLeave.No)
|
||||
.LeftJoin<DepartmentEntity>((deviceTask, device, deviceTemplate, ga, gaLeave, department) => department.No == ga.DepartmentNo)
|
||||
.LeftJoin<DeviceRegistryEntity>((deviceTask, device, deviceTemplate, ga, gaLeave, department, deviceRegistry) => deviceRegistry.DeviceUniqueNo == deviceTask.DeviceUniqueNo)
|
||||
.LeftJoin<GainfoEntity>((deviceTask, device, ga) => deviceTask.UserNo == ga.No)
|
||||
.LeftJoin<GainfoLeaveEntity>((deviceTask, device, ga, gaLeave) => deviceTask.UserNo == gaLeave.No)
|
||||
.LeftJoin<DepartmentEntity>((deviceTask, device, ga, gaLeave, department) => department.No == ga.DepartmentNo)
|
||||
.LeftJoin<DeviceRegistryEntity>((deviceTask, device, ga, gaLeave, department, deviceRegistry) => deviceRegistry.DeviceUniqueNo == deviceTask.DeviceUniqueNo)
|
||||
.Where((deviceTask, device) => device.Enable)
|
||||
.WhereIF(!request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Wait)
|
||||
.WhereIF(request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Process
|
||||
&& SqlFunc.DateDiff(DateType.Minute, deviceTask.ModifiedTime, DateTime.Now) > 10)
|
||||
.WhereIF(request.DeviceUniqueNo.IsPresent(), (deviceTask, device) => deviceTask.DeviceUniqueNo == request.DeviceUniqueNo)
|
||||
.WhereIF(factories.Any(), (deviceTask, device) => factories.Contains(deviceTask.TenantId))
|
||||
.WhereIF(request.Types.IsPresent(), deviceTask => request.Types.Contains(deviceTask.Type))
|
||||
.WhereIF(request.Brand.IsPresent(), (deviceTask, device, deviceTemplate) => deviceTemplate.Brand == request.Brand)
|
||||
.Where((deviceTask, device, deviceTemplate) => deviceTask.Version < 10)
|
||||
#if !DEBUG
|
||||
.Where((deviceTask, device, deviceTemplate, ga, gaLeave, department, deviceRegistry) =>
|
||||
device.HeartbeatInterval == 0 || SqlFunc.DateAdd(deviceRegistry.LastHeartbeatTime, device.HeartbeatInterval, DateType.Second) > DateTime.Now)
|
||||
#endif
|
||||
.OrderBy(deviceTask => new { deviceTask.CreateTime, Priority = SqlFunc.Desc(deviceTask.Priority) })
|
||||
.Select((deviceTask, device, deviceTemplate, ga, gaLeave, department) => new TaskDto
|
||||
.Select((deviceTask, device, ga, gaLeave, department) => new TaskDto
|
||||
{
|
||||
UserId = deviceTask.UserId == 0 || deviceTask.UserId == null
|
||||
? ga.Id == 0
|
||||
@@ -284,7 +273,6 @@ public class AssignmentService : IAssignmentService
|
||||
UserType = ga.Type,
|
||||
DeviceUniqueNo = deviceTask.DeviceUniqueNo,
|
||||
DeviceConnectionInfo = device.ConnectionInfo,
|
||||
Brand = deviceTemplate.Brand,
|
||||
FuncStr = device.Funcs.ToString(),
|
||||
UserNo = deviceTask.UserNo,
|
||||
UserCode = SqlFunc.IsNull(SqlFunc.IsNull(ga.Code, gaLeave.Code), deviceTask.UserNo),
|
||||
|
||||
Reference in New Issue
Block a user