Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong
This commit is contained in:
commit
e300dc418d
@ -83,8 +83,9 @@ public class XzFlowController {
|
|||||||
List<HistoricProcessInstance> list = instanceQuery.list();
|
List<HistoricProcessInstance> list = instanceQuery.list();
|
||||||
List<ProcessInstanceVo> processInstanceVos = getInstances(list);
|
List<ProcessInstanceVo> processInstanceVos = getInstances(list);
|
||||||
processInstanceVos = processInstanceVos.stream().filter(p -> p.getResult().toString().equals(state)).collect(Collectors.toList());
|
processInstanceVos = processInstanceVos.stream().filter(p -> p.getResult().toString().equals(state)).collect(Collectors.toList());
|
||||||
List<String> formIds = processInstanceVos.stream().map(p -> p.getFormId()).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
|
|
||||||
List<WflowModelHistorys> wflowModelHistorys = wflowModelHistorysMapper.selectList(null);
|
List<WflowModelHistorys> wflowModelHistorys = wflowModelHistorysMapper.selectList(null);
|
||||||
|
List<WflowModelGroups> wflowModelGroups = wflowModelGroupsMapper.selectList(Wrappers.<WflowModelGroups>lambdaQuery()
|
||||||
|
.ne(WflowModelGroups::getGroupName, "已停用"));
|
||||||
List<Map<String, Object>> resultList = new ArrayList<>();
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||||
Map<String, Object> total = new HashMap<>();
|
Map<String, Object> total = new HashMap<>();
|
||||||
if (state.equals("RUNNING")) {
|
if (state.equals("RUNNING")) {
|
||||||
@ -96,14 +97,19 @@ public class XzFlowController {
|
|||||||
}
|
}
|
||||||
total.put("num", processInstanceVos.size());
|
total.put("num", processInstanceVos.size());
|
||||||
resultList.add(total);
|
resultList.add(total);
|
||||||
for (String formId : formIds) {
|
for (WflowModelGroups wflowModelGroup : wflowModelGroups) {
|
||||||
Map<String, Object> resultMap = new HashMap<>();
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
List<WflowModelHistorys> collect = wflowModelHistorys.stream().filter(w -> w.getFormId().equals(formId)).collect(Collectors.toList());
|
resultMap.put("name", wflowModelGroup.getGroupName());
|
||||||
resultMap.put("name", collect.get(collect.size() - 1).getFormName());
|
List<WflowModelHistorys> modelHistorysList = wflowModelHistorys.stream().filter(w -> w.getGroupId() == wflowModelGroup.getGroupId()).collect(Collectors.toList());
|
||||||
long count = processInstanceVos.stream().filter(p -> p.getFormId().equals(formId)).count();
|
List<String> collect = modelHistorysList.stream().map(m -> m.getFormId()).collect(Collectors.toList());
|
||||||
|
long count = processInstanceVos.stream().filter(p -> collect.contains(p.getFormId())).count();
|
||||||
int number = (int) count;
|
int number = (int) count;
|
||||||
resultMap.put("num", number);
|
resultMap.put("num", number);
|
||||||
|
if (processInstanceVos.size() == 0) {
|
||||||
|
resultMap.put("ratio", 0);
|
||||||
|
} else {
|
||||||
resultMap.put("ratio", new BigDecimal(number).divide(new BigDecimal(processInstanceVos.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
resultMap.put("ratio", new BigDecimal(number).divide(new BigDecimal(processInstanceVos.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||||
|
}
|
||||||
resultList.add(resultMap);
|
resultList.add(resultMap);
|
||||||
}
|
}
|
||||||
resultList = resultList.stream().sorted((o1, o2) -> MapUtils.getInteger(o2, "num").compareTo(MapUtils.getInteger(o1, "num"))).collect(Collectors.toList());
|
resultList = resultList.stream().sorted((o1, o2) -> MapUtils.getInteger(o2, "num").compareTo(MapUtils.getInteger(o1, "num"))).collect(Collectors.toList());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user