BUG修复
This commit is contained in:
parent
94f4d6cddc
commit
e38d615492
@ -83,8 +83,9 @@ public class XzFlowController {
|
||||
List<HistoricProcessInstance> list = instanceQuery.list();
|
||||
List<ProcessInstanceVo> processInstanceVos = getInstances(list);
|
||||
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<WflowModelGroups> wflowModelGroups = wflowModelGroupsMapper.selectList(Wrappers.<WflowModelGroups>lambdaQuery()
|
||||
.ne(WflowModelGroups::getGroupName, "已停用"));
|
||||
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||
Map<String, Object> total = new HashMap<>();
|
||||
if (state.equals("RUNNING")) {
|
||||
@ -96,14 +97,19 @@ public class XzFlowController {
|
||||
}
|
||||
total.put("num", processInstanceVos.size());
|
||||
resultList.add(total);
|
||||
for (String formId : formIds) {
|
||||
for (WflowModelGroups wflowModelGroup : wflowModelGroups) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
List<WflowModelHistorys> collect = wflowModelHistorys.stream().filter(w -> w.getFormId().equals(formId)).collect(Collectors.toList());
|
||||
resultMap.put("name", collect.get(collect.size() - 1).getFormName());
|
||||
long count = processInstanceVos.stream().filter(p -> p.getFormId().equals(formId)).count();
|
||||
resultMap.put("name", wflowModelGroup.getGroupName());
|
||||
List<WflowModelHistorys> modelHistorysList = wflowModelHistorys.stream().filter(w -> w.getGroupId() == wflowModelGroup.getGroupId()).collect(Collectors.toList());
|
||||
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;
|
||||
resultMap.put("num", number);
|
||||
resultMap.put("ratio", new BigDecimal(number).divide(new BigDecimal(processInstanceVos.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||
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)));
|
||||
}
|
||||
resultList.add(resultMap);
|
||||
}
|
||||
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