From f227665aed00fc5430387c10d38e3a77aa70e418 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Wed, 2 Apr 2025 17:23:36 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=A7=BB=E9=99=A4brand=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaskAssignment/Dto/TaskDto.cs | 1 - .../Request/DeviceTaskGetRequest.cs | 24 ++----------------- .../Response/DeviceTaskToDeviceResponse.cs | 5 ---- .../Services/Implements/AssignmentService.cs | 24 +++++-------------- 4 files changed, 8 insertions(+), 46 deletions(-) diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Dto/TaskDto.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Dto/TaskDto.cs index 821c198d..b996d749 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Dto/TaskDto.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Dto/TaskDto.cs @@ -11,7 +11,6 @@ public class TaskDto public DeviceTaskEnumType Type { get; set; } public string DeviceUniqueNo { get; set; } public string DeviceConnectionInfo { get; set; } - public string Brand { get; set; } public string FuncStr { get; set; } public string UserNo { get; set; } diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Request/DeviceTaskGetRequest.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Request/DeviceTaskGetRequest.cs index f1c637f9..24745d7b 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Request/DeviceTaskGetRequest.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Request/DeviceTaskGetRequest.cs @@ -1,17 +1,10 @@ -using System.ComponentModel.DataAnnotations; -using Dlhis.Entity.Device.Enums; +using Dlhis.Entity.Device.Enums; using Kurisu.AspNetCore.DataAccess.Dto; -using Kurisu.AspNetCore.Utils.Extensions; namespace Dlhis.ScheduledTask.TaskAssignment.Request; -public class DeviceTaskGetRequest : PageDto, IValidatableObject +public class DeviceTaskGetRequest : PageDto { - /// - /// 品牌 - /// - public string Brand { get; set; } - /// /// 设备号 /// @@ -26,17 +19,4 @@ public class DeviceTaskGetRequest : PageDto, IValidatableObject /// 获取处理中的任务 /// public bool IsProcess { get; set; } = false; - - /// - /// 厂区 - /// - public string Factory { get; set; } - - public IEnumerable Validate(ValidationContext validationContext) - { - if (Brand.IsEmpty() && DeviceUniqueNo.IsEmpty() && Factory.IsEmpty()) - { - yield return new ValidationResult("设备品牌,设备号和厂区不能都为空", new[] { nameof(Brand), nameof(DeviceUniqueNo), nameof(Factory) }); - } - } } \ No newline at end of file diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/DeviceTaskToDeviceResponse.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Response/DeviceTaskToDeviceResponse.cs index 2ce0d786..16472333 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/DeviceTaskToDeviceResponse.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Response/DeviceTaskToDeviceResponse.cs @@ -7,11 +7,6 @@ namespace Dlhis.ScheduledTask.TaskAssignment.Response; /// public class DeviceTaskToDeviceByDeviceResponse { - /// - /// 品牌 - /// - public string Brand { get; set; } - /// /// 设备唯一号 /// diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs index 8636b404..fe27168a 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs @@ -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> GetDataAsync(DeviceTaskGetRequest request) { - var factories = new List(); - if (request.Factory.IsPresent()) - { - factories = request.Factory.Split(',').ToList(); - } - var data = await CommonHelper.RetryAsync(async () => { var rows = await _dbContext.Queryable() .LeftJoin((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo) - .LeftJoin((deviceTask, device, deviceTemplate) => deviceTemplate.Code == device.TemplateCode) - .LeftJoin((deviceTask, device, deviceTemplate, ga) => deviceTask.UserNo == ga.No) - .LeftJoin((deviceTask, device, deviceTemplate, ga, gaLeave) => deviceTask.UserNo == gaLeave.No) - .LeftJoin((deviceTask, device, deviceTemplate, ga, gaLeave, department) => department.No == ga.DepartmentNo) - .LeftJoin((deviceTask, device, deviceTemplate, ga, gaLeave, department, deviceRegistry) => deviceRegistry.DeviceUniqueNo == deviceTask.DeviceUniqueNo) + .LeftJoin((deviceTask, device, ga) => deviceTask.UserNo == ga.No) + .LeftJoin((deviceTask, device, ga, gaLeave) => deviceTask.UserNo == gaLeave.No) + .LeftJoin((deviceTask, device, ga, gaLeave, department) => department.No == ga.DepartmentNo) + .LeftJoin((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),