From b1927ef9ca5de0ac9ca8a2184e0e84c2a44f641d Mon Sep 17 00:00:00 2001 From: cheche <717840555@qq.com> Date: Wed, 31 Jan 2024 17:32:00 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=AE=BE=E5=A4=87/=E7=BB=84=E6=96=B0?= =?UTF-8?q?=E5=9F=8E=E6=9E=9A=E4=B8=BE=E5=8F=8A=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Device/Request/DeviceGroupSaveRequest.cs | 10 ++++- .../Device/Request/DeviceSaveRequest.cs | 7 +++ .../Device/Response/DevicePageResponse.cs | 6 +++ .../Services/Implements/DeviceService.cs | 2 +- .../Enums/DeviceGroupFunctionEnumType.cs | 6 +++ .../DeviceTaskAssignmentsController.cs | 9 ---- .../Job/CreateGetAttendanceJob.cs | 12 +++++ .../Request/TaskRecordsRequest.cs | 24 ---------- .../Response/TaskDetailResponse.cs | 39 ---------------- .../Response/TaskRecordsResponse.cs | 28 ------------ .../Services/IDeviceTaskAssignmentService.cs | 1 - .../Implements/DeviceTaskAssignmentService.cs | 44 ------------------- 12 files changed, 41 insertions(+), 147 deletions(-) delete mode 100644 Src/Dlhis.ScheduledTask/TaskAssignment/Request/TaskRecordsRequest.cs delete mode 100644 Src/Dlhis.ScheduledTask/TaskAssignment/Response/TaskDetailResponse.cs delete mode 100644 Src/Dlhis.ScheduledTask/TaskAssignment/Response/TaskRecordsResponse.cs diff --git a/Src/Dlhis.Basic/Device/Request/DeviceGroupSaveRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceGroupSaveRequest.cs index 625b2134..2dc8e5b2 100644 --- a/Src/Dlhis.Basic/Device/Request/DeviceGroupSaveRequest.cs +++ b/Src/Dlhis.Basic/Device/Request/DeviceGroupSaveRequest.cs @@ -1,4 +1,5 @@ -using System.ComponentModel.DataAnnotations; +using Dlhis.Entity.Device.Enums; +using System.ComponentModel.DataAnnotations; namespace Dlhis.Basic.Device.Request; @@ -16,4 +17,11 @@ public class DeviceGroupSaveRequest /// [Required(ErrorMessage = "设备组名称不能为空")] public string Name { get; set; } + + /// + /// 设备组功能类型 + /// + [Required(ErrorMessage = "设备组功能类型不能为空")] + [EnumDataType(typeof(DeviceGroupFunctionEnumType))] + public DeviceGroupFunctionEnumType Type { get; set; } } diff --git a/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs index b1b9cade..02f923c1 100644 --- a/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs +++ b/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs @@ -32,6 +32,13 @@ public class DeviceSaveRequest [Required(ErrorMessage = "设备功能不能为空")] public List Funcs { get; set; } + /// + /// 设备机功能类型 + /// + [Required(ErrorMessage = "设备机功能类型不能为空")] + [EnumDataType(typeof(DeviceGroupFunctionEnumType))] + public DeviceGroupFunctionEnumType Type { get; set; } + /// /// 心跳间隔 /// diff --git a/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs b/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs index 3269982a..73955b65 100644 --- a/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs +++ b/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs @@ -1,5 +1,6 @@ using Dlhis.Entity.Device.Enums; using Kurisu.AspNetCore.Utils.Extensions; +using System.ComponentModel.DataAnnotations; namespace Dlhis.Basic.Device.Response; @@ -47,6 +48,11 @@ public class DevicePageResponse public string FuncsStr { get; set; } + /// + /// 设备机功能类型 + /// + public string TypeDescription { get; set; } + /// /// 部署点 /// diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs index c8255235..38cb83ea 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs @@ -32,7 +32,7 @@ public class DeviceService : IDeviceService { FuncsStr = d.Funcs.ToString(), Brand = dt.Brand, - + TypeDescription = d.Type.ToString(), }, true) .ToPageListAsync(request); diff --git a/Src/Dlhis.Entity/Device/Enums/DeviceGroupFunctionEnumType.cs b/Src/Dlhis.Entity/Device/Enums/DeviceGroupFunctionEnumType.cs index e7838266..02d27cf4 100644 --- a/Src/Dlhis.Entity/Device/Enums/DeviceGroupFunctionEnumType.cs +++ b/Src/Dlhis.Entity/Device/Enums/DeviceGroupFunctionEnumType.cs @@ -30,4 +30,10 @@ public enum DeviceGroupFunctionEnumType /// [Description("考勤")] Attendance = 3 , + + /// + /// 门禁并作为考勤 + /// + [Description("门禁并作为考勤")] + Access = 4, } diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/DeviceTaskAssignmentsController.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/DeviceTaskAssignmentsController.cs index de04a98b..c11add0f 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/DeviceTaskAssignmentsController.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/DeviceTaskAssignmentsController.cs @@ -33,13 +33,4 @@ public class DeviceTaskAssignmentsController : ControllerBase return await _deviceTaskAssignmentService.GetPageAsync(request); } - /// - /// (考勤/门禁/消费机)任务记录 - /// - /// - [HttpGet("taskrecords")] - public async Task> GetTaskRecords([FromQuery]TaskRecordsRequest request) - { - return await _deviceTaskAssignmentService.GetTaskRecords(request); - } } diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Job/CreateGetAttendanceJob.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Job/CreateGetAttendanceJob.cs index 9a0f8d8b..4a8f486f 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Job/CreateGetAttendanceJob.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Job/CreateGetAttendanceJob.cs @@ -26,6 +26,18 @@ public class CreateGetAttendanceJob var devices = await _dbContext.Queryable().Where(x => x.Enable).ToListAsync(); devices = devices.Where(x => x.Funcs.Contains(DeviceFuncEnumType.Attendance)).ToList(); + var ds = devices.Select(x => x.UniqueNo).ToList(); + + var b = await _dbContext.Queryable() + .Where(x => ds.Contains(x.DeviceUniqueNo)) + .Where(x => x.Type == DeviceTaskEnumType.UploadRecord) + .Where(x => x.Status == DeviceTaskStatusEnumType.Wait) + .AnyAsync(); + if (b) + { + return; + } + var tasks = devices.Select(x => new DeviceTaskEntity { DeviceUniqueNo = x.UniqueNo, diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Request/TaskRecordsRequest.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Request/TaskRecordsRequest.cs deleted file mode 100644 index 13d9eed0..00000000 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Request/TaskRecordsRequest.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Dlhis.Entity.Basic.Enums; -using Dlhis.Entity.Device.Enums; -using Kurisu.Core.DataAccess.Dto; -using System.ComponentModel.DataAnnotations; - -namespace Dlhis.ScheduledTask.TaskAssignment.Request -{ - public class TaskRecordsRequest : PageDto - { - - /// - /// 人员档案号 - /// - [Required] - public string GainfoNo { get; set; } - - /// - /// 设备机功能类型 - /// - [Required] - [EnumDataType(typeof(DeviceGroupFunctionEnumType))] - public DeviceGroupFunctionEnumType type { get; set; } - } -} diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/TaskDetailResponse.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Response/TaskDetailResponse.cs deleted file mode 100644 index 62687b42..00000000 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/TaskDetailResponse.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Dlhis.Entity.Device.Enums; -using SqlSugar.DbConvert; -using SqlSugar; - -namespace Dlhis.ScheduledTask.TaskAssignment.Response -{ - public class TaskDetailResponse - { - /// - /// 设备唯一号 - /// - public string DeviceUniqueNo { get; set; } - - /// - /// 用户学工号 - /// - public string UserCode { get; set; } - - /// - /// 姓名 - /// - public string Name { get; set; } - - /// - /// 任务下发状态 - /// - public string Status { get; set; } - - /// - /// 部署点 - /// - public string DeviceDescription { get; set; } - - /// - /// 连接信息 - /// - public string IP { get; set; } - } -} diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/TaskRecordsResponse.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Response/TaskRecordsResponse.cs deleted file mode 100644 index dc0404a7..00000000 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/TaskRecordsResponse.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Dlhis.Entity.Device.Enums; -using SqlSugar; - -namespace Dlhis.ScheduledTask.TaskAssignment.Response -{ - public class TaskRecordsResponse - { - /// - /// 用户档案号 - /// - public string UserNo { get; set; } - - /// - /// 用户学工号 - /// - public string UserCode { get; set; } - - /// - /// 姓名 - /// - public string Name { get; set; } - - /// - /// 对应设备任务 - /// - public List Tasks { get; set; } - } -} diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/IDeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/IDeviceTaskAssignmentService.cs index 8d6f6e01..e5bc005c 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/IDeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/IDeviceTaskAssignmentService.cs @@ -8,5 +8,4 @@ public interface IDeviceTaskAssignmentService : IScopeDependency { Task> GetPageAsync(DeviceTaskAssignmentRequest request); - Task> GetTaskRecords(TaskRecordsRequest request); } diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index c1bf0b8c..699bd273 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -38,53 +38,9 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService LastUpdateTime = deviceTask.ModifiedTime }) .ToPageListAsync(request); - return page; } - /// - /// 考勤任务记录 - /// - /// - public async Task> GetTaskRecords(TaskRecordsRequest request) - - { - //获取启用的功能设备 - var devices = await _dbContext.Queryable() - .Where(x => x.Type == request.type) - .Select(x => x.UniqueNo) - .ToListAsync(); - devices.ThrowIfNull($"{request.type.GetDescription}功能机器为空"); - - var lst = await _dbContext.Queryable() - .LeftJoin((task, ga) => task.UserNo == ga.No) - .LeftJoin((task, ga, de) => task.DeviceUniqueNo == de.UniqueNo) - .Where(task => task.UserNo == request.GainfoNo) - .Where(task => devices.Contains(task.DeviceUniqueNo)) - .Select((task, ga, de) => new TaskDetailResponse - { - DeviceUniqueNo = task.DeviceUniqueNo, - UserCode = task.UserCode, - Name = ga.Name, - Status =task.Status.ToString(), - DeviceDescription = de.DeployPlace, - IP = de.ConnectionInfo - }).ToListAsync(); - - // 分页操作 - var startIndex = (request.PageIndex - 1) * request.PageSize; - var pagedData = lst.Skip(startIndex).Take(request.PageSize).ToList(); - - var pagination = new Pagination - { - PageIndex = request.PageIndex, - PageSize = request.PageSize, - Total = lst.Count, // 使用原始列表的总数进行分页 - Data = pagedData - }; - - return pagination; - } }