From 9e39fa2e8af4f2534c9760b6ac27ffacf955fff2 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Tue, 11 Nov 2025 15:08:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(erp):=20=E6=9B=B4=E6=96=B0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E8=AE=A1=E5=88=92=E5=88=A0=E9=99=A4=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81=E5=85=A8=E5=B1=80=E4=BA=8B=E5=8A=A1?= =?UTF-8?q?(=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81=E5=AE=9E=E4=BE=8B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将@Transactional注解替换为@GlobalTransactional以支持分布式事务 - 调整删除逻辑,先删除子表数据再删除主表数据 - 添加删除工作流实例的调用 - 修改ids参数处理方式,使用stream转换为List类型 --- .../oa/erp/service/impl/ErpProjectPlanServiceImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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 50e882c4..892c87d3 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,14 +278,18 @@ public class ErpProjectPlanServiceImpl implements IErpProjectPlanService { * @return 是否删除成功 */ @Override - @Transactional(rollbackFor = Exception.class) + @GlobalTransactional(rollbackFor = Exception.class) public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } + List businessIds = ids.stream().toList(); // 先删除子表 - int delete = planStageMapper.delete(Wrappers.lambdaQuery().in(ErpProjectPlanStage::getProjectPlanId, ids)); - return baseMapper.deleteByIds(ids) > 0; + planStageMapper.delete(Wrappers.lambdaQuery() + .in(ErpProjectPlanStage::getProjectPlanId, ids)); + baseMapper.deleteByIds(ids); + //删除工作流 + return remoteWorkflowService.deleteInstance(businessIds); } /**