diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Request/DeviceTaskAssignmentRequest.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Request/DeviceTaskAssignmentRequest.cs index a7c196f0..d41b722e 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Request/DeviceTaskAssignmentRequest.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Request/DeviceTaskAssignmentRequest.cs @@ -1,7 +1,20 @@ -using Kurisu.Core.DataAccess.Dto; +using System.ComponentModel.DataAnnotations; +using Dlhis.Entity.Device.Enums; +using Kurisu.Core.DataAccess.Dto; namespace Dlhis.ScheduledTask.TaskAssignment.Request; public class DeviceTaskAssignmentRequest : PageDto { + /// + /// 任务类型 + /// + [EnumDataType(typeof(DeviceTaskEnumType))] + public DeviceTaskEnumType? Type { get; set; } + + /// + /// 任务下发状态 + /// + [EnumDataType(typeof(DeviceTaskStatusEnumType))] + public DeviceTaskStatusEnumType? Status { get; set; } } diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/DeviceTaskAssignmentResponse.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Response/DeviceTaskAssignmentResponse.cs index e525d6d3..96ae9243 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/DeviceTaskAssignmentResponse.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Response/DeviceTaskAssignmentResponse.cs @@ -5,6 +5,8 @@ namespace Dlhis.ScheduledTask.TaskAssignment.Response; public class DeviceTaskAssignmentResponse { + public long Id { get; set; } + /// /// 任务类型 /// diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index ce217e35..40f2386a 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -23,10 +23,13 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService { var page = await _dbContext.Queryable() .LeftJoin((deviceTask, ga) => deviceTask.UserNo == ga.No) - .WhereIF(!request.Search.IsEmpty(), deviceTask => deviceTask.UserNo == request.Search) + .WhereIF(!request.Search.IsEmpty(), (deviceTask, ga) => deviceTask.UserNo == request.Search || ga.Name.Contains(request.Search)) + .WhereIF(request.Type.HasValue, deviceTask => deviceTask.Type == request.Type) + .WhereIF(request.Status.HasValue, deviceTask => deviceTask.Status == request.Status) .OrderBy(deviceTask => deviceTask.CreateTime, OrderByType.Desc) .Select((deviceTask, ga) => new DeviceTaskAssignmentResponse { + Id = deviceTask.Id, DeviceUniqueNo = deviceTask.DeviceUniqueNo, ResultMessage = deviceTask.ResultMessage, RetryCount = deviceTask.Version,