diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 3a27b23d..bb026dec 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -132,6 +132,8 @@ public class DevicePermissionService : IDevicePermissionService DeviceUniqueNo = deivces.First(item => item.Code == x).UniqueNo, Status = DeviceTaskStatusEnumType.Wait, Type = DeviceTaskEnumType.Delete, + CancellationId = 0, + DeviceType = deivces.First(item => item.Code == x).Type, UserNo = userNo, Version = 0, TenantId = tenant, @@ -142,6 +144,7 @@ public class DevicePermissionService : IDevicePermissionService DeviceUniqueNo = deivces.First(item => item.Code == x).UniqueNo, Status = DeviceTaskStatusEnumType.Wait, Type = DeviceTaskEnumType.Add, + DeviceType = deivces.First(item => item.Code == x).Type, UserNo = userNo, Version = 0, TenantId = tenant, @@ -222,6 +225,7 @@ public class DevicePermissionService : IDevicePermissionService DeviceUniqueNo = deivces.First(item => item.Code == x).UniqueNo, Status = DeviceTaskStatusEnumType.Wait, Type = DeviceTaskEnumType.Delete, + DeviceType = deivces.First(item => item.Code == x).Type, UserNo = userNo, Version = 0, TenantId = tenant, @@ -232,6 +236,7 @@ public class DevicePermissionService : IDevicePermissionService DeviceUniqueNo = deivces.First(item => item.Code == x).UniqueNo, Status = DeviceTaskStatusEnumType.Wait, Type = DeviceTaskEnumType.Add, + DeviceType = deivces.First(item => item.Code == x).Type, UserNo = userNo, Version = 0, TenantId = tenant, @@ -264,6 +269,7 @@ public class DevicePermissionService : IDevicePermissionService DeviceUniqueNo = x.UniqueNo, Status = DeviceTaskStatusEnumType.Wait, Type = taskType, + DeviceType = x.Type, UserNo = userNo, CancellationId = 0, Version = 0, diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs index 8e2354b3..d09c024e 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs @@ -229,6 +229,7 @@ public class GainfoPermissionService : IGainfoPermissionService Status = DeviceTaskStatusEnumType.Wait, UserNo = request.UserNo, Type = request.IsLeave ? DeviceTaskEnumType.Delete : DeviceTaskEnumType.Add, + DeviceType = x.Type, TenantId = gainfo.Factory, }) .ToList(); diff --git a/Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs b/Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs index aa5c0d9c..18c42cbe 100644 --- a/Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs +++ b/Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs @@ -18,6 +18,12 @@ public class DeviceTaskEntity : SugarBaseEntity, ITenantId, IVersion [SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] public DeviceTaskEnumType Type { get; set; } + /// + /// 设备类型 + /// + [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] + public DeviceTypeEnumType? DeviceType { get; set; } + /// /// 用户id /// diff --git a/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs b/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs index 62f6614c..a80f2e60 100644 --- a/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs +++ b/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs @@ -40,6 +40,7 @@ public class CreateSyncServerDateTimeJob : BaseJob Version = 0, UserNo = string.Empty, Type = DeviceTaskEnumType.SyncDateTime, + DeviceType = x.Type, CreatedBy = 1, CreateTime = DateTime.Now, diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index 4fa6f325..2d0b899a 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -28,16 +28,14 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService var page = await _dbContext.Queryable() .LeftJoin((deviceTask, ga) => deviceTask.UserNo == ga.No) .LeftJoin((deviceTask, ga, device) => deviceTask.DeviceUniqueNo == device.UniqueNo) + .WhereIF(request.TaskTypes.IsPresent(), deviceTask => request.TaskTypes.Contains(deviceTask.Type)) + .WhereIF(request.Status.IsPresent(), deviceTask => request.Status.Contains(deviceTask.Status)) + .WhereIF(request.Type.HasValue, (deviceTask, ga, device) => deviceTask.DeviceType == request.Type) .WhereIF(!request.Search.IsEmpty(), (deviceTask, ga, device) => - deviceTask.UserNo == request.Search - || ga.Name.Contains(request.Search) + ga.Name == request.Search || ga.Code == request.Search || deviceTask.DeviceUniqueNo == request.Search ) - .WhereIF(request.TaskTypes.IsPresent(), deviceTask => request.TaskTypes.Contains(deviceTask.Type)) - .WhereIF(request.Type.HasValue, (deviceTask, ga, device) => device.Type == request.Type) - .WhereIF(request.Status.IsPresent(), deviceTask => request.Status.Contains(deviceTask.Status)) - .Where(deviceTask => 1 == 1) .OrderBy(deviceTask => deviceTask.CreateTime, OrderByType.Desc) .Select((deviceTask, ga, device) => new DeviceTaskAssignmentResponse {