feat 增加时段码卡类型移除
This commit is contained in:
@@ -45,6 +45,16 @@ public class DeviceTimePeriodsController : ControllerBase
|
||||
await _deviceTimePeriodService.SaveAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除卡类型
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
[HttpPost("cardType/delete")]
|
||||
public async Task DeleteCardTypeAsync(DeviceTimePeriodDeleteCardTypeRequest request)
|
||||
{
|
||||
await _deviceTimePeriodService.DeleteCardTypeAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取类型时段列表
|
||||
/// </summary>
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Dlhis.Entity.Device.Enums;
|
||||
|
||||
namespace Dlhis.Basic.Device.Request;
|
||||
|
||||
public class DeviceTimePeriodDeleteCardTypeRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 分配类型
|
||||
/// </summary>
|
||||
[EnumDataType(typeof(DeviceTimePeriodAssignEnumType))]
|
||||
public DeviceTimePeriodAssignEnumType AssignType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 类型值
|
||||
/// </summary>
|
||||
[Required]
|
||||
public Guid Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 卡类型
|
||||
/// </summary>
|
||||
public int CardType { get; set; }
|
||||
}
|
||||
@@ -13,5 +13,7 @@ public interface IDeviceTimePeriodService : IScopeDependency
|
||||
|
||||
Task<List<DeviceTimePeriodResponse>> GetListAsync(DeviceTimePeriodAssignEnumType assignType, Guid value);
|
||||
|
||||
Task DeleteCardTypeAsync(DeviceTimePeriodDeleteCardTypeRequest request);
|
||||
|
||||
Task GenerateDeviceTimePeriodTasksAsync(Func<Task> func);
|
||||
}
|
||||
@@ -33,16 +33,13 @@ public class DeviceTimePeriodService : IDeviceTimePeriodService
|
||||
Value = x.Value
|
||||
})
|
||||
.ToPageListAsync(request);
|
||||
|
||||
|
||||
var values = page.Data.Select(x => x.Value);
|
||||
var data = request.AssignType == DeviceTimePeriodAssignEnumType.Device
|
||||
? await _dbContext.Queryable<DeviceEntity>().Where(x => values.Contains(x.Code)).Select(x => new { x.Code, Name = x.DeployPlace }).ToListAsync()
|
||||
: await _dbContext.Queryable<DeviceTemplateEntity>().Where(x => values.Contains(x.Code)).Select(x => new { x.Code, x.Name }).ToListAsync();
|
||||
|
||||
page.Data.ForEach(item =>
|
||||
{
|
||||
item.Name = data.FirstOrDefault(x => x.Code == item.Value)?.Name;
|
||||
});
|
||||
page.Data.ForEach(item => { item.Name = data.FirstOrDefault(x => x.Code == item.Value)?.Name; });
|
||||
|
||||
return page;
|
||||
}
|
||||
@@ -111,6 +108,22 @@ public class DeviceTimePeriodService : IDeviceTimePeriodService
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task DeleteCardTypeAsync(DeviceTimePeriodDeleteCardTypeRequest request)
|
||||
{
|
||||
await GenerateDeviceTimePeriodTasksAsync(async () =>
|
||||
{
|
||||
var entity = await _dbContext.Queryable<DeviceTimePeriodEntity>()
|
||||
.Where(x => x.CardType == request.CardType)
|
||||
.Where(x => x.AssignType == request.AssignType)
|
||||
.Where(x => x.Value == request.Value)
|
||||
.SingleAsync();
|
||||
|
||||
entity.ThrowIfNull("数据不存在");
|
||||
await _dbContext.DeleteReallyAsync(entity);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public async Task GenerateDeviceTimePeriodTasksAsync(Func<Task> func)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user