diff --git a/urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/api/task/BpmTaskApiImpl.java b/urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/api/task/BpmTaskApiImpl.java index f857c37..61ab3df 100644 --- a/urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/api/task/BpmTaskApiImpl.java +++ b/urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/api/task/BpmTaskApiImpl.java @@ -15,6 +15,7 @@ import org.springframework.util.StringUtils; import org.springframework.validation.annotation.Validated; import java.util.*; +import java.util.stream.Collectors; import java.util.stream.Stream; import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertSetByFlatMap; @@ -69,8 +70,13 @@ public class BpmTaskApiImpl implements BpmTaskApi{ Set userIds = convertSetByFlatMap(taskList, task -> Stream.of(NumberUtils.parseLong(task.getAssignee()), NumberUtils.parseLong(task.getOwner()))); Map userMap = adminUserApi.getUserMap(userIds); + + // 过滤掉所有deleteReason = MI_END的任务,再进行遍历 + List nonMIEndTaskList = taskList.stream() + .filter(task -> !"MI_END".equals(task.getDeleteReason())) + .collect(Collectors.toList()); // 5. 按任务结束时间倒序→创建时间倒序排序,确保取到最新任务 - HistoricTaskInstance lastTask = taskList.stream() + HistoricTaskInstance lastTask = nonMIEndTaskList.stream() .reduce((first, last) -> last) // 遍历到最后一个元素 .orElse(null); // 空列表返回null // 存储最后一个任务,后续封装VO