This commit is contained in:
JyuHsin
2026-03-18 17:52:21 +08:00
parent 3852449c2e
commit f653612d32
6 changed files with 44 additions and 21 deletions
@@ -1,5 +1,6 @@
package com.budwk.app.flow.listenter;
import cn.hutool.core.util.ObjectUtil;
import com.budwk.app.flow.engine.event.ProcessEvent;
import com.budwk.app.flow.engine.event.ProcessEventListener;
import com.budwk.app.flow.entity.ProcessTask;
@@ -27,7 +28,9 @@ public class ProcessTaskEndEventListener implements ProcessEventListener {
ProcessTask task = dao.fetch(ProcessTask.class, sourceId);
// 好了,任务完成,就可以调接口完成待办了
todoService.taskHandle(task);
if (!ObjectUtil.equals(0, task.getTaskParentId().intValue())) {
todoService.taskHandle(task);
}
System.out.println("流程任务完成事件:" + task.getDisplayName());
}
}
@@ -559,15 +559,16 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl<ProcessInstance>
public void deleteProcessInstanceById(Long processInstanceId) {
List<ProcessTask> taskList = dao().query(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", processInstanceId));
List<Long> taskIds = taskList.stream().map(ProcessTask::getId).toList();
dao().clear(ProcessTask.class, Cnd.where(ProcessTask::getId, "in", taskIds));
dao().clear(ProcessInstance.class, Cnd.where(ProcessInstance::getId, "=", processInstanceId));
// 删除学校待办
if(Lang.isNotEmpty(taskList)) {
ProcessTask task = taskList.get(taskList.size() - 1);
TodoService todoService = Mvcs.getIoc().get(TodoServiceImpl.class);
todoService.transDeleted(task);
todoService.deleteProcessInstance(task);
}
dao().clear(ProcessTask.class, Cnd.where(ProcessTask::getId, "in", taskIds));
dao().clear(ProcessInstance.class, Cnd.where(ProcessInstance::getId, "=", processInstanceId));
}
@Override