Commit a5491e49 authored by hcing's avatar hcing

fix:统计服务,大屏综合统计查询接口

parent 7c5e2b8a
...@@ -2962,6 +2962,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2962,6 +2962,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String path = "licenses"; String path = "licenses";
String nestedField = path + ".expiryDate"; String nestedField = path + ".expiryDate";
// 不需要资质的人员查询构造条件
BoolQueryBuilder notNeedLicensesQueryBuilder = QueryBuilders.boolQuery()
.mustNot(QueryBuilders.wildcardQuery("newPost", "*66151*"))
.mustNot(QueryBuilders.wildcardQuery("newPost", "*66152*"))
.mustNot(QueryBuilders.wildcardQuery("newPost", "*6552*"))
.mustNot(QueryBuilders.wildcardQuery("newPost", "*6763*"))
.mustNot(QueryBuilders.wildcardQuery("subPost", "*6713*"))
.mustNot(QueryBuilders.wildcardQuery("subPost", "*6764*"))
.mustNot(QueryBuilders.wildcardQuery("subPost", "*6765*"));
// 资质正常 // 资质正常
BoolQueryBuilder normalBoolQuery = QueryBuilderUtils.copyBoolQuery(boolQuery); BoolQueryBuilder normalBoolQuery = QueryBuilderUtils.copyBoolQuery(boolQuery);
NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery(
...@@ -2970,6 +2980,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2970,6 +2980,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode.None ScoreMode.None
); );
normalBoolQuery.must(normalNestedQuery); normalBoolQuery.must(normalNestedQuery);
normalBoolQuery.must(notNeedLicensesQueryBuilder);
Long normalCount = getStatisticCount(normalBoolQuery, StatisticalAnalysisEnum.person.getKey()); Long normalCount = getStatisticCount(normalBoolQuery, StatisticalAnalysisEnum.person.getKey());
result.put("zzzc", normalCount); result.put("zzzc", normalCount);
...@@ -2981,6 +2992,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2981,6 +2992,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode.None ScoreMode.None
); );
nearBoolQuery.must(nearNestedQuery); nearBoolQuery.must(nearNestedQuery);
nearBoolQuery.must(notNeedLicensesQueryBuilder);
Long nearCount = getStatisticCount(nearBoolQuery, StatisticalAnalysisEnum.person.getKey()); Long nearCount = getStatisticCount(nearBoolQuery, StatisticalAnalysisEnum.person.getKey());
result.put("zzlq", nearCount); result.put("zzlq", nearCount);
...@@ -2992,6 +3004,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2992,6 +3004,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode.None ScoreMode.None
); );
overBoolQuery.must(overNestedQuery); overBoolQuery.must(overNestedQuery);
overBoolQuery.must(notNeedLicensesQueryBuilder);
Long overCount = getStatisticCount(overBoolQuery, StatisticalAnalysisEnum.person.getKey()); Long overCount = getStatisticCount(overBoolQuery, StatisticalAnalysisEnum.person.getKey());
result.put("zzcq", overCount); result.put("zzcq", overCount);
...@@ -3003,10 +3016,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3003,10 +3016,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode.None ScoreMode.None
); );
nothingBoolQuery.must(nothingNestedQuery); nothingBoolQuery.must(nothingNestedQuery);
nothingBoolQuery.must(notNeedLicensesQueryBuilder);
Long nothingCount = getStatisticCount(nothingBoolQuery, StatisticalAnalysisEnum.person.getKey()); Long nothingCount = getStatisticCount(nothingBoolQuery, StatisticalAnalysisEnum.person.getKey());
result.put("wyxq", nothingCount); result.put("wyxq", nothingCount);
// 无资质 // 无资质 : 需要资质的人员没有资质的情况
BoolQueryBuilder notLicensesBoolQuery = QueryBuilderUtils.copyBoolQuery(boolQuery); BoolQueryBuilder notLicensesBoolQuery = QueryBuilderUtils.copyBoolQuery(boolQuery);
DynamicQueryBuilder mainBuilder = new DynamicQueryBuilder(); DynamicQueryBuilder mainBuilder = new DynamicQueryBuilder();
...@@ -3035,6 +3049,21 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3035,6 +3049,21 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
notLicensesBoolQuery.must(mainBuilder.build()); notLicensesBoolQuery.must(mainBuilder.build());
Long otLicensesCount = getStatisticCount(notLicensesBoolQuery, StatisticalAnalysisEnum.person.getKey()); Long otLicensesCount = getStatisticCount(notLicensesBoolQuery, StatisticalAnalysisEnum.person.getKey());
result.put("wzz", otLicensesCount); result.put("wzz", otLicensesCount);
// 无资质要求查询
BoolQueryBuilder notNeedLicensesBoolQuery = QueryBuilderUtils.copyBoolQuery(boolQuery);
DynamicQueryBuilder mainBuilderNotNeed = new DynamicQueryBuilder();
EnhancedDynamicQueryBuilder dynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
EnhancedDynamicQueryBuilder notNeedLicensesQuery = new EnhancedDynamicQueryBuilder();
notNeedLicensesQuery.add(notNeedLicensesQueryBuilder, and);
dynamicQueryBuilder.add(notNeedLicensesQuery.build(), "AND");
mainBuilderNotNeed.and(dynamicQueryBuilder.build());
notNeedLicensesBoolQuery.must(mainBuilderNotNeed.build());
Long notNeedLicensesCount = getStatisticCount(notNeedLicensesBoolQuery, StatisticalAnalysisEnum.person.getKey());
result.put("wzzyq", notNeedLicensesCount);
return result; return result;
} }
......
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