Commit c855e24d authored by tianyiming's avatar tianyiming

更新代码

parent d3970aba
...@@ -2611,24 +2611,26 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2611,24 +2611,26 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Map<String, Object> tabTotalMap = new HashMap<>(); Map<String, Object> tabTotalMap = new HashMap<>();
String orgCode = filter.getString("orgCode"); String orgCode = filter.getString("orgCode");
List<Map<String, Object>> data = new ArrayList<>();
if (StatisticalAnalysisEnum.equip.getCode().equals(businessType)) { if (StatisticalAnalysisEnum.equip.getCode().equals(businessType)) {
boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode)); 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)) { } else if (StatisticalAnalysisEnum.company.getCode().equals(businessType)) {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode)); boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
result = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
} else { } else {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode)); 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("tabTotalMap", tabTotalMap);
result.put("datas", data);
return result; 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(); BoolQueryBuilder equipBoolMust = QueryBuilders.boolQuery();
equipBoolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode)); equipBoolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
BoolQueryBuilder companyBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder companyBoolMust = QueryBuilders.boolQuery();
...@@ -2639,6 +2641,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2639,6 +2641,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String companyIndex = StatisticalAnalysisEnum.company.getKey(); String companyIndex = StatisticalAnalysisEnum.company.getKey();
String personIndex = StatisticalAnalysisEnum.person.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())) { if (businessType.equals(StatisticalAnalysisEnum.equip.getCode())) {
// 获取企业总数 // 获取企业总数
Long companyCount = getStaticCount(companyBoolMust, companyIndex); Long companyCount = getStaticCount(companyBoolMust, companyIndex);
...@@ -2646,6 +2651,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2646,6 +2651,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Long personCount = getStaticCount(personBoolMust, personIndex); Long personCount = getStaticCount(personBoolMust, personIndex);
tabTotalMap.put(StatisticalAnalysisEnum.company.getCode(), companyCount); tabTotalMap.put(StatisticalAnalysisEnum.company.getCode(), companyCount);
tabTotalMap.put(StatisticalAnalysisEnum.person.getCode(), personCount); tabTotalMap.put(StatisticalAnalysisEnum.person.getCode(), personCount);
tabTotalMap.put(StatisticalAnalysisEnum.equip.getCode(), otherCount);
} else if (businessType.equals(StatisticalAnalysisEnum.company.getCode())) { } else if (businessType.equals(StatisticalAnalysisEnum.company.getCode())) {
// 获取设备总数 // 获取设备总数
Long equipCount = getStaticCount(equipBoolMust, equipIndex); Long equipCount = getStaticCount(equipBoolMust, equipIndex);
...@@ -2653,6 +2659,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2653,6 +2659,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Long personCount = getStaticCount(personBoolMust, personIndex); Long personCount = getStaticCount(personBoolMust, personIndex);
tabTotalMap.put(StatisticalAnalysisEnum.equip.getCode(), equipCount); tabTotalMap.put(StatisticalAnalysisEnum.equip.getCode(), equipCount);
tabTotalMap.put(StatisticalAnalysisEnum.person.getCode(), personCount); tabTotalMap.put(StatisticalAnalysisEnum.person.getCode(), personCount);
tabTotalMap.put(StatisticalAnalysisEnum.company.getCode(), otherCount);
} else { } else {
// 获取设备总数 // 获取设备总数
Long equipCount = getStaticCount(equipBoolMust, equipIndex); Long equipCount = getStaticCount(equipBoolMust, equipIndex);
...@@ -2660,19 +2667,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2660,19 +2667,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Long companyCount = getStaticCount(companyBoolMust, companyIndex); Long companyCount = getStaticCount(companyBoolMust, companyIndex);
tabTotalMap.put(StatisticalAnalysisEnum.equip.getCode(), equipCount); tabTotalMap.put(StatisticalAnalysisEnum.equip.getCode(), equipCount);
tabTotalMap.put(StatisticalAnalysisEnum.company.getCode(), companyCount); 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; 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; 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()); request.indices(StatisticalAnalysisEnum.equip.getKey());
JSONObject filterParams = new JSONObject(); JSONObject filterParams = new JSONObject();
...@@ -2696,29 +2704,27 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2696,29 +2704,27 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} }
Map<String, Object> staticCountByGroup = getStaticCountByGroup(request, builder, boolMust, groupField); List<Map<String, Object>> staticCountByGroup = getStaticCountByGroup(request, builder, boolMust, groupField);
return JSONObject.parseObject(JSON.toJSONString(staticCountByGroup)); 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.query(boolMust);
builder.aggregation(AggregationBuilders.terms(groupField).field(groupField).missing("null")); builder.aggregation(AggregationBuilders.terms(groupField).field(groupField).missing("null"));
request.source(builder); request.source(builder);
List<Map<String, Object>> data = new ArrayList<>();
try { try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT); SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
Terms terms = response.getAggregations().get(groupField); Terms terms = response.getAggregations().get(groupField);
Map<String, Object> tabTotalMap = new HashMap<>(); Map<String, Object> groupMap = new HashMap<>();
for (Terms.Bucket bucket : terms.getBuckets()) { 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) { } catch (IOException e) {
throw new RuntimeException(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