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); } /**