Commit 0c6b73dd authored by tianbo's avatar tianbo

Merge remote-tracking branch 'origin/develop_tzs_bugfix' into develop_tzs_register

parents df96cf02 e290de6c
package com.yeejoin.amos.boot.module.statistcs.biz.service.impl; package com.yeejoin.amos.boot.module.statistcs.biz.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto; import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto;
import com.yeejoin.amos.boot.module.jg.api.mapper.SafetyProblemTracingMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.SafetyProblemTracingMapper;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto; import com.yeejoin.amos.boot.module.statistics.api.enums.StatisticalAnalysisEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.feign.systemctl.model.RegionModel; import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -144,25 +143,15 @@ public class EquipmentStaticsServiceImpl { ...@@ -144,25 +143,15 @@ public class EquipmentStaticsServiceImpl {
private Long getFMEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) { private Long getFMEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
long num = 0; long num = 0;
CountRequest request = new CountRequest(); CountRequest request = new CountRequest();
request.indices("idx_biz_view_jg_all"); request.indices(StatisticalAnalysisEnum.equip.getKey());
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
// 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(dpFilterParamForDetailDto.getOrgCode()) + "*"));
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getTreeValue())) { createBoolQueryBuilder(boolMust, dpFilterParamForDetailDto, dpFilterParamForDetailDto.getOrgCode());
if ("2300".equals(dpFilterParamForDetailDto.getTreeValue())){
boolMust.must(QueryBuilders.termQuery("EQU_CATEGORY_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}else {
boolMust.must(QueryBuilders.termQuery("EQU_LIST_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}
}
// 且8大类,目的去掉脏数据 // 且8大类,目的去掉脏数据
boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
boolMust.must(QueryBuilders.existsQuery("SUPERVISORY_CODE")); boolMust.must(QueryBuilders.existsQuery("SUPERVISORY_CODE"));
boolMust.mustNot(QueryBuilders.termQuery("SUPERVISORY_CODE","null")); boolMust.mustNot(QueryBuilders.termQuery("SUPERVISORY_CODE", "null"));
String[] status = {"草稿","已拒领","待认领"};
boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status)));
request.query(boolMust); request.query(boolMust);
try { try {
CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT); CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT);
num = response.getCount(); num = response.getCount();
...@@ -175,23 +164,9 @@ public class EquipmentStaticsServiceImpl { ...@@ -175,23 +164,9 @@ public class EquipmentStaticsServiceImpl {
private Long getAllEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) { private Long getAllEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
long num = 0; long num = 0;
CountRequest request = new CountRequest(); CountRequest request = new CountRequest();
request.indices("idx_biz_view_jg_all"); request.indices(StatisticalAnalysisEnum.equip.getKey());
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
// 按照管辖机构区域信息模糊查询 createBoolQueryBuilder(boolMust, dpFilterParamForDetailDto, dpFilterParamForDetailDto.getOrgCode());
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getOrgCode())) {
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(dpFilterParamForDetailDto.getOrgCode()) + "*"));
}
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getTreeValue())) {
if ("2300".equals(dpFilterParamForDetailDto.getTreeValue())){
boolMust.must(QueryBuilders.termQuery("EQU_CATEGORY_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}else {
boolMust.must(QueryBuilders.termQuery("EQU_LIST_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}
}
// 且8大类,目的去掉脏数据
boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
String[] status = {"草稿","已拒领","待认领"};
boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status)));
request.query(boolMust); request.query(boolMust);
try { try {
CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT); CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT);
...@@ -205,22 +180,10 @@ public class EquipmentStaticsServiceImpl { ...@@ -205,22 +180,10 @@ public class EquipmentStaticsServiceImpl {
private Long getNGEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) { private Long getNGEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
long num = 0; long num = 0;
CountRequest request = new CountRequest(); CountRequest request = new CountRequest();
request.indices("idx_biz_view_jg_all"); request.indices(StatisticalAnalysisEnum.equip.getKey());
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
// 按照管辖机构区域信息模糊查询 createBoolQueryBuilder(boolMust, dpFilterParamForDetailDto, dpFilterParamForDetailDto.getOrgCode());
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(dpFilterParamForDetailDto.getOrgCode()) + "*"));
boolMust.must(QueryBuilders.termQuery("IS_INTO_MANAGEMENT", true)); boolMust.must(QueryBuilders.termQuery("IS_INTO_MANAGEMENT", true));
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getTreeValue())) {
if ("2300".equals(dpFilterParamForDetailDto.getTreeValue())){
boolMust.must(QueryBuilders.termQuery("EQU_CATEGORY_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}else {
boolMust.must(QueryBuilders.termQuery("EQU_LIST_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}
}
// 且8大类,目的去掉脏数据
boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
String[] status = {"草稿","已拒领","待认领"};
boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status)));
request.query(boolMust); request.query(boolMust);
try { try {
CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT); CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT);
...@@ -234,25 +197,10 @@ public class EquipmentStaticsServiceImpl { ...@@ -234,25 +197,10 @@ public class EquipmentStaticsServiceImpl {
private Long getLQEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) { private Long getLQEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
long num = 0; long num = 0;
CountRequest request = new CountRequest(); CountRequest request = new CountRequest();
request.indices("idx_biz_view_jg_all"); request.indices(StatisticalAnalysisEnum.equip.getKey());
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
// 按照管辖机构区域信息模糊查询 createBoolQueryBuilder(boolMust, dpFilterParamForDetailDto, dpFilterParamForDetailDto.getOrgCode());
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(dpFilterParamForDetailDto.getOrgCode()) + "*")); boolMust.filter(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(LocalDate.now().format(formatter)).lte(LocalDate.now().plusDays(30).format(formatter)));
// 且下次检验日期大于等于当天 且查询 下次检验日期 <= 当前天+30天 即为临期
long currentDayTime = DateUtil.parse(DateUtil.today(), "yyy-MM-dd").getTime();
long currentDayAfter30DayTime = DateUtil.offsetDay(DateUtil.parse(DateUtil.today(), "yyy-MM-dd"), 30).getTime();
boolMust.must(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(currentDayTime).lte(currentDayAfter30DayTime));
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getTreeValue())) {
if ("2300".equals(dpFilterParamForDetailDto.getTreeValue())){
boolMust.must(QueryBuilders.termQuery("EQU_CATEGORY_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}else {
boolMust.must(QueryBuilders.termQuery("EQU_LIST_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}
}
// 且8大类,目的去掉脏数据
boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
String[] status = {"草稿","已拒领","待认领"};
boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status)));
request.query(boolMust); request.query(boolMust);
try { try {
CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT); CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT);
...@@ -266,26 +214,10 @@ public class EquipmentStaticsServiceImpl { ...@@ -266,26 +214,10 @@ public class EquipmentStaticsServiceImpl {
private Long getCQEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) { private Long getCQEquipmentCount(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
long num = 0; long num = 0;
CountRequest request = new CountRequest(); CountRequest request = new CountRequest();
request.indices("idx_biz_view_jg_all"); request.indices(StatisticalAnalysisEnum.equip.getKey());
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
// 按照管辖机构区域信息模糊查询 createBoolQueryBuilder(boolMust, dpFilterParamForDetailDto, dpFilterParamForDetailDto.getOrgCode());
boolMust.must(QueryBuilders.wildcardQuery("ORG_BRANCH_CODE.keyword", QueryParser.escape(dpFilterParamForDetailDto.getOrgCode()) + "*")); boolMust.filter(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").lt(LocalDate.now().format(formatter)));
// 查询下次检验日期小于当前天的设备,即为超期检验超期设备
long currentDayTime = DateUtil.parse(DateUtil.now(), "yyy-MM-dd").getTime();
boolMust.must(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").lt(currentDayTime));
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getTreeValue())) {
if ("2300".equals(dpFilterParamForDetailDto.getTreeValue())){
boolMust.must(QueryBuilders.termQuery("EQU_CATEGORY_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}else {
boolMust.must(QueryBuilders.termQuery("EQU_LIST_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}
}
// 且8大类,目的去掉脏数据
boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList())));
String[] status = {"草稿","已拒领","待认领"};
boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status)));
request.query(boolMust); request.query(boolMust);
try { try {
CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT); CountResponse response = restHighLevelClient.count(request, RequestOptions.DEFAULT);
...@@ -296,37 +228,97 @@ public class EquipmentStaticsServiceImpl { ...@@ -296,37 +228,97 @@ public class EquipmentStaticsServiceImpl {
return num; return num;
} }
public Page<Map<String, Object>> normalPage(Integer current, Integer size, DPFilterParamForDetailDto dpFilterParamForDetailDto) { public Page<Map<String, Object>> normalPage(Integer current, Integer size, DPFilterParamForDetailDto dpFilterParamForDetailDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamForDetailDto.getCityCode()); String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamForDetailDto.getCityCode());
if(dpFilterParamForDetailDto.getOrgBranchCode() != null){
if(dpFilterParamForDetailDto.getOrgBranchCode().contains("_")){ if (StringUtils.isEmpty(orgCode)) {
String code = dpFilterParamForDetailDto.getOrgBranchCode().split("_")[0]; return new Page<>(current, size);
orgCode = stCommonService.getAndSetOrgCode(code);
}
}
if(StringUtils.isEmpty(orgCode)){
return new Page<>(current,size);
} }
SearchRequest request = new SearchRequest(); SearchRequest request = new SearchRequest();
request.indices("idx_biz_equipment_info"); request.indices(StatisticalAnalysisEnum.equip.getKey());
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
createBoolQueryBuilder(boolMust, dpFilterParamForDetailDto, orgCode);
//监管码状态0已赋码1未赋码
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getSupervisionCodeStatus())) {
if (StringUtils.equals("0", dpFilterParamForDetailDto.getSupervisionCodeStatus())) {
boolMust.must(QueryBuilders.existsQuery("SUPERVISORY_CODE"));
boolMust.mustNot(QueryBuilders.termQuery("SUPERVISORY_CODE", "null"));
} else {
boolMust.mustNot(QueryBuilders.existsQuery("SUPERVISORY_CODE"));
}
}
searchSourceBuilder.query(boolMust);
searchSourceBuilder.from(current - 1);
searchSourceBuilder.size(size);
searchSourceBuilder.trackTotalHits(true);
request.source(searchSourceBuilder);
// 创建查询构造器
NativeSearchQuery query = new NativeSearchQueryBuilder()
// 分页
.withPageable(PageRequest.of(current - 1, size))
//过滤条件
.withQuery(boolMust).build();
query.setTrackTotalHits(true);
query.setMaxResults(size);
List<Map<String, Object>> list = new LinkedList<>();
long total = 0;
Page<Map<String, Object>> result = new Page<>(current, size);
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (org.elasticsearch.search.SearchHit hit : response.getHits().getHits()) {
System.out.println(hit);
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
if (!ValidationUtil.isEmpty(dto2.get(EQUSTATE))) {
Integer integer = Integer.valueOf(dto2.get(EQUSTATE).toString());
String equStatus = EquimentEnum.getName.get(integer);
dto2.put(EQUSTATE, equStatus);
}
if (!ValidationUtil.isEmpty(dto2.get(SUPERVISORYCODE)) && dto2.get(SUPERVISORYCODE) != "null") {
dto2.put("IS_SUPERVISORY_CODE", "已赋码");
} else {
dto2.put("IS_SUPERVISORY_CODE", "未赋码");
}
list.add(dto2);
}
total = response.getInternalResponse().hits().getTotalHits().value;
result.setRecords(list);
result.setTotal(total);
} catch (IOException e) {
throw new RuntimeException(e);
}
return result;
}
private void createBoolQueryBuilder(BoolQueryBuilder boolMust, DPFilterParamForDetailDto dpFilterParamForDetailDto, String orgCode) {
String orgBranchCode = null;
if (dpFilterParamForDetailDto.getOrgBranchCode() != null) {
if (dpFilterParamForDetailDto.getOrgBranchCode().contains("_")) {
String code = dpFilterParamForDetailDto.getOrgBranchCode().split("_")[0];
orgBranchCode = stCommonService.getAndSetOrgCode(code);
}
}
// 按照管辖机构区域信息模糊查询 // 按照管辖机构区域信息模糊查询
boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode )); boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
if (orgBranchCode != null) {
boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgBranchCode));
}
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getTreeValue())) { if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getTreeValue())) {
if ("2300".equals(dpFilterParamForDetailDto.getTreeValue())){ if ("2300".equals(dpFilterParamForDetailDto.getTreeValue())) {
boolMust.must(QueryBuilders.termQuery("EQU_CATEGORY_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase()))); boolMust.must(QueryBuilders.termQuery("EQU_CATEGORY_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
}else { } else {
boolMust.must(QueryBuilders.termQuery("EQU_LIST_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase()))); boolMust.must(QueryBuilders.termQuery("EQU_LIST_CODE", QueryParser.escape(dpFilterParamForDetailDto.getTreeValue().toLowerCase())));
} }
} }
// 且8大类,目的去掉脏数据 String[] status = {"草稿", "已拒领", "待认领"};
// boolMust.must(QueryBuilders.termsQuery("EQU_LIST_CODE", StCommonServiceImpl.getEquipmentCategory().stream().map(EquipmentCategoryDto::getCode).collect(Collectors.toList()))); boolMust.mustNot(QueryBuilders.termsQuery("STATUS", Arrays.asList(status)));
String[] status = {"草稿","已拒领","待认领"}; // 检验状态: 0:临期,1:超期
boolMust.mustNot(QueryBuilders.termsQuery("STATUS",Arrays.asList(status)));
//检验状态0临期1超期
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getInspectionStatus())) { if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getInspectionStatus())) {
if (StringUtils.equals("0", dpFilterParamForDetailDto.getInspectionStatus())) { if (StringUtils.equals("0", dpFilterParamForDetailDto.getInspectionStatus())) {
boolMust.filter(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(LocalDate.now().format(formatter)).lte(LocalDate.now().plusDays(30).format(formatter))); boolMust.filter(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(LocalDate.now().format(formatter)).lte(LocalDate.now().plusDays(30).format(formatter)));
...@@ -337,107 +329,55 @@ public class EquipmentStaticsServiceImpl { ...@@ -337,107 +329,55 @@ public class EquipmentStaticsServiceImpl {
/** /**
* 使用单位 * 使用单位
*/ */
if(StringUtils.isNotEmpty(dpFilterParamForDetailDto.getUseUnitName())){ if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getUseUnitName())) {
boolMust.must(QueryBuilders.wildcardQuery("USE_UNIT_NAME", "*" + dpFilterParamForDetailDto.getUseUnitName() + "*")); boolMust.must(QueryBuilders.wildcardQuery("USE_UNIT_NAME", "*" + dpFilterParamForDetailDto.getUseUnitName() + "*"));
} }
/** /**
* 使用登记编号 * 使用登记编号
*/ */
if(StringUtils.isNotEmpty(dpFilterParamForDetailDto.getUseOrgCode())){ if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getUseOrgCode())) {
boolMust.must(QueryBuilders.wildcardQuery("USE_ORG_CODE", "*" + dpFilterParamForDetailDto.getUseOrgCode() + "*")); boolMust.must(QueryBuilders.wildcardQuery("USE_ORG_CODE", "*" + dpFilterParamForDetailDto.getUseOrgCode() + "*"));
} }
/** /**
* 96333 * 96333
*/ */
if(StringUtils.isNotEmpty(dpFilterParamForDetailDto.getCode96333())){ if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getCode96333())) {
boolMust.must(QueryBuilders.wildcardQuery("CODE96333", "*" + dpFilterParamForDetailDto.getCode96333() + "*")); boolMust.must(QueryBuilders.wildcardQuery("CODE96333", "*" + dpFilterParamForDetailDto.getCode96333() + "*"));
} }
/** /**
* 监管码 * 监管码
*/ */
if(StringUtils.isNotEmpty(dpFilterParamForDetailDto.getSupervisoryCode())){ if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getSupervisoryCode())) {
boolMust.must(QueryBuilders.wildcardQuery("SUPERVISORY_CODE", "*" + dpFilterParamForDetailDto.getSupervisoryCode() + "*")); boolMust.must(QueryBuilders.wildcardQuery("SUPERVISORY_CODE", "*" + dpFilterParamForDetailDto.getSupervisoryCode() + "*"));
} }
/** /**
* 所属地区 * 所属地区
*/ */
if(StringUtils.isNotEmpty(dpFilterParamForDetailDto.getUsePlace())){ if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getUsePlace())) {
boolMust.must(QueryBuilders.wildcardQuery("USE_PLACE", "*" + dpFilterParamForDetailDto.getUsePlace() + "*")); boolMust.must(QueryBuilders.wildcardQuery("USE_PLACE", "*" + dpFilterParamForDetailDto.getUsePlace() + "*"));
} }
/** /**
* 设备状态 * 设备状态
*/ */
if(StringUtils.isNotEmpty(dpFilterParamForDetailDto.getEquState())){ if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getEquState())) {
boolMust.must(QueryBuilders.matchPhraseQuery("EQU_STATE", EquimentEnum.getCode.get(dpFilterParamForDetailDto.getEquState()))); boolMust.must(QueryBuilders.matchPhraseQuery("EQU_STATE", EquimentEnum.getCode.get(dpFilterParamForDetailDto.getEquState())));
} }
/** /**
* 信息化 * 信息化
*/ */
if(StringUtils.isNotEmpty(dpFilterParamForDetailDto.getInformationSituation())){ if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getInformationSituation())) {
boolMust.must(QueryBuilders.matchQuery("INFORMATION_SITUATION", dpFilterParamForDetailDto.getInformationSituation())); boolMust.must(QueryBuilders.matchQuery("INFORMATION_SITUATION", dpFilterParamForDetailDto.getInformationSituation()));
} }
/** /**
* 设备类别 * 设备类别
*/ */
if(StrUtil.isNotEmpty(dpFilterParamForDetailDto.getEquCategory())){ if (StrUtil.isNotEmpty(dpFilterParamForDetailDto.getEquCategory())) {
boolMust.must(QueryBuilders.wildcardQuery("EQU_CATEGORY", "*" + dpFilterParamForDetailDto.getEquCategory() + "*")); boolMust.must(QueryBuilders.wildcardQuery("EQU_CATEGORY", "*" + dpFilterParamForDetailDto.getEquCategory() + "*"));
} }
//监管码状态0已赋码1未赋码
if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getSupervisionCodeStatus())) {
if (StringUtils.equals("0", dpFilterParamForDetailDto.getSupervisionCodeStatus())) {
boolMust.must(QueryBuilders.existsQuery("SUPERVISORY_CODE"));
boolMust.mustNot(QueryBuilders.termQuery("SUPERVISORY_CODE", "null"));
} else {
boolMust.mustNot(QueryBuilders.existsQuery("SUPERVISORY_CODE"));
}
}
if(StringUtils.isNotEmpty(dpFilterParamForDetailDto.getNextInspectionDate())){ if (StringUtils.isNotEmpty(dpFilterParamForDetailDto.getNextInspectionDate())) {
String[] timeArray = dpFilterParamForDetailDto.getNextInspectionDate().split(","); String[] timeArray = dpFilterParamForDetailDto.getNextInspectionDate().split(",");
boolMust.filter(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(timeArray[0]).lte(timeArray[1])); boolMust.filter(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(timeArray[0]).lte(timeArray[1]));
} }
searchSourceBuilder.query(boolMust);
searchSourceBuilder.from(current - 1);
searchSourceBuilder.size(size);
searchSourceBuilder.trackTotalHits(true);
request.source(searchSourceBuilder);
// 创建查询构造器
NativeSearchQuery query = new NativeSearchQueryBuilder()
// 分页
.withPageable(PageRequest.of(current - 1, size))
//过滤条件
.withQuery(boolMust).build();
query.setTrackTotalHits(true);
query.setMaxResults(size);
List<Map<String,Object>> list = new LinkedList<>();
long total = 0;
Page<Map<String,Object>> result = new Page<>(current,size);
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (org.elasticsearch.search.SearchHit hit : response.getHits().getHits()) {
System.out.println(hit);
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
if (!ValidationUtil.isEmpty(dto2.get(EQUSTATE))) {
Integer integer = Integer.valueOf(dto2.get(EQUSTATE).toString());
String equStatus = EquimentEnum.getName.get(integer);
dto2.put(EQUSTATE, equStatus);
}
if(!ValidationUtil.isEmpty(dto2.get(SUPERVISORYCODE)) && dto2.get(SUPERVISORYCODE) != "null"){
dto2.put("IS_SUPERVISORY_CODE","已赋码");
}else{
dto2.put("IS_SUPERVISORY_CODE","未赋码");
}
list.add(dto2);
}
total = response.getInternalResponse().hits().getTotalHits().value;
result.setRecords(list);
result.setTotal(total);
} catch (IOException e) {
throw new RuntimeException(e);
}
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