From ce4a3409e95b6c5bc794de09dbf3fb7dd09b34c7 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 9 Apr 2024 22:46:30 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BC=98=E5=8C=96=E4=BB=BB=E5=8A=A1,?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Implements/DevicePermissionService.cs | 6 ++++++ .../Services/Implements/GainfoPermissionService.cs | 1 + Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs | 6 ++++++ .../Jobs/CreateSyncServerDateTimeJob.cs | 1 + .../Services/Implements/DeviceTaskAssignmentService.cs | 10 ++++------ 5 files changed, 18 insertions(+), 6 deletions(-) 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 {