From 4a3a4bd54fb090accb0f6e291c1a499914e5971a Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Tue, 11 Nov 2025 09:11:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(oa):=20=E5=88=A0=E9=99=A4=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=97=B6=E7=BA=A7=E8=81=94=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=98=B6=E6=AE=B5=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在删除项目计划时,先删除关联的项目阶段数据 - 添加事务注解确保删除操作的原子性 --- .../main/java/org/dromara/oa/erp/domain/ErpProjectPlan.java | 3 --- .../oa/erp/service/impl/ErpProjectPlanServiceImpl.java | 5 ++++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpProjectPlan.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpProjectPlan.java index b6d40df9..6211b8ae 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpProjectPlan.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpProjectPlan.java @@ -83,13 +83,10 @@ public class ErpProjectPlan extends TenantEntity { @TableLogic private String delFlag; - /** * 创建者名称 */ @TableField(exist = false ) private String createName; - - } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java index 19d841dd..50e882c4 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java @@ -278,11 +278,14 @@ public class ErpProjectPlanServiceImpl implements IErpProjectPlanService { * @return 是否删除成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } - return baseMapper.deleteByIds(ids) > 0; + // 先删除子表 + int delete = planStageMapper.delete(Wrappers.lambdaQuery().in(ErpProjectPlanStage::getProjectPlanId, ids)); + return baseMapper.deleteByIds(ids) > 0; } /**