From 363cd95aab2732f88063fd4e6165f25edec3208f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Mon, 27 Apr 2026 15:33:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BB=84=E6=B4=BB=E5=8A=A8=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=88=A0=E9=99=A4=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/TeamActivityController.cs | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/TeamActivityController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/TeamActivityController.cs index 5de2f1a..5e97a26 100644 --- a/APT.MicroApi/APT.FO.WebApi/Controllers/TeamActivityController.cs +++ b/APT.MicroApi/APT.FO.WebApi/Controllers/TeamActivityController.cs @@ -6,6 +6,7 @@ using APT.BaseData.Domain.IServices.FM; using APT.BaseData.Services.Services.FM; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.FO; +using APT.MS.Domain.Entities.SK; using APT.MS.Domain.Enums; using APT.Utility; using Microsoft.AspNetCore.Mvc; @@ -280,6 +281,45 @@ namespace APT.FO.WebApi.Controllers.Api.FO result.Data = null; } return result; + } + + /// + /// 根据主键删除数据 + /// + /// 主键ID + /// + [HttpGet, Route("FullDelete")] + public JsonActionResult FullDelete(string id) + { + return SafeExecute(() => + { + if (string.IsNullOrEmpty(id)) + this.ThrowError("060010"); + var approves = new List(); + var tasks = new List(); + var notices = new List(); + var notice = this.GetEntity(id); + if (notice != null) + { + notice.IS_DELETED = true; + notices.Add(notice); + approves = this.GetEntities(t => t.DATA_ID != null && t.DATA_ID == notice.ID, new BaseFilter(notice.ORG_ID)).ToList(); + approves.ForEach(t => t.IS_DELETED = true); + var approveIds = approves.Select(t => t.ID).ToList(); + tasks = this.GetEntities(t => t.SOURCE_DATA_ID != null && (t.SOURCE_DATA_ID == notice.ID || approveIds.Contains((Guid)t.SOURCE_DATA_ID)), new BaseFilter(notice.ORG_ID)).ToList(); + tasks.ForEach(t => t.IS_DELETED = true); + } + UnifiedCommit(() => + { + if (notices != null && notices.Any()) + this.BantchUpdateEntity_noneBase(notices); + if (approves != null && approves.Any()) + this.BantchUpdateEntity_noneBase(approves); + if (tasks != null && tasks.Any()) + this.BantchUpdateEntity_noneBase(tasks); + }); + return true; + }); } } }