From 077cfa0835d33aed4d2ba4fdd47118476e4c8af9 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Wed, 31 Jul 2024 17:11:35 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=A2=9E=E5=8A=A0=E6=97=B6=E6=AE=B5?= =?UTF-8?q?=E7=A0=81=E5=8D=A1=E7=B1=BB=E5=9E=8B=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceTimePeriodsController.cs | 10 ++++++++ .../DeviceTimePeriodDeleteCardTypeRequest.cs | 24 +++++++++++++++++++ .../Services/IDeviceTimePeriodService.cs | 2 ++ .../Implements/DeviceTimePeriodService.cs | 23 ++++++++++++++---- 4 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 Src/Dlhis.Basic/Device/Request/DeviceTimePeriodDeleteCardTypeRequest.cs 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) {