diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzFlowController.java b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzFlowController.java index 8d67d14db..391235101 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzFlowController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzFlowController.java @@ -76,16 +76,7 @@ public class XzFlowController { }) @GetMapping(value = "/getStatDetailByState") public Result>> getStatDetailByState(@ApiIgnore @RequestParam HashMap param) { - HistoricProcessInstanceQuery instanceQuery = historyService.createHistoricProcessInstanceQuery(); - instanceQuery.startedAfter(DateUtil.offsetDay(new Date(), -7)); - instanceQuery.processInstanceTenantId(MapUtils.getString(param, "projectSn")); String state = MapUtils.getString(param, "state"); - List list = instanceQuery.list(); - List processInstanceVos = getInstances(list); - processInstanceVos = processInstanceVos.stream().filter(p -> p.getResult().toString().equals(state)).collect(Collectors.toList()); - List wflowModelHistorys = wflowModelHistorysMapper.selectList(null); - List wflowModelGroups = wflowModelGroupsMapper.selectList(Wrappers.lambdaQuery() - .ne(WflowModelGroups::getGroupName, "已停用")); List> resultList = new ArrayList<>(); Map total = new HashMap<>(); if (state.equals("RUNNING")) { @@ -95,13 +86,29 @@ public class XzFlowController { } else if (state.equals("PASS")) { total.put("name", "已通过"); } + + String all [] = {"人员入场申请","长期车辆申请","临时车辆申请","访客预约申请","材料进场申请","材料进场申请","动火作业","受限空间安全作业","盲板抽堵安全作业票","高处安全作业票","吊装安全作业票","临时用电安全作业票","动土安全作业票","断路安全作业票"}; + List allList = Arrays.asList(all); + List wflowModelsList = wflowModelsMapper.selectList(Wrappers.lambdaQuery() + .in(WflowModels::getFormName, allList)); + HistoricProcessInstanceQuery instanceQuery = historyService.createHistoricProcessInstanceQuery(); + instanceQuery.startedAfter(DateUtil.offsetDay(new Date(), -7)); + instanceQuery.processInstanceTenantId(MapUtils.getString(param, "projectSn")); + List list = instanceQuery.list(); + List processInstanceVos = getInstances(list); + processInstanceVos = processInstanceVos.stream().filter(p -> p.getResult().toString().equals(state) && + wflowModelsList.stream().map(w -> w.getFormId()).collect(Collectors.toList()).contains(p.getFormId())).collect(Collectors.toList()); total.put("num", processInstanceVos.size()); resultList.add(total); - for (WflowModelGroups wflowModelGroup : wflowModelGroups) { + String name [] = {"人员入场申请","长期车辆申请,临时车辆申请","材料进场申请,材料进场申请","访客预约申请","动火作业,受限空间安全作业,盲板抽堵安全作业票,高处安全作业票,吊装安全作业票,临时用电安全作业票,动土安全作业票,断路安全作业票"}; + List nameList = Arrays.asList(name); + String type [] = {"人员","车辆","材料","访客","特殊作业"}; + List typeList = Arrays.asList(type); + for (int i = 0; i < typeList.size(); i++) { Map resultMap = new HashMap<>(); - resultMap.put("name", wflowModelGroup.getGroupName()); - List modelHistorysList = wflowModelHistorys.stream().filter(w -> w.getGroupId() == wflowModelGroup.getGroupId()).collect(Collectors.toList()); - List collect = modelHistorysList.stream().map(m -> m.getFormId()).collect(Collectors.toList()); + resultMap.put("name", typeList.get(i)); + int finalI = i; + List collect = wflowModelsList.stream().filter(w -> nameList.get(finalI).contains(w.getFormName())).map(w -> w.getFormId()).collect(Collectors.toList()); long count = processInstanceVos.stream().filter(p -> collect.contains(p.getFormId())).count(); int number = (int) count; resultMap.put("num", number); @@ -112,7 +119,6 @@ public class XzFlowController { } resultList.add(resultMap); } - resultList = resultList.stream().sorted((o1, o2) -> MapUtils.getInteger(o2, "num").compareTo(MapUtils.getInteger(o1, "num"))).collect(Collectors.toList()); return Result.success(resultList); }