Commit f2f63ea9 authored by tianyiming's avatar tianyiming

修改bug

parent 5bbd5ec0
...@@ -21,7 +21,8 @@ public enum EquipStateEnum { ...@@ -21,7 +21,8 @@ public enum EquipStateEnum {
ZY("在用", "1"), ZY("在用", "1"),
TY("停用", "2"), TY("停用", "2"),
ZX("注销", "4"), ZX("注销", "4"),
BF("报废", "3") BF("报废", "3"),
WZT("无状态", "99"),
; ;
private String name; private String name;
......
...@@ -17,27 +17,28 @@ public enum UnitTypeNewEnum { ...@@ -17,27 +17,28 @@ public enum UnitTypeNewEnum {
* *注册单位类型 * *注册单位类型
*/ */
sydw("企业", "1232", "use"), sydw("企业","使用单位", "1232", "use"),
czdw("充装单位", "1231", "license"), czdw("充装单位", "充装单位", "1231", "license"),
jydw("检验单位", "1233", "license"), jydw("检验单位", "检验单位","1233", "license"),
jcdw("检测单位", "1233", "license"), jcdw("检测单位", "检测单位", "1233", "license"),
azgzwxdw("安装改造维修单位", "1234", "license"), azgzwxdw("安装改造维修单位", "安装改造维修单位","1234", "license"),
zzdw("制造单位", "1236", "license"), zzdw("制造单位", "制造单位", "1236", "license"),
sjdw("设计单位", "1235", "license"), sjdw("设计单位", "设计单位", "1235", "license"),
grzt("个人主体", "6599", "use"); grzt("个人主体", "个人主体", "6599", "use");
private String name; private String label;
private String value;
private String code; private String code;
private String type; private String type;
public static Map<String, String> getName = new HashMap<>(); public static Map<String, String> getValue = new HashMap<>();
public static Map<String, String> getCode = new HashMap<>(); public static Map<String, String> getCode = new HashMap<>();
static { static {
for (UnitTypeNewEnum e : UnitTypeNewEnum.values()) { for (UnitTypeNewEnum e : UnitTypeNewEnum.values()) {
getName.put(e.code, e.name); getValue.put(e.code, e.value);
getCode.put(e.name, e.code); getCode.put(e.value, e.code);
} }
} }
...@@ -45,8 +46,8 @@ public enum UnitTypeNewEnum { ...@@ -45,8 +46,8 @@ public enum UnitTypeNewEnum {
JSONArray jsonArray = new JSONArray(); JSONArray jsonArray = new JSONArray();
for (UnitTypeNewEnum e : UnitTypeNewEnum.values()) { for (UnitTypeNewEnum e : UnitTypeNewEnum.values()) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("label", e.name); jsonObject.put("label", e.label);
jsonObject.put("value", e.name); jsonObject.put("value", e.value);
jsonObject.put("key", e.code); jsonObject.put("key", e.code);
jsonArray.add(jsonObject); jsonArray.add(jsonObject);
} }
...@@ -61,8 +62,8 @@ public enum UnitTypeNewEnum { ...@@ -61,8 +62,8 @@ public enum UnitTypeNewEnum {
for (UnitTypeNewEnum e : UnitTypeNewEnum.values()) { for (UnitTypeNewEnum e : UnitTypeNewEnum.values()) {
if (e.type.equals(category)) { if (e.type.equals(category)) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("label", e.name); jsonObject.put("label", e.label);
jsonObject.put("value", e.name); jsonObject.put("value", e.value);
jsonObject.put("key", e.code); jsonObject.put("key", e.code);
jsonArray.add(jsonObject); jsonArray.add(jsonObject);
} }
......
...@@ -127,6 +127,17 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController { ...@@ -127,6 +127,17 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/queryRYLX")
@ApiOperation(httpMethod = "GET", value = "高级筛选查询人员类型", notes = "高级筛选查询人员类型")
public ResponseModel<JSONArray> queryRYLX(@RequestParam(required = false) String type) {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryRYLX(type));
}
/**
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/queryZYXM") @GetMapping(value = "/select/queryZYXM")
@ApiOperation(httpMethod = "GET", value = "查询作业项目", notes = "查询作业项目") @ApiOperation(httpMethod = "GET", value = "查询作业项目", notes = "查询作业项目")
public ResponseModel<JSONArray> queryZYXM(@RequestParam String type) { public ResponseModel<JSONArray> queryZYXM(@RequestParam String type) {
......
...@@ -254,6 +254,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -254,6 +254,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if (!ObjectUtils.isEmpty(filter.get("filterParams"))) { if (!ObjectUtils.isEmpty(filter.get("filterParams"))) {
filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType"); String filterType = filter.getString("filterType");
deleteUnitCategory(filterParams);
//快捷筛选和自定义筛选解析筛选规则不一致 //快捷筛选和自定义筛选解析筛选规则不一致
if (filterType.equals("advanced")) { if (filterType.equals("advanced")) {
filterParams.forEach((k, v) -> { filterParams.forEach((k, v) -> {
...@@ -261,11 +262,18 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -261,11 +262,18 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if (!((JSONArray) v).contains("all") && ((JSONArray) v).size() > 0) { if (!((JSONArray) v).contains("all") && ((JSONArray) v).size() > 0) {
String field = k; String field = k;
if (k.equals("newPost") || k.equals("subPost") || k.equals("equipType")) { if (k.equals("newPost") || k.equals("subPost") || k.equals("equipType")) {
DynamicQueryBuilder dynamicQueryBuilder = new DynamicQueryBuilder();
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder(); EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
((JSONArray) v).forEach(item -> enhancedDynamicQueryBuilder.add(QueryBuilders.wildcardQuery(field, "*" + item + "*"), or)); ((JSONArray) v).forEach(item -> enhancedDynamicQueryBuilder.add(QueryBuilders.wildcardQuery(field, "*" + item + "*"), or));
boolMust.should(enhancedDynamicQueryBuilder.build()).minimumShouldMatch(1); dynamicQueryBuilder.and(enhancedDynamicQueryBuilder.build().minimumShouldMatch(1));
boolMust.must(dynamicQueryBuilder.build());
} else if (k.equals("unitType")) { } else if (k.equals("unitType")) {
((JSONArray) v).forEach(item -> boolMust.should(QueryBuilders.wildcardQuery(field + ".keyword", "*" + (item.equals("企业") ? "使用单位" : item) + "*")).minimumShouldMatch(1)); DynamicQueryBuilder dynamicQueryBuilder = new DynamicQueryBuilder();
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
((JSONArray) v).forEach(item ->
enhancedDynamicQueryBuilder.add(QueryBuilders.wildcardQuery(field + ".keyword", "*" + item + "*"), or));
dynamicQueryBuilder.and(enhancedDynamicQueryBuilder.build().minimumShouldMatch(1));
boolMust.must(dynamicQueryBuilder.build());
} else if (k.equals("education")) { } else if (k.equals("education")) {
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery(field, (JSONArray) v); TermsQueryBuilder termsQuery = QueryBuilders.termsQuery(field, (JSONArray) v);
boolMust.must(termsQuery); boolMust.must(termsQuery);
...@@ -283,29 +291,33 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -283,29 +291,33 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode.Avg ScoreMode.Avg
); );
// 以下人员类型有资质要求 // 以下人员类型有资质要求
// 人员类型(newPost):检验人员:66151、检测人员:66152 // 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765 // 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
if (item.equals("1")) { if (item.equals("1")) {
boolMust.must(nestedQuery); boolMust.must(nestedQuery);
} else if (item.equals("0")) { } else if (item.equals("0")) {
// 无资质 // 无资质
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery() BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery()
.should(QueryBuilders.wildcardQuery("newPost.keyword", "*66151*")) .should(QueryBuilders.wildcardQuery("newPost", "*66151*"))
.should(QueryBuilders.wildcardQuery("newPost.keyword", "*66152*")) .should(QueryBuilders.wildcardQuery("newPost", "*66152*"))
.should(QueryBuilders.wildcardQuery("subPost.keyword", "*6713*")) .should(QueryBuilders.wildcardQuery("newPost", "*6552*"))
.should(QueryBuilders.wildcardQuery("subPost.keyword", "*6764*")) .should(QueryBuilders.wildcardQuery("newPost", "*6763*"))
.should(QueryBuilders.wildcardQuery("subPost.keyword", "*6765*")) .should(QueryBuilders.wildcardQuery("subPost", "*6713*"))
.should(QueryBuilders.wildcardQuery("subPost", "*6764*"))
.should(QueryBuilders.wildcardQuery("subPost", "*6765*"))
.minimumShouldMatch(1); .minimumShouldMatch(1);
boolMust.must(queryBuilder); boolMust.must(queryBuilder);
boolMust.mustNot(nestedQuery); boolMust.mustNot(nestedQuery);
} else { } else {
// 无资质要求 // 无资质要求
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery() BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery()
.mustNot(QueryBuilders.wildcardQuery("newPost.keyword", "*66151*")) .mustNot(QueryBuilders.wildcardQuery("newPost", "*66151*"))
.mustNot(QueryBuilders.wildcardQuery("newPost.keyword", "*66152*")) .mustNot(QueryBuilders.wildcardQuery("newPost", "*66152*"))
.mustNot(QueryBuilders.wildcardQuery("subPost.keyword", "*6713*")) .mustNot(QueryBuilders.wildcardQuery("newPost", "*6552*"))
.mustNot(QueryBuilders.wildcardQuery("subPost.keyword", "*6764*")) .mustNot(QueryBuilders.wildcardQuery("newPost", "*6763*"))
.mustNot(QueryBuilders.wildcardQuery("subPost.keyword", "*6765*")); .mustNot(QueryBuilders.wildcardQuery("subPost", "*6713*"))
.mustNot(QueryBuilders.wildcardQuery("subPost", "*6764*"))
.mustNot(QueryBuilders.wildcardQuery("subPost", "*6765*"));
boolMust.must(queryBuilder); boolMust.must(queryBuilder);
} }
} else if (k.equals("expiryDate")) { } else if (k.equals("expiryDate")) {
...@@ -375,7 +387,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -375,7 +387,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String category = v.toString(); String category = v.toString();
JSONArray unitTypeByType = UnitTypeNewEnum.getUnitTypeByType(category); JSONArray unitTypeByType = UnitTypeNewEnum.getUnitTypeByType(category);
List<String> list = unitTypeByType.stream().map(e -> JSONObject.parseObject(JSONObject.toJSONString(e)).get("value").toString()).collect(Collectors.toList()); List<String> list = unitTypeByType.stream().map(e -> JSONObject.parseObject(JSONObject.toJSONString(e)).get("value").toString()).collect(Collectors.toList());
list.forEach(item -> boolMust.should(QueryBuilders.wildcardQuery("unitType.keyword", "*" + (item.equals("企业") ? "使用单位" : item) + "*")).minimumShouldMatch(1)); list.forEach(item -> boolMust.should(QueryBuilders.wildcardQuery("unitType.keyword", "*" + item + "*")).minimumShouldMatch(1));
} }
} }
} }
...@@ -429,16 +441,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -429,16 +441,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String licensesStauts = ""; String licensesStauts = "";
if (dto.containsKey("licenses")) { if (dto.containsKey("licenses")) {
// 以下人员类型有资质要求 // 以下人员类型有资质要求
// 人员类型(newPost):检验人员:66151、检测人员:66152 // 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765 // 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
String newPost = ObjectUtils.isEmpty(dto.getString("newPost")) ? "" : dto.getString("newPost"); String newPost = ObjectUtils.isEmpty(dto.getString("newPost")) ? "" : dto.getString("newPost");
String subPost = ObjectUtils.isEmpty(dto.getString("subPost")) ? "" : dto.getString("subPost"); String subPost = ObjectUtils.isEmpty(dto.getString("subPost")) ? "" : dto.getString("subPost");
if (newPost.contains("66151") || newPost.contains("66152") || subPost.contains("6713") || subPost.contains("6764") || subPost.contains("6765")) { if (newPost.contains("66151") || newPost.contains("66152") || newPost.contains("6763") || newPost.contains("6552") || subPost.contains("6713") || subPost.contains("6764") || subPost.contains("6765")) {
JSONArray licenses = dto.getJSONArray("licenses"); JSONArray licenses = dto.getJSONArray("licenses");
if (!ObjectUtils.isEmpty(licenses)) { if (!ObjectUtils.isEmpty(licenses)) {
List<String> permissionStatusList = new ArrayList<>(); List<String> permissionStatusList = new ArrayList<>();
for (Object object : licenses) { for (Object object : licenses) {
JSONObject json = JSONObject.parseObject(JSONObject.toJSONString(object)); JSONObject json = JSONObject.parseObject(JSONObject.toJSONString(object));
if (!json.containsKey("certNo")) {
licensesStauts = "无资质";
continue;
}
String expiryDate = json.getString("expiryDate"); String expiryDate = json.getString("expiryDate");
if (!ObjectUtils.isEmpty(expiryDate)) { if (!ObjectUtils.isEmpty(expiryDate)) {
long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(expiryDate, formatter)); long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(expiryDate, formatter));
...@@ -505,9 +521,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -505,9 +521,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if (!ObjectUtils.isEmpty(filter.get("filterParams"))) { if (!ObjectUtils.isEmpty(filter.get("filterParams"))) {
filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType"); String filterType = filter.getString("filterType");
if (filterParams.containsKey("unitType") && !filterParams.getString("unitType").contains("all") && !filterParams.getString("unitType").contains("[]")) { deleteUnitCategory(filterParams);
filterParams.remove("unitCategory");
}
//快捷筛选和自定义筛选解析筛选规则不一致 //快捷筛选和自定义筛选解析筛选规则不一致
if (filterType.equals("advanced")) { if (filterType.equals("advanced")) {
filterParams.forEach((k, v) -> { filterParams.forEach((k, v) -> {
...@@ -515,12 +529,17 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -515,12 +529,17 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if (!((JSONArray) v).contains("all") && ((JSONArray) v).size() > 0) { if (!((JSONArray) v).contains("all") && ((JSONArray) v).size() > 0) {
String field = k; String field = k;
if (k.equals("regulatoryLabels") || k.equals("equipCategory") || k.equals("unitType")) { if (k.equals("regulatoryLabels") || k.equals("equipCategory") || k.equals("unitType")) {
((JSONArray) v).forEach(item -> boolMust.should(QueryBuilders.wildcardQuery(field + ".keyword", "*" + (item.equals("企业") ? "使用单位" : item) + "*")).minimumShouldMatch(1)); DynamicQueryBuilder dynamicQueryBuilder = new DynamicQueryBuilder();
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
((JSONArray) v).forEach(item -> enhancedDynamicQueryBuilder.add(QueryBuilders.wildcardQuery(field + ".keyword", "*" + item + "*"), or));
dynamicQueryBuilder.and(enhancedDynamicQueryBuilder.build().minimumShouldMatch(1));
boolMust.must(dynamicQueryBuilder.build());
} else if (k.equals("industrySupervisor") || k.equals("operatingStatus")) { } else if (k.equals("industrySupervisor") || k.equals("operatingStatus")) {
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery(field + ".keyword", ((JSONArray) v).get(0)); TermsQueryBuilder termsQuery = QueryBuilders.termsQuery(field + ".keyword", ((JSONArray) v));
boolMust.must(termsQuery); boolMust.must(termsQuery);
} else if (k.equals("itemCode") || k.equals("subItemCode") || k.equals("permitStatus")) { } else if (k.equals("itemCode") || k.equals("subItemCode") || k.equals("permitStatus")) {
String path = "licenses"; String path = "licenses";
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
((JSONArray) v).forEach(item -> { ((JSONArray) v).forEach(item -> {
String nestedField = path + "." + (k.equals("permitStatus") ? "expiryDate" : k + ".keyword"); String nestedField = path + "." + (k.equals("permitStatus") ? "expiryDate" : k + ".keyword");
if (k.equals("permitStatus")) { if (k.equals("permitStatus")) {
...@@ -531,7 +550,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -531,7 +550,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))),
ScoreMode.Avg ScoreMode.Avg
); );
boolMust.must(nestedQuery); enhancedDynamicQueryBuilder.add(nestedQuery, or);
} else if (item.equals("near")) { } else if (item.equals("near")) {
// 临期:小于等于当前日期加上30天 // 临期:小于等于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
...@@ -539,7 +558,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -539,7 +558,7 @@ 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.Avg ScoreMode.Avg
); );
boolMust.must(nestedQuery); enhancedDynamicQueryBuilder.add(nestedQuery, or);
} else if (item.equals("normal")) { } else if (item.equals("normal")) {
// 正常:大于当前日期加上30天 // 正常:大于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
...@@ -547,7 +566,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -547,7 +566,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.Avg ScoreMode.Avg
); );
boolMust.must(nestedQuery); enhancedDynamicQueryBuilder.add(nestedQuery, or);
} }
} else { } else {
// 创建嵌套查询 // 创建嵌套查询
...@@ -556,9 +575,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -556,9 +575,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders.termsQuery(nestedField, item), QueryBuilders.termsQuery(nestedField, item),
ScoreMode.Avg ScoreMode.Avg
); );
boolMust.must(nestedQuery); enhancedDynamicQueryBuilder.add(nestedQuery, or);
} }
}); });
boolMust.must(enhancedDynamicQueryBuilder.build());
} }
} }
} else if (v instanceof String) { } else if (v instanceof String) {
...@@ -576,7 +596,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -576,7 +596,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String category = v.toString(); String category = v.toString();
JSONArray unitTypeByType = UnitTypeNewEnum.getUnitTypeByType(category); JSONArray unitTypeByType = UnitTypeNewEnum.getUnitTypeByType(category);
List<String> list = unitTypeByType.stream().map(e -> JSONObject.parseObject(JSONObject.toJSONString(e)).get("value").toString()).collect(Collectors.toList()); List<String> list = unitTypeByType.stream().map(e -> JSONObject.parseObject(JSONObject.toJSONString(e)).get("value").toString()).collect(Collectors.toList());
list.forEach(item -> boolMust.should(QueryBuilders.wildcardQuery("unitType.keyword", "*" + (item.equals("企业") ? "使用单位" : item) + "*")).minimumShouldMatch(1)); EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
list.forEach(item -> enhancedDynamicQueryBuilder.add(QueryBuilders.boolQuery().should(QueryBuilders.wildcardQuery("unitType.keyword", "*" + item + "*")), or));
boolMust.must(enhancedDynamicQueryBuilder.build());
} }
} }
} }
...@@ -665,6 +687,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -665,6 +687,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
private void deleteUnitCategory(JSONObject filterParams) {
if (filterParams.containsKey("unitType") && !filterParams.getString("unitType").contains("all") && !filterParams.getString("unitType").contains("[]")) {
filterParams.remove("unitCategory");
}
if (filterParams.containsKey("regulatoryLabels") && !filterParams.getString("regulatoryLabels").contains("all") && !filterParams.getString("regulatoryLabels").contains("[]")) {
filterParams.remove("unitCategory");
}
}
private JSONObject queryEquipmentPage(JSONObject filter, Page<JSONObject> page, Integer current, Integer size) { private JSONObject queryEquipmentPage(JSONObject filter, Page<JSONObject> page, Integer current, Integer size) {
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
...@@ -748,7 +780,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -748,7 +780,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} else { } else {
boolMust.filter(QueryBuilders.rangeQuery(field).gte(startDate).lte(endDate)); boolMust.filter(QueryBuilders.rangeQuery(field).gte(startDate).lte(endDate));
} }
} else if (k.equals("EQU_LIST") || k.equals("EQU_CATEGORY") || k.equals("EQU_DEFINE") || k.equals("EQU_STATE") || k.equals("DATA_QUALITY_SCORE")) { } else if (k.equals("EQU_LIST") || k.equals("EQU_CATEGORY") || k.equals("EQU_DEFINE") || k.equals("DATA_QUALITY_SCORE")) {
if (k.equals("EQU_LIST")) { if (k.equals("EQU_LIST")) {
field = "EQU_LIST_CODE"; field = "EQU_LIST_CODE";
} else if (k.equals("EQU_CATEGORY")) { } else if (k.equals("EQU_CATEGORY")) {
...@@ -758,6 +790,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -758,6 +790,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery(field, (JSONArray) v); TermsQueryBuilder termsQuery = QueryBuilders.termsQuery(field, (JSONArray) v);
boolMust.must(termsQuery); boolMust.must(termsQuery);
} else if (k.equals("EQU_STATE")) {
EnhancedDynamicQueryBuilder queryBuilder = new EnhancedDynamicQueryBuilder();
((JSONArray) v).forEach(item -> {
if (!item.equals("99")) {
queryBuilder.add(QueryBuilders.matchQuery(k, item.toString()), or);
} else {
queryBuilder.add(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery(k)), or);
}
});
boolMust.must(queryBuilder.build());
} else if (k.equals("JDJY") || k.equals("DQJY") || k.equals("SCJY") || k.equals("DTJY")) { } else if (k.equals("JDJY") || k.equals("DQJY") || k.equals("SCJY") || k.equals("DTJY")) {
String path = "inspections"; String path = "inspections";
String typeField = path + ".inspectType"; String typeField = path + ".inspectType";
...@@ -881,7 +923,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -881,7 +923,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
dto.put("WHETHER_VEHICLE_CYLINDER", ObjectUtils.isEmpty(dto.get("WHETHER_VEHICLE_CYLINDER")) ? "" : "1".equals(dto.get("WHETHER_VEHICLE_CYLINDER")) ? "是" : "否"); dto.put("WHETHER_VEHICLE_CYLINDER", ObjectUtils.isEmpty(dto.get("WHETHER_VEHICLE_CYLINDER")) ? "" : "1".equals(dto.get("WHETHER_VEHICLE_CYLINDER")) ? "是" : "否");
dto.put("WHETHER_SKID_MOUNTED_PRESSURE_VESSEL", ObjectUtils.isEmpty(dto.get("WHETHER_SKID_MOUNTED_PRESSURE_VESSEL")) ? "" : "1".equals(dto.get("WHETHER_SKID_MOUNTED_PRESSURE_VESSEL")) ? "是" : "否"); dto.put("WHETHER_SKID_MOUNTED_PRESSURE_VESSEL", ObjectUtils.isEmpty(dto.get("WHETHER_SKID_MOUNTED_PRESSURE_VESSEL")) ? "" : "1".equals(dto.get("WHETHER_SKID_MOUNTED_PRESSURE_VESSEL")) ? "是" : "否");
dto.put("whetherSphericalTank", ObjectUtils.isEmpty(dto.get("whetherSphericalTank")) ? "" : "1".equals(dto.get("whetherSphericalTank")) ? "是" : "否"); dto.put("whetherSphericalTank", ObjectUtils.isEmpty(dto.get("whetherSphericalTank")) ? "" : "1".equals(dto.get("whetherSphericalTank")) ? "是" : "否");
dto.put("EQU_STATE", ObjectUtils.isEmpty(dto.get("EQU_STATE")) ? null : EquipStateEnum.getNameByCode(dto.get("EQU_STATE").toString())); dto.put("EQU_STATE", ObjectUtils.isEmpty(dto.get("EQU_STATE")) ? "无状态" : EquipStateEnum.getNameByCode(dto.get("EQU_STATE").toString()));
list.add(dto); list.add(dto);
} }
totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value; totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value;
...@@ -1266,11 +1308,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1266,11 +1308,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private void personFieldHandle(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) { private void personFieldHandle(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) {
if (field.equals("newPost") || field.equals("subPost") || field.equals("equipType")) { if (field.equals("newPost") || field.equals("subPost") || field.equals("equipType")) {
if (itemCondition.equals("eq")) { if (itemCondition.equals("eq")) {
builder.add(QueryBuilders.termQuery(field + ".keyword", value), isOr); builder.add(QueryBuilders.termQuery(field, value), isOr);
} else if (itemCondition.equals("in")) { } else if (itemCondition.equals("in")) {
builder.add(QueryBuilders.wildcardQuery(field + ".keyword", "*" + value + "*"), isOr); builder.add(QueryBuilders.wildcardQuery(field, "*" + value + "*"), isOr);
} else { } else {
builder.add(QueryBuilders.boolQuery().mustNot(QueryBuilders.wildcardQuery(field + ".keyword", "*" + value + "*")), isOr); builder.add(QueryBuilders.boolQuery().mustNot(QueryBuilders.wildcardQuery(field, "*" + value + "*")), isOr);
} }
} else { } else {
String path = "licenses"; String path = "licenses";
...@@ -1284,19 +1326,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1284,19 +1326,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
); );
// 无资质查询 // 无资质查询
BoolQueryBuilder noCertQuery = QueryBuilders.boolQuery() BoolQueryBuilder noCertQuery = QueryBuilders.boolQuery()
.should(QueryBuilders.wildcardQuery("newPost.keyword", "*66151*")) .should(QueryBuilders.wildcardQuery("newPost", "*66151*"))
.should(QueryBuilders.wildcardQuery("newPost.keyword", "*66152*")) .should(QueryBuilders.wildcardQuery("newPost", "*66152*"))
.should(QueryBuilders.wildcardQuery("subPost.keyword", "*6713*")) .should(QueryBuilders.wildcardQuery("newPost", "*6552*"))
.should(QueryBuilders.wildcardQuery("subPost.keyword", "*6764*")) .should(QueryBuilders.wildcardQuery("newPost", "*6763*"))
.should(QueryBuilders.wildcardQuery("subPost.keyword", "*6765*")) .should(QueryBuilders.wildcardQuery("subPost", "*6713*"))
.should(QueryBuilders.wildcardQuery("subPost", "*6764*"))
.should(QueryBuilders.wildcardQuery("subPost", "*6765*"))
.minimumShouldMatch(1); .minimumShouldMatch(1);
// 无资质要求查询 // 无资质要求查询
BoolQueryBuilder noCertRequestQuery = QueryBuilders.boolQuery() BoolQueryBuilder noCertRequestQuery = QueryBuilders.boolQuery()
.mustNot(QueryBuilders.wildcardQuery("newPost.keyword", "*66151*")) .mustNot(QueryBuilders.wildcardQuery("newPost", "*66151*"))
.mustNot(QueryBuilders.wildcardQuery("newPost.keyword", "*66152*")) .mustNot(QueryBuilders.wildcardQuery("newPost", "*66152*"))
.mustNot(QueryBuilders.wildcardQuery("subPost.keyword", "*6713*")) .mustNot(QueryBuilders.wildcardQuery("newPost", "*6552*"))
.mustNot(QueryBuilders.wildcardQuery("subPost.keyword", "*6764*")) .mustNot(QueryBuilders.wildcardQuery("newPost", "*6763*"))
.mustNot(QueryBuilders.wildcardQuery("subPost.keyword", "*6765*")); .mustNot(QueryBuilders.wildcardQuery("subPost", "*6713*"))
.mustNot(QueryBuilders.wildcardQuery("subPost", "*6764*"))
.mustNot(QueryBuilders.wildcardQuery("subPost", "*6765*"));
if (value.equals("1")) { if (value.equals("1")) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
...@@ -1306,7 +1352,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1306,7 +1352,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} else if (value.equals("0")) { } else if (value.equals("0")) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(noCertQuery, isOr); EnhancedDynamicQueryBuilder noLicensesQuery = new EnhancedDynamicQueryBuilder();
noLicensesQuery.add(QueryBuilders.boolQuery().mustNot(nestedQuery), and);
noLicensesQuery.add(noCertQuery, and);
builder.add(noLicensesQuery.build(), isOr);
} else { } else {
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder(); EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
builders.add(nestedQuery, and); builders.add(nestedQuery, and);
...@@ -1856,9 +1905,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1856,9 +1905,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ArrayList<String> postDictCodeList = new ArrayList<>(); ArrayList<String> postDictCodeList = new ArrayList<>();
JsonNode jsonNode = new ObjectMapper().readTree(unitTypeLimitUserType.getInputStream()); JsonNode jsonNode = new ObjectMapper().readTree(unitTypeLimitUserType.getInputStream());
type.forEach(unitType -> { type.forEach(unitType -> {
if (unitType.equals("企业")) {
unitType = "使用单位";
}
JsonNode companyTypeNode = jsonNode.get(unitType.toString()); JsonNode companyTypeNode = jsonNode.get(unitType.toString());
if (companyTypeNode != null && companyTypeNode.isObject()) { if (companyTypeNode != null && companyTypeNode.isObject()) {
Iterator<Map.Entry<String, JsonNode>> fields = companyTypeNode.fields(); Iterator<Map.Entry<String, JsonNode>> fields = companyTypeNode.fields();
...@@ -1884,6 +1930,34 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1884,6 +1930,34 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
public JSONArray queryRYLX(String type) {
JSONArray result = new JSONArray();
if (ValidationUtil.isEmpty(type)) {
List<String> typeList = new ArrayList<>(Arrays.asList(
"QYRYGW",
"QYRYGW-SYDW",
"QYRYGW-SCDW",
"QYRYGW-INSTALL",
"QYRYGW-INSPECTION"
));
result = deployDictionary(dataDictionaryService.lambdaQuery()
.select(DataDictionary::getName, DataDictionary::getCode)
.eq(DataDictionary::getIsDelete, false)
.isNull(DataDictionary::getParent)
.in(DataDictionary::getType, typeList)
.list());
} else {
List<DataDictionary> childrenrylx = dataDictionaryService.lambdaQuery()
.in(DataDictionary::getParent, type)
.like(DataDictionary::getType, "QYRYGW")
.orderByAsc(DataDictionary::getSortNum)
.list();
;
result = deployDictionary(childrenrylx);
}
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