feat(erp): 更新项目计划删除逻辑以支持全局事务(添加删除工作流实例)

- 将@Transactional注解替换为@GlobalTransactional以支持分布式事务
- 调整删除逻辑,先删除子表数据再删除主表数据
- 添加删除工作流实例的调用
- 修改ids参数处理方式,使用stream转换为List<Long>类型
dev
zangch@mesnac.com 1 month ago
parent 249e6e126d
commit 9e39fa2e8a

@ -278,14 +278,18 @@ public class ErpProjectPlanServiceImpl implements IErpProjectPlanService {
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
List<Long> businessIds = ids.stream().toList();
// 先删除子表
int delete = planStageMapper.delete(Wrappers.<ErpProjectPlanStage>lambdaQuery().in(ErpProjectPlanStage::getProjectPlanId, ids));
return baseMapper.deleteByIds(ids) > 0;
planStageMapper.delete(Wrappers.<ErpProjectPlanStage>lambdaQuery()
.in(ErpProjectPlanStage::getProjectPlanId, ids));
baseMapper.deleteByIds(ids);
//删除工作流
return remoteWorkflowService.deleteInstance(businessIds);
}
/**

Loading…
Cancel
Save