Commit c855e24d authored by tianyiming's avatar tianyiming

更新代码

parent d3970aba
......@@ -2611,24 +2611,26 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Map<String, Object> tabTotalMap = new HashMap<>();
String orgCode = filter.getString("orgCode");
List<Map<String, Object>> data = new ArrayList<>();
if (StatisticalAnalysisEnum.equip.getCode().equals(businessType)) {
boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
result = queryDpEquipStatistics(filter, request, builder, boolMust, tabTotalMap);
data = queryDpEquipStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.company.getCode().equals(businessType)) {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
result = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
data = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
} else {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
result = queryDpPersonStatistics(filter, request, builder, boolMust, tabTotalMap);
data = queryDpPersonStatistics(filter, request, builder, boolMust, tabTotalMap);
}
getOtherTypeCount(businessType, tabTotalMap, orgCode);
getTypeCount(businessType, tabTotalMap, orgCode, data);
result.put("tabTotalMap", tabTotalMap);
result.put("datas", data);
return result;
}
private void getOtherTypeCount(String businessType, Map<String, Object> tabTotalMap, String orgCode) {
private void getTypeCount(String businessType, Map<String, Object> tabTotalMap, String orgCode, List<Map<String, Object>> data) {
BoolQueryBuilder equipBoolMust = QueryBuilders.boolQuery();
equipBoolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
BoolQueryBuilder companyBoolMust = QueryBuilders.boolQuery();
......@@ -2639,6 +2641,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String companyIndex = StatisticalAnalysisEnum.company.getKey();
String personIndex = StatisticalAnalysisEnum.person.getKey();
List<Long> collect = data.stream().map(e -> Long.valueOf(e.get("value").toString())).collect(Collectors.toList());
Long otherCount = collect.stream().reduce(0L, Long::sum);
if (businessType.equals(StatisticalAnalysisEnum.equip.getCode())) {
// 获取企业总数
Long companyCount = getStaticCount(companyBoolMust, companyIndex);
......@@ -2646,6 +2651,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Long personCount = getStaticCount(personBoolMust, personIndex);
tabTotalMap.put(StatisticalAnalysisEnum.company.getCode(), companyCount);
tabTotalMap.put(StatisticalAnalysisEnum.person.getCode(), personCount);
tabTotalMap.put(StatisticalAnalysisEnum.equip.getCode(), otherCount);
} else if (businessType.equals(StatisticalAnalysisEnum.company.getCode())) {
// 获取设备总数
Long equipCount = getStaticCount(equipBoolMust, equipIndex);
......@@ -2653,6 +2659,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Long personCount = getStaticCount(personBoolMust, personIndex);
tabTotalMap.put(StatisticalAnalysisEnum.equip.getCode(), equipCount);
tabTotalMap.put(StatisticalAnalysisEnum.person.getCode(), personCount);
tabTotalMap.put(StatisticalAnalysisEnum.company.getCode(), otherCount);
} else {
// 获取设备总数
Long equipCount = getStaticCount(equipBoolMust, equipIndex);
......@@ -2660,19 +2667,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Long companyCount = getStaticCount(companyBoolMust, companyIndex);
tabTotalMap.put(StatisticalAnalysisEnum.equip.getCode(), equipCount);
tabTotalMap.put(StatisticalAnalysisEnum.company.getCode(), companyCount);
tabTotalMap.put(StatisticalAnalysisEnum.person.getCode(), otherCount);
}
}
private JSONObject queryDpPersonStatistics(JSONObject filter, SearchRequest request, SearchSourceBuilder builder, BoolQueryBuilder boolMust, Map<String, Object> tabTotalMap) {
private List<Map<String, Object>> queryDpPersonStatistics(JSONObject filter, SearchRequest request, SearchSourceBuilder builder, BoolQueryBuilder boolMust, Map<String, Object> tabTotalMap) {
return null;
}
private JSONObject queryDpCompanyStatistics(JSONObject filter, SearchRequest request, SearchSourceBuilder builder, BoolQueryBuilder boolMust, Map<String, Object> tabTotalMap) {
private List<Map<String, Object>> queryDpCompanyStatistics(JSONObject filter, SearchRequest request, SearchSourceBuilder builder, BoolQueryBuilder boolMust, Map<String, Object> tabTotalMap) {
return null;
}
private JSONObject queryDpEquipStatistics(JSONObject filter, SearchRequest request, SearchSourceBuilder builder, BoolQueryBuilder boolMust, Map<String, Object> tabTotalMap) {
private List<Map<String, Object>> queryDpEquipStatistics(JSONObject filter, SearchRequest request, SearchSourceBuilder builder, BoolQueryBuilder boolMust, Map<String, Object> tabTotalMap) {
request.indices(StatisticalAnalysisEnum.equip.getKey());
JSONObject filterParams = new JSONObject();
......@@ -2696,29 +2704,27 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
}
Map<String, Object> staticCountByGroup = getStaticCountByGroup(request, builder, boolMust, groupField);
return JSONObject.parseObject(JSON.toJSONString(staticCountByGroup));
List<Map<String, Object>> staticCountByGroup = getStaticCountByGroup(request, builder, boolMust, groupField);
return staticCountByGroup;
}
private Map<String, Object> getStaticCountByGroup(SearchRequest request, SearchSourceBuilder builder, BoolQueryBuilder boolMust, String groupField) {
private List<Map<String, Object>> getStaticCountByGroup(SearchRequest request, SearchSourceBuilder builder, BoolQueryBuilder boolMust, String groupField) {
builder.query(boolMust);
builder.aggregation(AggregationBuilders.terms(groupField).field(groupField).missing("null"));
request.source(builder);
List<Map<String, Object>> data = new ArrayList<>();
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
Terms terms = response.getAggregations().get(groupField);
Map<String, Object> tabTotalMap = new HashMap<>();
Map<String, Object> groupMap = new HashMap<>();
for (Terms.Bucket bucket : terms.getBuckets()) {
tabTotalMap.put(bucket.getKeyAsString(), bucket.getDocCount());
groupMap.put(bucket.getKeyAsString(), bucket.getDocCount());
data.add(groupMap);
}
return tabTotalMap;
return data;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment