BUG修复

This commit is contained in:
pengjie 2024-06-20 19:27:32 +08:00
parent e38d615492
commit 238804a26c

View File

@ -76,16 +76,7 @@ public class XzFlowController {
}) })
@GetMapping(value = "/getStatDetailByState") @GetMapping(value = "/getStatDetailByState")
public Result<List<Map<String, Object>>> getStatDetailByState(@ApiIgnore @RequestParam HashMap<String, Object> param) { public Result<List<Map<String, Object>>> getStatDetailByState(@ApiIgnore @RequestParam HashMap<String, Object> param) {
HistoricProcessInstanceQuery instanceQuery = historyService.createHistoricProcessInstanceQuery();
instanceQuery.startedAfter(DateUtil.offsetDay(new Date(), -7));
instanceQuery.processInstanceTenantId(MapUtils.getString(param, "projectSn"));
String state = MapUtils.getString(param, "state"); String state = MapUtils.getString(param, "state");
List<HistoricProcessInstance> list = instanceQuery.list();
List<ProcessInstanceVo> processInstanceVos = getInstances(list);
processInstanceVos = processInstanceVos.stream().filter(p -> p.getResult().toString().equals(state)).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<>(); 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")) {
@ -95,13 +86,29 @@ public class XzFlowController {
} else if (state.equals("PASS")) { } else if (state.equals("PASS")) {
total.put("name", "已通过"); total.put("name", "已通过");
} }
String all [] = {"人员入场申请","长期车辆申请","临时车辆申请","访客预约申请","材料进场申请","材料进场申请","动火作业","受限空间安全作业","盲板抽堵安全作业票","高处安全作业票","吊装安全作业票","临时用电安全作业票","动土安全作业票","断路安全作业票"};
List<String> allList = Arrays.asList(all);
List<WflowModels> wflowModelsList = wflowModelsMapper.selectList(Wrappers.<WflowModels>lambdaQuery()
.in(WflowModels::getFormName, allList));
HistoricProcessInstanceQuery instanceQuery = historyService.createHistoricProcessInstanceQuery();
instanceQuery.startedAfter(DateUtil.offsetDay(new Date(), -7));
instanceQuery.processInstanceTenantId(MapUtils.getString(param, "projectSn"));
List<HistoricProcessInstance> list = instanceQuery.list();
List<ProcessInstanceVo> 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()); total.put("num", processInstanceVos.size());
resultList.add(total); resultList.add(total);
for (WflowModelGroups wflowModelGroup : wflowModelGroups) { String name [] = {"人员入场申请","长期车辆申请,临时车辆申请","材料进场申请,材料进场申请","访客预约申请","动火作业,受限空间安全作业,盲板抽堵安全作业票,高处安全作业票,吊装安全作业票,临时用电安全作业票,动土安全作业票,断路安全作业票"};
List<String> nameList = Arrays.asList(name);
String type [] = {"人员","车辆","材料","访客","特殊作业"};
List<String> typeList = Arrays.asList(type);
for (int i = 0; i < typeList.size(); i++) {
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
resultMap.put("name", wflowModelGroup.getGroupName()); resultMap.put("name", typeList.get(i));
List<WflowModelHistorys> modelHistorysList = wflowModelHistorys.stream().filter(w -> w.getGroupId() == wflowModelGroup.getGroupId()).collect(Collectors.toList()); int finalI = i;
List<String> collect = modelHistorysList.stream().map(m -> m.getFormId()).collect(Collectors.toList()); List<String> 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(); 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);
@ -112,7 +119,6 @@ public class XzFlowController {
} }
resultList.add(resultMap); 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); return Result.success(resultList);
} }