mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2025-10-14 06:00:23 +00:00
update 优化 判断流程是否已结束
This commit is contained in:
@@ -184,7 +184,7 @@ public class WorkflowGlobalListener implements GlobalListener {
|
||||
} else {
|
||||
Long instanceId = instance.getId();
|
||||
List<FlowTask> flowTasks = flwTaskService.selectByInstId(instanceId);
|
||||
if (CollUtil.isEmpty(flowTasks)) {
|
||||
if (flwTaskService.isTaskEnd(instanceId)) {
|
||||
String status = BusinessStatusEnum.FINISH.getStatus();
|
||||
// 更新流程状态为已完成
|
||||
instanceService.updateStatus(instanceId, status);
|
||||
|
@@ -165,6 +165,14 @@ public interface IFlwTaskService {
|
||||
*/
|
||||
List<FlowTask> selectByInstId(Long instanceId);
|
||||
|
||||
/**
|
||||
* 判断流程是否已结束(即该流程实例下是否还有未完成的任务)
|
||||
*
|
||||
* @param instanceId 流程实例ID
|
||||
* @return true 表示任务已全部结束;false 表示仍有任务存在
|
||||
*/
|
||||
boolean isTaskEnd(Long instanceId);
|
||||
|
||||
/**
|
||||
* 任务操作
|
||||
*
|
||||
|
@@ -578,6 +578,19 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
.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