Commit 0b09f950 authored by tianyiming's avatar tianyiming

修改bug

parent c3838953
...@@ -23,6 +23,7 @@ public enum CompanyAdvanceSearchEnum { ...@@ -23,6 +23,7 @@ public enum CompanyAdvanceSearchEnum {
SUB_ITEM_CODE("许可子项目", "subItemCode",null,"/statistics/comprehensiveStatisticalAnalysis/select/queryXK?type={type}",null,"itemCode"), SUB_ITEM_CODE("许可子项目", "subItemCode",null,"/statistics/comprehensiveStatisticalAnalysis/select/queryXK?type={type}",null,"itemCode"),
OPERATING_STATUS("经营状态", "operatingStatus",null,"/statistics/comprehensiveStatisticalAnalysis/select/queryDicDataNew?type={type}","jyzt",null), OPERATING_STATUS("经营状态", "operatingStatus",null,"/statistics/comprehensiveStatisticalAnalysis/select/queryDicDataNew?type={type}","jyzt",null),
EQUIP_CATEGORY("设备类型", "equipCategory",null,"/statistics/comprehensiveStatisticalAnalysis/select/queryEquipList",null,null), EQUIP_CATEGORY("设备类型", "equipCategory",null,"/statistics/comprehensiveStatisticalAnalysis/select/queryEquipList",null,null),
PERMIT_STATUS("许可状态", "permitStatus",null,"/statistics/comprehensiveStatisticalAnalysis/select/permitStatus",null,null),
; ;
......
...@@ -94,6 +94,17 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController { ...@@ -94,6 +94,17 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/permitStatus")
@ApiOperation(httpMethod = "GET", value = "查询许可状态", notes = "查询许可状态")
public ResponseModel<JSONArray> getPermitStatus() {
return ResponseHelper.buildResponse(statisticalAnalysisService.getPermitStatus());
}
/**
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/queryUnitType") @GetMapping(value = "/select/queryUnitType")
@ApiOperation(httpMethod = "GET", value = "查询单位类型", notes = "查询单位类型") @ApiOperation(httpMethod = "GET", value = "查询单位类型", notes = "查询单位类型")
public ResponseModel<JSONArray> queryUnitType(@RequestParam(required = false) String type) { public ResponseModel<JSONArray> queryUnitType(@RequestParam(required = false) String type) {
......
...@@ -292,7 +292,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -292,7 +292,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
existsQuery(nestedField), existsQuery(nestedField),
ScoreMode.Avg ScoreMode.None
); );
// 以下人员类型有资质要求 // 以下人员类型有资质要求
// 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763 // 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
...@@ -331,7 +331,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -331,7 +331,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
boolMust.must(nestedQuery); boolMust.must(nestedQuery);
} else if (item.equals("near")) { } else if (item.equals("near")) {
...@@ -339,7 +339,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -339,7 +339,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
boolMust.must(nestedQuery); boolMust.must(nestedQuery);
} else if (item.equals("normal")) { } else if (item.equals("normal")) {
...@@ -347,7 +347,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -347,7 +347,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
boolMust.must(nestedQuery); boolMust.must(nestedQuery);
} }
...@@ -355,14 +355,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -355,14 +355,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.termsQuery(nestedField, (JSONArray) v)), QueryBuilders.boolQuery().must(QueryBuilders.termsQuery(nestedField, (JSONArray) v)),
ScoreMode.Avg ScoreMode.None
); );
boolMust.must(nestedQuery); boolMust.must(nestedQuery);
} else { } else {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.wildcardQuery(nestedField, "*" + item + "*")), QueryBuilders.boolQuery().must(QueryBuilders.wildcardQuery(nestedField, "*" + item + "*")),
ScoreMode.Avg ScoreMode.None
); );
boolMust.should(nestedQuery); boolMust.should(nestedQuery);
} }
...@@ -374,7 +374,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -374,7 +374,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
"licenses", "licenses",
QueryBuilders.rangeQuery("licenses." + k).gte(startDate).lte(endDate), QueryBuilders.rangeQuery("licenses." + k).gte(startDate).lte(endDate),
ScoreMode.Avg ScoreMode.None
); );
boolMust.filter(nestedQuery); boolMust.filter(nestedQuery);
} }
...@@ -557,24 +557,31 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -557,24 +557,31 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
// 超期:小于当前日期 // 超期:小于当前日期
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))),
ScoreMode.Avg ScoreMode.None
); );
enhancedDynamicQueryBuilder.add(nestedQuery, or); enhancedDynamicQueryBuilder.add(nestedQuery, or);
} else if (item.equals("near")) { } else if (item.equals("near")) {
// 临期:小于等于当前日期加上30天 // 临期:小于等于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))),
ScoreMode.Avg ScoreMode.None
); );
enhancedDynamicQueryBuilder.add(nestedQuery, or); enhancedDynamicQueryBuilder.add(nestedQuery, or);
} else if (item.equals("normal")) { } else if (item.equals("normal")) {
// 正常:大于当前日期加上30天 // 正常:大于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))), QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.Avg ScoreMode.None
);
enhancedDynamicQueryBuilder.add(nestedQuery, or);
} else if (item.equals("none")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery(nestedField)),
ScoreMode.None
); );
enhancedDynamicQueryBuilder.add(nestedQuery, or); enhancedDynamicQueryBuilder.add(nestedQuery, or);
} }
...@@ -583,7 +590,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -583,7 +590,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.termsQuery(nestedField, item), QueryBuilders.termsQuery(nestedField, item),
ScoreMode.Avg ScoreMode.None
); );
enhancedDynamicQueryBuilder.add(nestedQuery, or); enhancedDynamicQueryBuilder.add(nestedQuery, or);
} }
...@@ -662,19 +669,31 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -662,19 +669,31 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} else { } else {
permissionStatusList.add("正常"); permissionStatusList.add("正常");
} }
} else {
permissionStatusList.add("无有效期");
} }
} }
long cq = permissionStatusList.stream().filter(e -> e.equals("超期")).count(); long cq = permissionStatusList.stream().filter(e -> e.equals("超期")).count();
long lq = permissionStatusList.stream().filter(e -> e.equals("临期")).count(); long lq = permissionStatusList.stream().filter(e -> e.equals("临期")).count();
long zc = permissionStatusList.stream().filter(e -> e.equals("正常")).count(); long zc = permissionStatusList.stream().filter(e -> e.equals("正常")).count();
long no = permissionStatusList.stream().filter(e -> e.equals("无有效期")).count();
if (cq > 0) { if (cq > 0) {
permissionStatus = "超期"; permissionStatus = "许可超期";
} else if (lq > 0) { } else if (lq > 0) {
permissionStatus = "临期"; permissionStatus = "许可临期";
} else if (zc > 0) { } else if (zc > 0) {
permissionStatus = "正常"; permissionStatus = "许可正常";
} else if (no > 0) {
permissionStatus = "无有效期";
} }
} }
} else if (!dto.containsKey("licenses") && (dto.get("unitType").toString().contains("检测单位") ||
dto.get("unitType").toString().contains("检验单位") ||
dto.get("unitType").toString().contains("制造单位") ||
dto.get("unitType").toString().contains("充装单位") ||
dto.get("unitType").toString().contains("设计单位") ||
dto.get("unitType").toString().contains("安装改造维修单位"))) {
permissionStatus = "无有效期";
} }
dto.put("permissionStatus", permissionStatus); dto.put("permissionStatus", permissionStatus);
list.add(dto); list.add(dto);
...@@ -824,7 +843,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -824,7 +843,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder fieldQuery = QueryBuilders.nestedQuery( NestedQueryBuilder fieldQuery = QueryBuilders.nestedQuery(
path, path,
queryBuilder, queryBuilder,
ScoreMode.Avg ScoreMode.None
); );
JSONArray dates = (JSONArray) v; JSONArray dates = (JSONArray) v;
String startDate = dates.getString(0); String startDate = dates.getString(0);
...@@ -832,7 +851,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -832,7 +851,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder dateQuery = QueryBuilders.nestedQuery( NestedQueryBuilder dateQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.rangeQuery(dateField).gte(startDate).lte(endDate), QueryBuilders.rangeQuery(dateField).gte(startDate).lte(endDate),
ScoreMode.Avg ScoreMode.None
); );
boolMust.must(fieldQuery); boolMust.must(fieldQuery);
boolMust.filter(dateQuery); boolMust.filter(dateQuery);
...@@ -968,7 +987,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -968,7 +987,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
List<Map<String, Object>> equipStatusMap = new ArrayList<>(); List<Map<String, Object>> equipStatusMap = new ArrayList<>();
getEquipStatusStatic(boolMust, builder, equipStatusMap); getEquipStatusStatic(boolMust, builder, equipStatusMap);
result.put("inspectStatus",equipStatusMap); result.put("keyIndicator", equipStatusMap);
if (ObjectUtils.isEmpty(filterParams) || !filterParams.containsKey("EQU_LIST")) { if (ObjectUtils.isEmpty(filterParams) || !filterParams.containsKey("EQU_LIST")) {
filterParams = new JSONObject(); filterParams = new JSONObject();
...@@ -1027,9 +1046,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1027,9 +1046,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Map<String, Object> zyMap = new HashMap<>(); Map<String, Object> zyMap = new HashMap<>();
Map<String, Object> tyMap = new HashMap<>(); Map<String, Object> tyMap = new HashMap<>();
Map<String, Object> otherMap = new HashMap<>(); Map<String, Object> otherMap = new HashMap<>();
long zy = staticsMap.get(EquipStateEnum.ZY.getCode()); long zy = staticsMap.containsKey(EquipStateEnum.ZY.getCode()) ? staticsMap.get(EquipStateEnum.ZY.getCode()) : 0;
long ty = staticsMap.get(EquipStateEnum.TY.getCode()); long ty = staticsMap.containsKey(EquipStateEnum.TY.getCode()) ? staticsMap.get(EquipStateEnum.TY.getCode()) : 0;
long other = staticsMap.get("0") + staticsMap.get(EquipStateEnum.BF.getCode()) + staticsMap.get(EquipStateEnum.ZX.getCode()) + staticsMap.get(EquipStateEnum.WZT.getCode()); long bf = staticsMap.containsKey(EquipStateEnum.BF.getCode()) ? staticsMap.get(EquipStateEnum.BF.getCode()) : 0;
long zx = staticsMap.containsKey(EquipStateEnum.ZX.getCode()) ? staticsMap.get(EquipStateEnum.ZX.getCode()) : 0;
long wzt = staticsMap.containsKey(EquipStateEnum.WZT.getCode()) ? staticsMap.get(EquipStateEnum.WZT.getCode()) : 0;
long wdj = staticsMap.containsKey("0") ? staticsMap.get("0") : 0;
long other = wdj + bf + zx + wzt;
zyMap.put("name", "在用"); zyMap.put("name", "在用");
zyMap.put("value", zy); zyMap.put("value", zy);
tyMap.put("name", "停用"); tyMap.put("name", "停用");
...@@ -1095,7 +1118,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1095,7 +1118,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder eqQuery = QueryBuilders.nestedQuery( NestedQueryBuilder eqQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, value)), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, value)),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(eqQuery, andOr); builder.add(eqQuery, andOr);
...@@ -1107,7 +1130,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1107,7 +1130,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder neqQuery = QueryBuilders.nestedQuery( NestedQueryBuilder neqQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).mustNot(QueryBuilders.termsQuery(path + tail, value)), QueryBuilders.boolQuery().must(termsQueryBuilder).mustNot(QueryBuilders.termsQuery(path + tail, value)),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(neqQuery, andOr); builder.add(neqQuery, andOr);
...@@ -1119,7 +1142,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1119,7 +1142,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder likeQuery = QueryBuilders.nestedQuery( NestedQueryBuilder likeQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.wildcardQuery(path + tail, "*" + value + "*")), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.wildcardQuery(path + tail, "*" + value + "*")),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(likeQuery, andOr); builder.add(likeQuery, andOr);
...@@ -1131,7 +1154,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1131,7 +1154,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder notLikeQuery = QueryBuilders.nestedQuery( NestedQueryBuilder notLikeQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.wildcardQuery(path + tail, "*" + value + "*")), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.wildcardQuery(path + tail, "*" + value + "*")),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(QueryBuilders.boolQuery().mustNot(notLikeQuery), andOr); builder.add(QueryBuilders.boolQuery().mustNot(notLikeQuery), andOr);
...@@ -1143,7 +1166,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1143,7 +1166,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder gtQuery = QueryBuilders.nestedQuery( NestedQueryBuilder gtQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).filter(QueryBuilders.rangeQuery(path + tail).gt(value.toString())), QueryBuilders.boolQuery().must(termsQueryBuilder).filter(QueryBuilders.rangeQuery(path + tail).gt(value.toString())),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(gtQuery, andOr); builder.add(gtQuery, andOr);
...@@ -1155,7 +1178,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1155,7 +1178,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder gteQuery = QueryBuilders.nestedQuery( NestedQueryBuilder gteQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).gte(value.toString())), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).gte(value.toString())),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(gteQuery, andOr); builder.add(gteQuery, andOr);
...@@ -1167,7 +1190,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1167,7 +1190,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder ltQuery = QueryBuilders.nestedQuery( NestedQueryBuilder ltQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).lt(value.toString())), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).lt(value.toString())),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(ltQuery, andOr); builder.add(ltQuery, andOr);
...@@ -1179,7 +1202,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1179,7 +1202,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder lteQuery = QueryBuilders.nestedQuery( NestedQueryBuilder lteQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).lte(value.toString())), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).lte(value.toString())),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(lteQuery, andOr); builder.add(lteQuery, andOr);
...@@ -1192,7 +1215,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1192,7 +1215,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder betweenQuery = QueryBuilders.nestedQuery( NestedQueryBuilder betweenQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).gte(Double.parseDouble(btValues.get(0).toString())).lte(Double.parseDouble(btValues.get(1).toString()))), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).gte(Double.parseDouble(btValues.get(0).toString())).lte(Double.parseDouble(btValues.get(1).toString()))),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(betweenQuery, andOr); builder.add(betweenQuery, andOr);
...@@ -1205,7 +1228,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1205,7 +1228,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder inQuery = QueryBuilders.nestedQuery( NestedQueryBuilder inQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, inValues)), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, inValues)),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(inQuery, andOr); builder.add(inQuery, andOr);
...@@ -1218,7 +1241,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1218,7 +1241,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder notInQuery = QueryBuilders.nestedQuery( NestedQueryBuilder notInQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, notInValues)), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, notInValues)),
ScoreMode.Avg ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(QueryBuilders.boolQuery().mustNot(notInQuery), andOr); builder.add(QueryBuilders.boolQuery().mustNot(notInQuery), andOr);
...@@ -1388,7 +1411,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1388,7 +1411,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
existsQuery(nestedField), existsQuery(nestedField),
ScoreMode.Avg ScoreMode.None
); );
// 无资质查询 // 无资质查询
BoolQueryBuilder noCertQuery = QueryBuilders.boolQuery() BoolQueryBuilder noCertQuery = QueryBuilders.boolQuery()
...@@ -1444,14 +1467,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1444,14 +1467,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
builder.add(nestedQuery, isOr); builder.add(nestedQuery, isOr);
} else { } else {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = 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.Avg ScoreMode.None
); );
builder.add(nestedQuery, isOr); builder.add(nestedQuery, isOr);
} }
...@@ -1460,19 +1483,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1460,19 +1483,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
builder.add(nestedQuery, isOr); builder.add(nestedQuery, isOr);
} else { } else {
NestedQueryBuilder overdueNestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder overdueNestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
builder.add(overdueNestedQuery, or); builder.add(overdueNestedQuery, or);
builder.add(normalNestedQuery, or); builder.add(normalNestedQuery, or);
...@@ -1482,19 +1505,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1482,19 +1505,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
builder.add(nestedQuery, isOr); builder.add(nestedQuery, isOr);
} else { } else {
NestedQueryBuilder elseNestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder elseNestedQuery = 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.Avg ScoreMode.None
); );
NestedQueryBuilder noLicensesNestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder noLicensesNestedQuery = QueryBuilders.nestedQuery(
path, path,
existsQuery(nestedField), existsQuery(nestedField),
ScoreMode.Avg ScoreMode.None
); );
builder.add(elseNestedQuery, or); builder.add(elseNestedQuery, or);
} }
...@@ -1503,13 +1526,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1503,13 +1526,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.wildcardQuery(nestedField, "*" + value + "*"), QueryBuilders.wildcardQuery(nestedField, "*" + value + "*"),
ScoreMode.Avg ScoreMode.None
); );
if (itemCondition.equals("eq")) { if (itemCondition.equals("eq")) {
NestedQueryBuilder eqNestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder eqNestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.termQuery(nestedField, value), QueryBuilders.termQuery(nestedField, value),
ScoreMode.Avg ScoreMode.None
); );
builder.add(eqNestedQuery, isOr); builder.add(eqNestedQuery, isOr);
} else if (itemCondition.equals("in")) { } else if (itemCondition.equals("in")) {
...@@ -1526,60 +1549,79 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1526,60 +1549,79 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String path = "licenses"; String path = "licenses";
String nestedField = path + "." + (field.equals("permitStatus") ? "expiryDate" : field + ".keyword"); String nestedField = path + "." + (field.equals("permitStatus") ? "expiryDate" : field + ".keyword");
if (field.equals("permitStatus")) { if (field.equals("permitStatus")) {
if (value.equals("overdue")) { // 无许可到期日期
if (itemCondition.equals("eq") || itemCondition.equals("in")) { NestedQueryBuilder noneQuery = QueryBuilders.nestedQuery(
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery(nestedField)),
ScoreMode.Avg ScoreMode.None
); );
builder.add(QueryBuilders.boolQuery().must(nestedQuery), isOr); // 有效许可到期日期
} else { NestedQueryBuilder existsQuery = QueryBuilders.nestedQuery(
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gte(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().must(QueryBuilders.existsQuery(nestedField)),
ScoreMode.Avg ScoreMode.None
); );
builder.add(QueryBuilders.boolQuery().must(nestedQuery), isOr); // 正常许可到期日期
} NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery(
} else if (value.equals("near")) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.Avg ScoreMode.None
); );
builder.add(QueryBuilders.boolQuery().must(nestedQuery), isOr); // 超期许可到期日期
} else {
NestedQueryBuilder overdueNestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder overdueNestedQuery = QueryBuilders.nestedQuery(
path, path,
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.None
); );
builder.add(QueryBuilders.boolQuery().must(overdueNestedQuery), or); // 临期许可到期日期
NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nearNestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))),
ScoreMode.Avg ScoreMode.None
); );
builder.add(QueryBuilders.boolQuery().must(normalNestedQuery), or); if (value.equals("overdue")) {
}
} else if (value.equals("normal")) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().must(overdueNestedQuery), isOr);
} else {
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gte(LocalDate.now().format(formatter))),
ScoreMode.Avg ScoreMode.None
); );
builder.add(QueryBuilders.boolQuery().must(nestedQuery), isOr); builders.add(QueryBuilders.boolQuery().must(nestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builder.add(builders.build(), isOr);
}
} else if (value.equals("near")) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().must(nearNestedQuery), isOr);
} else { } else {
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
builders.add(QueryBuilders.boolQuery().must(overdueNestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(normalNestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builder.add(builders.build(), isOr);
}
} else if (value.equals("normal")) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(normalNestedQuery, isOr);
} else {
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = 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.Avg ScoreMode.None
); );
builder.add(QueryBuilders.boolQuery().must(nestedQuery), isOr); builders.add(QueryBuilders.boolQuery().must(nestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builder.add(builders.build(), isOr);
}
} else if (value.equals("none")) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().must(existsQuery), or);
} else {
builder.add(QueryBuilders.boolQuery().must(noneQuery), or);
} }
} }
} else { } else {
...@@ -1588,14 +1630,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1588,14 +1630,14 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.termsQuery(nestedField, value), QueryBuilders.termsQuery(nestedField, value),
ScoreMode.Avg ScoreMode.None
); );
builder.add(QueryBuilders.boolQuery().must(nestedQuery), isOr); builder.add(QueryBuilders.boolQuery().must(nestedQuery), isOr);
} else { } else {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.termsQuery(nestedField, value), QueryBuilders.termsQuery(nestedField, value),
ScoreMode.Avg ScoreMode.None
); );
builder.add(QueryBuilders.boolQuery().mustNot(nestedQuery), isOr); builder.add(QueryBuilders.boolQuery().mustNot(nestedQuery), isOr);
} }
...@@ -1681,7 +1723,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1681,7 +1723,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder fieldQuery = QueryBuilders.nestedQuery( NestedQueryBuilder fieldQuery = QueryBuilders.nestedQuery(
path, path,
queryBuilder, queryBuilder,
ScoreMode.Avg ScoreMode.None
); );
builder.add(fieldQuery, and); builder.add(fieldQuery, and);
BoolQueryBuilder query = QueryBuilders.boolQuery(); BoolQueryBuilder query = QueryBuilders.boolQuery();
...@@ -1702,7 +1744,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1702,7 +1744,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
NestedQueryBuilder dateQuery = QueryBuilders.nestedQuery( NestedQueryBuilder dateQuery = QueryBuilders.nestedQuery(
path, path,
query, query,
ScoreMode.Avg ScoreMode.None
); );
builder.add(dateQuery, isOr); builder.add(dateQuery, isOr);
} else if (field.equals("QZ_OR_TANK")) { } else if (field.equals("QZ_OR_TANK")) {
...@@ -1757,34 +1799,43 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1757,34 +1799,43 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
result.put("operatingStatus", deployDictionaryNew(dataDictionaryService.getByType("jyzt"))); result.put("operatingStatus", deployDictionaryNew(dataDictionaryService.getByType("jyzt")));
//许可状态 //许可状态
JSONArray permitStatusData = new JSONArray(); result.put("permitStatus", getPermitStatus());
for (int i = 0; i < 3; i++) {
//监管设备类型
Map<String, List<Map<String, Object>>> resourceJson = JsonUtils.getResourceJson(equipCategory);
List<Map<String, Object>> equipCategory = resourceJson.get(EquipmentClassifityEnum.ZHTJFX.getCode());
result.put("equipCategory", equipCategory);
return result;
}
public JSONArray getPermitStatus() {
JSONArray permitStatus = new JSONArray();
for (int i = 0; i < 4; i++) {
JSONObject object = new JSONObject(); JSONObject object = new JSONObject();
if (0 == i) { if (0 == i) {
object.put("key", "overdue"); object.put("key", "normal");
object.put("value", "overdue"); object.put("value", "normal");
object.put("label", "超期"); object.put("label", "许可正常");
} else if (1 == i) { } else if (1 == i) {
object.put("key", "near"); object.put("key", "near");
object.put("value", "near"); object.put("value", "near");
object.put("label", "临期"); object.put("label", "许可临期");
} else if (2 == i) {
object.put("key", "overdue");
object.put("value", "overdue");
object.put("label", "许可超期");
} else { } else {
object.put("key", "normal"); object.put("key", "none");
object.put("value", "normal"); object.put("value", "none");
object.put("label", "正常"); object.put("label", "无有效期");
} }
permitStatusData.add(object); permitStatus.add(object);
} }
result.put("permitStatus", permitStatusData); return permitStatus;
//监管设备类型
Map<String, List<Map<String, Object>>> resourceJson = JsonUtils.getResourceJson(equipCategory);
List<Map<String, Object>> equipCategory = resourceJson.get(EquipmentClassifityEnum.ZHTJFX.getCode());
result.put("equipCategory", equipCategory);
return result;
} }
private static JSONArray getUnitCategory() { private static JSONArray getUnitCategory() {
JSONArray unitCategory = new JSONArray(); JSONArray unitCategory = new JSONArray();
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
......
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