fix 设备/组新城枚举及调整
This commit is contained in:
@@ -33,13 +33,4 @@ public class DeviceTaskAssignmentsController : ControllerBase
|
||||
return await _deviceTaskAssignmentService.GetPageAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// (考勤/门禁/消费机)任务记录
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("taskrecords")]
|
||||
public async Task<Pagination<TaskDetailResponse>> GetTaskRecords([FromQuery]TaskRecordsRequest request)
|
||||
{
|
||||
return await _deviceTaskAssignmentService.GetTaskRecords(request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,18 @@ public class CreateGetAttendanceJob
|
||||
var devices = await _dbContext.Queryable<DeviceEntity>().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<DeviceTaskEntity>()
|
||||
.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,
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 人员档案号
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string GainfoNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设备机功能类型
|
||||
/// </summary>
|
||||
[Required]
|
||||
[EnumDataType(typeof(DeviceGroupFunctionEnumType))]
|
||||
public DeviceGroupFunctionEnumType type { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
using Dlhis.Entity.Device.Enums;
|
||||
using SqlSugar.DbConvert;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Dlhis.ScheduledTask.TaskAssignment.Response
|
||||
{
|
||||
public class TaskDetailResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 设备唯一号
|
||||
/// </summary>
|
||||
public string DeviceUniqueNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户学工号
|
||||
/// </summary>
|
||||
public string UserCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 姓名
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 任务下发状态
|
||||
/// </summary>
|
||||
public string Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 部署点
|
||||
/// </summary>
|
||||
public string DeviceDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 连接信息
|
||||
/// </summary>
|
||||
public string IP { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
using Dlhis.Entity.Device.Enums;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Dlhis.ScheduledTask.TaskAssignment.Response
|
||||
{
|
||||
public class TaskRecordsResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户档案号
|
||||
/// </summary>
|
||||
public string UserNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户学工号
|
||||
/// </summary>
|
||||
public string UserCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 姓名
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对应设备任务
|
||||
/// </summary>
|
||||
public List<TaskDetailResponse> Tasks { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -8,5 +8,4 @@ public interface IDeviceTaskAssignmentService : IScopeDependency
|
||||
{
|
||||
Task<Pagination<DeviceTaskAssignmentResponse>> GetPageAsync(DeviceTaskAssignmentRequest request);
|
||||
|
||||
Task<Pagination<TaskDetailResponse>> GetTaskRecords(TaskRecordsRequest request);
|
||||
}
|
||||
|
||||
@@ -38,53 +38,9 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
|
||||
LastUpdateTime = deviceTask.ModifiedTime
|
||||
})
|
||||
.ToPageListAsync(request);
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 考勤任务记录
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<Pagination<TaskDetailResponse>> GetTaskRecords(TaskRecordsRequest request)
|
||||
|
||||
{
|
||||
//获取启用的功能设备
|
||||
var devices = await _dbContext.Queryable<DeviceEntity>()
|
||||
.Where(x => x.Type == request.type)
|
||||
.Select(x => x.UniqueNo)
|
||||
.ToListAsync();
|
||||
devices.ThrowIfNull($"{request.type.GetDescription}功能机器为空");
|
||||
|
||||
var lst = await _dbContext.Queryable<DeviceTaskEntity>()
|
||||
.LeftJoin<GainfoEntity>((task, ga) => task.UserNo == ga.No)
|
||||
.LeftJoin<DeviceEntity>((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<TaskDetailResponse>
|
||||
{
|
||||
PageIndex = request.PageIndex,
|
||||
PageSize = request.PageSize,
|
||||
Total = lst.Count, // 使用原始列表的总数进行分页
|
||||
Data = pagedData
|
||||
};
|
||||
|
||||
return pagination;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user