Browse Source

待我处理、我已处理列表修改

tags/24080901
CMM 1 year ago
parent
commit
ad7be7f066
1 changed files with 42 additions and 2 deletions
  1. +42
    -2
      pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java

+ 42
- 2
pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java View File

@@ -65,6 +65,7 @@ import org.flowable.bpmn.model.*;
import org.flowable.engine.HistoryService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.ActivityInstance;
import org.mockito.internal.matchers.CompareTo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -122,7 +123,27 @@ public class TodoCenterManage {
}
List<String> instCodes = userTodoList.stream().map(ProcessTaskVo::getInstanceId).collect(Collectors.toList());

Map<String, ProcessTaskVo> taskVoMap = userTodoList.stream().collect(Collectors.toMap(ProcessTaskVo::getInstanceId, v -> v));
List<ProcessTaskVo> resList = new ArrayList<>();
List<String> instList = new ArrayList<>();
for (ProcessTaskVo processTaskVo : userTodoList) {
Map<String, ProcessTaskVo> map = resList.stream().collect(Collectors.toMap(ProcessTaskVo::getInstanceId, v -> v));
if (instList.contains(processTaskVo.getInstanceId())){
// 比较两个processTaskVo的endTime,保留最后处理的
ProcessTaskVo vo = map.get(processTaskVo.getInstanceId());
int compare = processTaskVo.getTaskEndTime().compareTo(vo.getTaskEndTime());
if (compare > 0){
instList.remove(processTaskVo.getInstanceId());
resList.remove(vo);
}else {
continue;
}
}
instList.add(processTaskVo.getInstanceId());
resList.add(processTaskVo);
}

Map<String, ProcessTaskVo> taskVoMap = resList.stream().collect(Collectors.toMap(ProcessTaskVo::getInstanceId, v -> v));

//2.再分页查询项目信息
ProjectListReq projectListReq = new ProjectListReq();
projectListReq.setInstCodes(instCodes);
@@ -620,10 +641,29 @@ public class TodoCenterManage {
if (CollUtil.isEmpty(userIdoList)) {
return PageVo.empty();
}

List<String> instCodes = userIdoList.stream().map(ProcessTaskVo::getInstanceId).collect(Collectors.toList());
Map<String, ProcessTaskVo> taskVoMap = userIdoList.stream().collect(Collectors.toMap(ProcessTaskVo::getInstanceId, v -> v));

List<ProcessTaskVo> resList = new ArrayList<>();
List<String> instList = new ArrayList<>();
for (ProcessTaskVo processTaskVo : userIdoList) {
Map<String, ProcessTaskVo> map = resList.stream().collect(Collectors.toMap(ProcessTaskVo::getInstanceId, v -> v));
if (instList.contains(processTaskVo.getInstanceId())){
// 比较两个processTaskVo的endTime,保留最后处理的
ProcessTaskVo vo = map.get(processTaskVo.getInstanceId());
int compare = processTaskVo.getTaskEndTime().compareTo(vo.getTaskEndTime());
if (compare > 0){
instList.remove(processTaskVo.getInstanceId());
resList.remove(vo);
}else {
continue;
}
}
instList.add(processTaskVo.getInstanceId());
resList.add(processTaskVo);
}

Map<String, ProcessTaskVo> taskVoMap = resList.stream().collect(Collectors.toMap(ProcessTaskVo::getInstanceId, v -> v));
// 分页查询项目信息
ProjectListReq projectListReq = new ProjectListReq();
projectListReq.setInstCodes(instCodes);


Loading…
Cancel
Save