Commit e6368b2e authored by tianyiming's avatar tianyiming

修改bug30314

parent 2cd0df20
...@@ -341,27 +341,27 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -341,27 +341,27 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
// 组装人员过滤条件 // 组装人员过滤条件
this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType); this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType);
} if ("custom".equals(filterType)) {
JSONArray leftGroup = filterParams.getJSONArray("group1");
if ("custom".equals(filterType)) { JSONArray rightGroup = filterParams.getJSONArray("group2");
JSONArray leftGroup = filterParams.getJSONArray("group1"); licensesStatusStr = getFilterPermitStatusOrLicensesStatus(leftGroup, rightGroup, StatisticalAnalysisEnum.person.getCode());
JSONArray rightGroup = filterParams.getJSONArray("group2"); } else {
licensesStatusStr = getFilterPermitStatusOrLicensesStatus(leftGroup, rightGroup, StatisticalAnalysisEnum.person.getCode()); // 资质判断
} else { if (filterParams.containsKey("expiryDate")) {
// 资质判断 Object permitStatus = filterParams.get("expiryDate");
if (filterParams.containsKey("expiryDate")) { if (permitStatus instanceof JSONArray) {
Object permitStatus = filterParams.get("expiryDate"); JSONArray jsonArray = (JSONArray) permitStatus;
if (permitStatus instanceof JSONArray) { if (!ObjectUtils.isEmpty(jsonArray) && !jsonArray.contains("all") && jsonArray.size() == 1) {
JSONArray jsonArray = (JSONArray) permitStatus; licensesStatusStr = jsonArray.get(0).toString();
if (!ObjectUtils.isEmpty(jsonArray) && !jsonArray.contains("all") && jsonArray.size() == 1) { }
licensesStatusStr = jsonArray.get(0).toString();
} }
} }
} if (filterParams.containsKey("certNo") && filterParams.getJSONArray("certNo").size() == 1 && "0".equals(filterParams.getJSONArray("certNo").get(0).toString())) {
if (filterParams.containsKey("certNo") && filterParams.getJSONArray("certNo").size() == 1 && "0".equals(filterParams.getJSONArray("certNo").get(0).toString())) { licensesStatusStr = noLicenseReq;
licensesStatusStr = noLicenseReq; }
} }
} }
// 组装人员排序条件 // 组装人员排序条件
this.getPersonBoolQuerySort(filter, builder); this.getPersonBoolQuerySort(filter, builder);
...@@ -1899,17 +1899,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1899,17 +1899,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))),
ScoreMode.None ScoreMode.None
); );
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
existsQuery(nestedField),
ScoreMode.None
);
builder.add(nestedQuery, and);
if (value.equals(overdue)) { if (value.equals(overdue)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().must(overdueNestedQuery), isOr); builder.add(QueryBuilders.boolQuery().must(overdueNestedQuery), isOr);
} else { } else {
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder(); EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder otherQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gte(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gte(LocalDate.now().format(formatter))),
ScoreMode.None ScoreMode.None
); );
builders.add(QueryBuilders.boolQuery().must(nestedQuery), or); builders.add(QueryBuilders.boolQuery().must(otherQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or); builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(overdueNestedQuery), and); builders.add(QueryBuilders.boolQuery().mustNot(overdueNestedQuery), and);
builder.add(builders.build(), isOr); builder.add(builders.build(), isOr);
...@@ -1930,12 +1936,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1930,12 +1936,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
builder.add(normalNestedQuery, isOr); builder.add(normalNestedQuery, isOr);
} else { } else {
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder(); EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder otherQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.None ScoreMode.None
); );
builders.add(QueryBuilders.boolQuery().must(nestedQuery), or); builders.add(QueryBuilders.boolQuery().must(otherQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or); builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(normalNestedQuery), and); builders.add(QueryBuilders.boolQuery().mustNot(normalNestedQuery), and);
builder.add(builders.build(), isOr); builder.add(builders.build(), isOr);
......
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