Commit 16e25d8a authored by hcing's avatar hcing

fix(common):资质状态判断逻辑修改

parent 9bd51e02
......@@ -176,65 +176,68 @@ public class TZSCommonServiceImpl {
* @param nestedField
*/
public void buildExpiryDateQueryBuilder(BoolQueryBuilder boolMust, String licensesStatus, String path, String nestedField) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
existsQuery(path + "." + "certNo"),
ScoreMode.None
);
if (licensesStatus.equals(overdue)) {
// 不需要资质的人员查询构造条件
BoolQueryBuilder notNeedLicensesQueryBuilder = this.getNotLicencesBuilderWithPerson();
boolMust.must(notNeedLicensesQueryBuilder);
// 超期:小于当前日期
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
NestedQueryBuilder overdueQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter)),
ScoreMode.None
);
boolMust.must(overdueQuery);
boolMust.must(nestedQuery);
} else if (licensesStatus.equals(near)) {
// 不需要资质的人员查询构造条件
BoolQueryBuilder notNeedLicensesQueryBuilder = this.getNotLicencesBuilderWithPerson();
boolMust.must(notNeedLicensesQueryBuilder);
// 临期:小于等于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
NestedQueryBuilder nearQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter)),
ScoreMode.None
);
boolMust.must(nearQuery);
boolMust.must(nestedQuery);
} else if (licensesStatus.equals(normal)) {
// 不需要资质的人员查询构造条件
BoolQueryBuilder notNeedLicensesQueryBuilder = this.getNotLicencesBuilderWithPerson();
boolMust.must(notNeedLicensesQueryBuilder);
// 正常:大于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
NestedQueryBuilder normalQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter)),
ScoreMode.None
);
boolMust.must(normalQuery);
boolMust.must(nestedQuery);
} else if (licensesStatus.equals(none)) {
// 不需要资质的人员查询构造条件
BoolQueryBuilder notNeedLicensesQueryBuilder = this.getNotLicencesBuilderWithPerson();
boolMust.must(notNeedLicensesQueryBuilder);
// 无有效期
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
NestedQueryBuilder noneQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().mustNot(existsQuery(nestedField)),
ScoreMode.None
);
boolMust.must(noneQuery);
boolMust.must(nestedQuery);
}
// 只在人员列表处用到
// 综合统计处未用到下面的条件,理论上走不到下面俩条件
else if (licensesStatus.equals(noLicense)) {
// 无资质
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
existsQuery(path + "." + "certNo"),
ScoreMode.None
);
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery();
meBuilder.must(this.getNotLicencesBuilderWithPerson());
meBuilder.must(QueryBuilders.boolQuery().mustNot(nestedQuery));
boolMust.must(meBuilder);
boolMust.must(nestedQuery);
} else if (licensesStatus.equals(noLicenseReq)) {
// 无资质要求
boolMust.must(this.getNotNeedLicencesBuilderWithPerson());
......
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