refactor(xispeak): 将删除单个流程接口下沉至 tasktask 通用模块
deleteSingleProcess 由 BgXiSpeakController 迁移至 TaskTaskController, 作为通用接口供各业务模块复用。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+19
@@ -222,6 +222,25 @@ public class TaskTaskController extends JeecgController<TaskTask, ITaskTaskServi
|
||||
return success ? Result.OK("更新成功") : Result.error("更新失败,未找到对应任务记录");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除单个流程实例
|
||||
*
|
||||
* @param processInstId 流程实例ID
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "删除单个流程实例")
|
||||
@Operation(summary = "删除单个流程实例")
|
||||
@PostMapping(value = "/deleteSingleProcess")
|
||||
public Result<String> deleteSingleProcess(@RequestParam("processInstId") String processInstId) {
|
||||
if (oConvertUtils.isEmpty(processInstId)) {
|
||||
return Result.error("流程实例ID不能为空");
|
||||
}
|
||||
if (taskTaskService.deleteSingleProcess(processInstId)) {
|
||||
return Result.OK("删除流程成功");
|
||||
}
|
||||
return Result.error("删除流程失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
|
||||
+1
@@ -18,4 +18,5 @@ public interface ITaskTaskService extends IService<TaskTask> {
|
||||
Result<?> handleFlowStart(TaskTask taskTask, String username, Integer intervalType, Integer startCount)throws Exception;
|
||||
List<TaskTask> getTaskTaskListByBusinessId(String businessId) throws Exception;
|
||||
boolean updateDeptHandlerName(String processInstanceId, String deptHandlerName);
|
||||
boolean deleteSingleProcess(String processInstId);
|
||||
}
|
||||
|
||||
+23
@@ -174,4 +174,27 @@ public class TaskTaskServiceImpl extends ServiceImpl<TaskTaskMapper, TaskTask> i
|
||||
taskTask.setDeptHandlerName(deptHandlerName);
|
||||
return this.updateById(taskTask);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deleteSingleProcess(String processInstId) {
|
||||
LambdaQueryWrapper<TaskTask> queryWrapper = new LambdaQueryWrapper<TaskTask>()
|
||||
.eq(TaskTask::getProcessInstId, processInstId)
|
||||
.last("for update");
|
||||
TaskTask taskTask = this.getOne(queryWrapper, false);
|
||||
if (taskTask == null) {
|
||||
log.warn("删除单个流程时未找到关联的tasktask记录, processInstId: {}", processInstId);
|
||||
return false;
|
||||
}
|
||||
long count = runtimeService.createProcessInstanceQuery()
|
||||
.processInstanceId(processInstId)
|
||||
.count();
|
||||
if (count > 0) {
|
||||
runtimeService.deleteProcessInstance(processInstId, "删除单个流程");
|
||||
log.info("成功中止运行中的流程实例: {}", processInstId);
|
||||
}
|
||||
LambdaQueryWrapper<TaskTask> deleteWrapper = new LambdaQueryWrapper<TaskTask>()
|
||||
.eq(TaskTask::getProcessInstId, processInstId);
|
||||
return this.remove(deleteWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user