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,