feat(xispeak): 删除流程时同步逻辑删除关联的审批意见表记录
在 withDrawXiSpeak 批量删除和 deleteSingleProcess 单个删除中, 按 processInstId 调用 ITaskApprovalOpinionService.remove 逻辑删除 task_approval_opinion 表中的关联记录。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+9
-3
@@ -10,6 +10,8 @@ import org.jeecg.common.system.vo.SelectTreeModel;
|
||||
import org.jeecg.modules.bg.xispeak.entity.BgXiSpeak;
|
||||
import org.jeecg.modules.bg.xispeak.mapper.BgXiSpeakMapper;
|
||||
import org.jeecg.modules.bg.xispeak.service.IBgXiSpeakService;
|
||||
import org.jeecg.modules.taskapprovalopinion.entity.TaskApprovalOpinion;
|
||||
import org.jeecg.modules.taskapprovalopinion.service.ITaskApprovalOpinionService;
|
||||
import org.jeecg.modules.tasktask.entity.TaskTask;
|
||||
import org.jeecg.modules.tasktask.service.impl.TaskTaskServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -36,6 +38,7 @@ public class BgXiSpeakServiceImpl extends ServiceImpl<BgXiSpeakMapper, BgXiSpeak
|
||||
|
||||
private final TaskTaskServiceImpl taskTaskServiceImpl;
|
||||
private final RuntimeService runtimeService;
|
||||
private final ITaskApprovalOpinionService taskApprovalOpinionService;
|
||||
|
||||
@Override
|
||||
public void addBgXiSpeak(BgXiSpeak bgXiSpeak) {
|
||||
@@ -268,13 +271,16 @@ public class BgXiSpeakServiceImpl extends ServiceImpl<BgXiSpeakMapper, BgXiSpeak
|
||||
runtimeService.deleteProcessInstance(procId, delReason);
|
||||
log.info("成功中止运行中的流程实例: {}", procId);
|
||||
}
|
||||
taskApprovalOpinionService.remove(
|
||||
new LambdaQueryWrapper<TaskApprovalOpinion>()
|
||||
.eq(TaskApprovalOpinion::getProcessInstId, procId));
|
||||
}
|
||||
|
||||
// 4. 【核心修改:删除用】重新创建一个干净的 Wrapper,绝不能带 for update!
|
||||
// 4. 重新创建一个干净的 Wrapper,绝不能带 for update!
|
||||
LambdaQueryWrapper<TaskTask> deleteWrapper = new LambdaQueryWrapper<TaskTask>()
|
||||
.eq(TaskTask::getBusinessId, id); // 不要加 .last("for update")
|
||||
.eq(TaskTask::getBusinessId, id);
|
||||
|
||||
taskTaskServiceImpl.remove(deleteWrapper); // 使用干净的 Wrapper 执行删除
|
||||
taskTaskServiceImpl.remove(deleteWrapper);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user