update 优化 判断流程是否已结束
This commit is contained in:
+1
-1
@@ -184,7 +184,7 @@ public class WorkflowGlobalListener implements GlobalListener {
|
|||||||
} else {
|
} else {
|
||||||
Long instanceId = instance.getId();
|
Long instanceId = instance.getId();
|
||||||
List<FlowTask> flowTasks = flwTaskService.selectByInstId(instanceId);
|
List<FlowTask> flowTasks = flwTaskService.selectByInstId(instanceId);
|
||||||
if (CollUtil.isEmpty(flowTasks)) {
|
if (flwTaskService.isTaskEnd(instanceId)) {
|
||||||
String status = BusinessStatusEnum.FINISH.getStatus();
|
String status = BusinessStatusEnum.FINISH.getStatus();
|
||||||
// 更新流程状态为已完成
|
// 更新流程状态为已完成
|
||||||
instanceService.updateStatus(instanceId, status);
|
instanceService.updateStatus(instanceId, status);
|
||||||
|
|||||||
+8
@@ -165,6 +165,14 @@ public interface IFlwTaskService {
|
|||||||
*/
|
*/
|
||||||
List<FlowTask> selectByInstId(Long instanceId);
|
List<FlowTask> selectByInstId(Long instanceId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断流程是否已结束(即该流程实例下是否还有未完成的任务)
|
||||||
|
*
|
||||||
|
* @param instanceId 流程实例ID
|
||||||
|
* @return true 表示任务已全部结束;false 表示仍有任务存在
|
||||||
|
*/
|
||||||
|
boolean isTaskEnd(Long instanceId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务操作
|
* 任务操作
|
||||||
*
|
*
|
||||||
|
|||||||
+13
@@ -578,6 +578,19 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
|||||||
.eq(FlowTask::getInstanceId, instanceId));
|
.eq(FlowTask::getInstanceId, instanceId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断流程是否已结束(即该流程实例下是否还有未完成的任务)
|
||||||
|
*
|
||||||
|
* @param instanceId 流程实例ID
|
||||||
|
* @return true 表示任务已全部结束;false 表示仍有任务存在
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean isTaskEnd(Long instanceId) {
|
||||||
|
boolean exists = flowTaskMapper.exists(new LambdaQueryWrapper<FlowTask>()
|
||||||
|
.eq(FlowTask::getInstanceId, instanceId));
|
||||||
|
return !exists;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务操作
|
* 任务操作
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user