diff --git a/Src/Dlhis.Basic/Device/Controllers/DeviceTimePeriodsController.cs b/Src/Dlhis.Basic/Device/Controllers/DeviceTimePeriodsController.cs
index 49a1cd7b..6df94ad6 100644
--- a/Src/Dlhis.Basic/Device/Controllers/DeviceTimePeriodsController.cs
+++ b/Src/Dlhis.Basic/Device/Controllers/DeviceTimePeriodsController.cs
@@ -45,6 +45,16 @@ public class DeviceTimePeriodsController : ControllerBase
await _deviceTimePeriodService.SaveAsync(request);
}
+ ///
+ /// 删除卡类型
+ ///
+ ///
+ [HttpPost("cardType/delete")]
+ public async Task DeleteCardTypeAsync(DeviceTimePeriodDeleteCardTypeRequest request)
+ {
+ await _deviceTimePeriodService.DeleteCardTypeAsync(request);
+ }
+
///
/// 获取类型时段列表
///
diff --git a/Src/Dlhis.Basic/Device/Request/DeviceTimePeriodDeleteCardTypeRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceTimePeriodDeleteCardTypeRequest.cs
new file mode 100644
index 00000000..73562e2d
--- /dev/null
+++ b/Src/Dlhis.Basic/Device/Request/DeviceTimePeriodDeleteCardTypeRequest.cs
@@ -0,0 +1,24 @@
+using System.ComponentModel.DataAnnotations;
+using Dlhis.Entity.Device.Enums;
+
+namespace Dlhis.Basic.Device.Request;
+
+public class DeviceTimePeriodDeleteCardTypeRequest
+{
+ ///
+ /// 分配类型
+ ///
+ [EnumDataType(typeof(DeviceTimePeriodAssignEnumType))]
+ public DeviceTimePeriodAssignEnumType AssignType { get; set; }
+
+ ///
+ /// 类型值
+ ///
+ [Required]
+ public Guid Value { get; set; }
+
+ ///
+ /// 卡类型
+ ///
+ public int CardType { get; set; }
+}
\ No newline at end of file
diff --git a/Src/Dlhis.Basic/Device/Services/IDeviceTimePeriodService.cs b/Src/Dlhis.Basic/Device/Services/IDeviceTimePeriodService.cs
index 2b3658ea..3ad85f9e 100644
--- a/Src/Dlhis.Basic/Device/Services/IDeviceTimePeriodService.cs
+++ b/Src/Dlhis.Basic/Device/Services/IDeviceTimePeriodService.cs
@@ -13,5 +13,7 @@ public interface IDeviceTimePeriodService : IScopeDependency
Task> GetListAsync(DeviceTimePeriodAssignEnumType assignType, Guid value);
+ Task DeleteCardTypeAsync(DeviceTimePeriodDeleteCardTypeRequest request);
+
Task GenerateDeviceTimePeriodTasksAsync(Func func);
}
\ No newline at end of file
diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceTimePeriodService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceTimePeriodService.cs
index ebd9f924..bab3c579 100644
--- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceTimePeriodService.cs
+++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceTimePeriodService.cs
@@ -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().Where(x => values.Contains(x.Code)).Select(x => new { x.Code, Name = x.DeployPlace }).ToListAsync()
: await _dbContext.Queryable().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;
}
+ ///
+ public async Task DeleteCardTypeAsync(DeviceTimePeriodDeleteCardTypeRequest request)
+ {
+ await GenerateDeviceTimePeriodTasksAsync(async () =>
+ {
+ var entity = await _dbContext.Queryable()
+ .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 func)
{