diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index 679359453..fba23c87d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -607,14 +607,34 @@ public class WxFlowServiceImpl implements WxFlowService { } // 设置最后一个发起节点 if(CollectionUtils.isNotEmpty(resultList)){ - for (WxFlowRecord wxFlowRecord:resultList) { - if(wxFlowRecord.getStatus() == 1){ - wxFlowRecord.setIsLastStart(1); + for (int i = 0; i < resultList.size() ; i++) { + if(resultList.get(i).getStatus() == 1){ + resultList.get(i).setIsLastStart(1); + resultList = resultList.subList(0,i+1); break; } } } - return new ResultData(resultList); + + // 合并会签节点展 + Map map = new LinkedHashMap<>(); + for (WxFlowRecord r:resultList) { + if(r.getTaskKey() == null){ + r.setTaskKey(r.getTaskName()); + } + WxFlowRecord mapR = map.get(r.getTaskKey()); + if(mapR != null) + mapR.setUserName(mapR.getUserName()+","+r.getUserName()); + else + map.put(r.getTaskKey(),r); + } + + List flowRecordList = new ArrayList<>(); + for (String key:map.keySet()) { + flowRecordList.add(map.get(key)); + } + + return new ResultData(flowRecordList); } @Override