Commit e6368b2e authored by tianyiming's avatar tianyiming

修改bug30314

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