From 6c2703cf925071fc971d76bf9c14a7b9ed73168b Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 11 Jul 2025 23:07:13 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E8=A7=A3=E6=95=A3=E7=BD=91=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorkGrids/Controllers/WorkGridsController.cs | 10 ++++++++++ .../WorkGrids/Request/WorkGridDismissRequest.cs | 6 ++++++ .../WorkGrids/Services/IWorkGridService.cs | 7 +++++++ .../WorkGrids/Services/Implements/WorkGridService.cs | 12 ++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 Src/Dlhis.Basic/WorkGrids/Request/WorkGridDismissRequest.cs diff --git a/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs b/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs index e972efee..313bd292 100644 --- a/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs +++ b/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs @@ -55,6 +55,16 @@ public class WorkGridsController : ControllerBase await _workGridService.SaveAsync(requests); } + /// + /// 解散网格 + /// + /// + [HttpPost("dismiss")] + public async Task DismissAsync(WorkGridDismissRequest request) + { + await _workGridService.DismissAsync(request.WorkGridCode); + } + /// /// 网格分页 /// diff --git a/Src/Dlhis.Basic/WorkGrids/Request/WorkGridDismissRequest.cs b/Src/Dlhis.Basic/WorkGrids/Request/WorkGridDismissRequest.cs new file mode 100644 index 00000000..1783cd61 --- /dev/null +++ b/Src/Dlhis.Basic/WorkGrids/Request/WorkGridDismissRequest.cs @@ -0,0 +1,6 @@ +namespace Dlhis.Basic.WorkGrids.Request; + +public class WorkGridDismissRequest +{ + public Guid WorkGridCode { get; set; } +} \ No newline at end of file diff --git a/Src/Dlhis.Basic/WorkGrids/Services/IWorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/IWorkGridService.cs index a71fa0c2..3279f71a 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/IWorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/IWorkGridService.cs @@ -36,6 +36,13 @@ public interface IWorkGridService : IScopeDependency /// Task ChangeAsync(string from, string to); + /// + /// 解散 + /// + /// + /// + Task DismissAsync(Guid workGridCode); + /// /// 获取 /// diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs index b4a76632..63e3b289 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs @@ -155,6 +155,18 @@ public class WorkGridService : IWorkGridService await _operateLog.LogAsync(OperateLogType.WorkGrid, $"网格({workGrid.Name})修改负责人{from}->{to}"); } + public async Task DismissAsync(Guid workGridCode) + { + var workGrid = await _dbContext.Queryable().Where(x => x.Code == workGridCode).SingleAsync(); + workGrid.ThrowIfNull("工作网格不存在"); + + var existsUser = await _dbContext.Queryable().Where(x => x.WorkGridCode == workGridCode).AnyAsync(); + existsUser.ThrowIfTrue("工作网格下存在人员,请先移除人员"); + + await _dbContext.DeleteAsync(workGrid); + await _operateLog.LogAsync(OperateLogType.WorkGrid, $"解散网格({workGrid.Name})"); + } + public async Task GetMyWorkGridAsync(WorkGridPageRequest request) { var currentUserCode = _currentUser.GetUserClaim(UserClaimConstants.JinkoCode);