diff --git a/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java b/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java index f639d5e2..4e807698 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java +++ b/adc-da-activiti/src/main/java/com/adc/da/common/ActDefineStartMap.java @@ -25,6 +25,21 @@ public class ActDefineStartMap { map.put("8","nonConformanceRectificationKey"); map.put("9","standardReadWkflow"); map.put("10","itemlistvalidationprocessKey"); + + //张超然 + map.put("20","StandardApplyMeetProcess"); + map.put("21","StandardMeetProcess"); + map.put("22","StandardAfterMeetProcess"); + + //李奥 + map.put("14","ParticipateRevisionFiling"); + map.put("15","JoinStandardFiling"); + map.put("16","RecommendedApprovalleo"); + //孔维一 + map.put("17","policyResearchGroupEnrollment"); + map.put("18","policyResearchGroupAttendMeeting"); + map.put("19","policyResearchGroupAfterMeeting"); + return map.get(type); } } diff --git a/adc-da-main/src/main/resources/application-dev.properties b/adc-da-main/src/main/resources/application-dev.properties index 3d67866a..3a1561dc 100644 --- a/adc-da-main/src/main/resources/application-dev.properties +++ b/adc-da-main/src/main/resources/application-dev.properties @@ -3,9 +3,10 @@ # 数据库配置 #============================================= spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver -spring.datasource.url = jdbc:mysql://10.100.5.111:3306/foton_slrs?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false -spring.datasource.username = tempuser -spring.datasource.password = Fting&8g35g#geg2 +spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test2?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false +#spring.datasource.url = jdbc:mysql://10.96.10.54/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false +spring.datasource.username = root +spring.datasource.password = root @@ -15,10 +16,10 @@ spring.application.name=FotonLAWSSystem application.code=20200101 application.center=1 #============================================== -#Eureka +#Eruept eureka.client.allow-redirects=true eureka.client.register-with-eureka=true -eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/ +eureka.client.service-url.defaultZone=http://62.234.136.153:8761/eureka/ #============================================== # 邮箱配置1 @@ -34,18 +35,22 @@ spring.mail.properties.smtp.starttls.required=false spring.mail.properties.mail.smtp.ssl.enable=false spring.mail.port=587 -#============================================== -# MQ配置 -#============================================== -spring.rabbitmq.host=10.100.5.119 +# ============================================== +# rabbitMQ +# ============================================== +#spring.rabbitmq.host=10.2.186.93 +#spring.rabbitmq.port=5672 +#spring.rabbitmq.username=ca +#spring.rabbitmq.password=cs986432 +spring.rabbitmq.host=62.234.118.181 spring.rabbitmq.port=5672 spring.rabbitmq.username=admin -spring.rabbitmq.password=foton@admin +spring.rabbitmq.password=admin spring.rabbitmq.listener.simple.acknowledge-mode= manual # 生产者 默认关闭 发版 需改为 true -spring.rabbitmq.listener.direct.auto-startup=true +spring.rabbitmq.listener.direct.auto-startup=false # 消费者 默认关闭 发版 需改为 true -spring.rabbitmq.listener.simple.auto-startup=true +spring.rabbitmq.listener.simple.auto-startup=false #消费失败消息干掉 spring.rabbitmq.listener.simple.default-requeue-rejected= true #5秒 @@ -53,22 +58,21 @@ spring.rabbitmq.listener.simple.retry.initial-interval= 5000 spring.rabbitmq.listener.simple.retry.enabled= true #最大重试5次 spring.rabbitmq.listener.simple.retry.max-attempts= 5 -# ============================================== # 文档存储路径指向 # ============================================== -file.path=/data/slrs/file +file.path=/usr/laws/file/ # 云端OCR识别集成配置参数 #OCR请求识别URL地址 OCR.handleFileUrl = http://61.136.1.103:8091/WebService.asmx/FileConversion # OCR回调接口地址 配置客户本地的IP及端口号 -OCR.callBackUrl = https://slrs.foton.com.cn/api/ocr/OCRRestful/OcrHandleResult +OCR.callBackUrl = http://62.234.136.153:8033/api/ocr/OCRRestful/OcrHandleResult OCR.userId =dayuzhou1234 OCR.authCode =123456 OCR.publicKey =EC4KKA6ZDTCPAOCRBC5M # OCR文件存储路径 -OCR.ocrPath=/data/slrs/ocrResultFile +OCR.ocrPath=/opt/foton-slrs/front/dist/file/ # OCR文件请求下载或在线预览时URL -OCR.ocrDownPath=/data/slrs/ocrResultFile +OCR.ocrDownPath=http://62.234.136.153:8038/file/ OCR.times=20 OCR.convertType=BOTH \ No newline at end of file diff --git a/adc-da-main/src/main/resources/application.properties b/adc-da-main/src/main/resources/application.properties index 75fa37d5..6f42d8db 100644 --- a/adc-da-main/src/main/resources/application.properties +++ b/adc-da-main/src/main/resources/application.properties @@ -9,12 +9,12 @@ spring.profiles.active=dev server.compression.enabled=true server.compression.mime-types=application/json,application/xml,text/html,text/plain,text/css,application/x-javascript # 端口号设置 -server.port=4202 +server.port=9999 #主服务session超时 server.servlet.session.timeout =600 #tomcat /resource/local/version-manager 创建tomcat指定临时目录 -server.tomcat.basedir=/data/slrs/temp +server.tomcat.basedir=/resource/local/version-manager # http-only server.session.cookie.http-only=true @@ -30,14 +30,20 @@ logging.level.org.springframework=info # 请求前缀 restPath=/api +#server.servlet.context-path=/api #是否将自己注册到Eureka Server上,默认为true eureka.client.register-with-eureka=true ##是否从Eureka Server上获取注册信息,默认为true eureka.client.fetch-registry=true -eureka.instance.prefer-ip-address=true -eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/ + +#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/ +#eureka.client.service-url.defaultZone=http://127.0.0.1:8671/eureka/ +#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/ + +eureka.client.service-url.defaultZone=http://62.234.136.153:8761/eureka/ +#eureka.client.service-url.defaultZone=http://10.96.10.171:8761/eureka/ # 请求连接的超时时间 默认的时间为 1 秒 ribbon.ConnectTimeout=500000 @@ -131,9 +137,9 @@ verifyCodeMode=1 # 文件上传管控及配置 # ============================================================================= # file模块上传文件的服务器地址 -file.path=/data/slrs/file -# 文件下载地址参数(弃用) -file.downloadUrl= +file.path=D:/uploadfile/bus +# 文件下载地址参数 +file.downloadUrl=http://39.98.140.126:10001/uploadPath #上传文件白名单-以,分隔 upload.file.white.lists = doc,docx,xls,xlsx,pdf,PDF,png,jpg,pptx,ppt @@ -141,13 +147,14 @@ upload.file.white.lists = doc,docx,xls,xlsx,pdf,PDF,png,jpg,pptx,ppt # elasticsearch 配置 # ============================================================================= elasticsearch.clustername=elasticsearch -elasticsearch.ip=10.100.5.122 +elasticsearch.ip=172.17.0.1 elasticsearch.port=9300 elasticsearch.poolSize=5 elas.flag=true # 文档转换TCP通讯地址 convert.host=127.0.0.1 +#convert.host=0.0.0.0 # ============================================================================= # scheduled 配置 diff --git a/adc-da-search/src/main/java/com/adc/da/search/controller/SearchCenterController.java b/adc-da-search/src/main/java/com/adc/da/search/controller/SearchCenterController.java index 6fa51b04..f3db7cf5 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/controller/SearchCenterController.java +++ b/adc-da-search/src/main/java/com/adc/da/search/controller/SearchCenterController.java @@ -96,7 +96,11 @@ public class SearchCenterController extends BaseController> } return Result.success(getPageInfo(searchInfoEO.getPager(), result)); } else { - result = searchCenterService.searchSarBykey(searchInfoEO); + if (searchInfoEO.getQueryStatus() != null && StringUtils.isNotBlank(searchInfoEO.getQueryStatus()) && searchInfoEO.getQueryStatus().equals("advancedSearch") && null != searchInfoEO.getSelectValue() && StringUtils.isNotBlank(searchInfoEO.getSelectValue())) { + result = searchCenterService.searchSarBykey(searchInfoEO); + }else { + result = searchCenterService.searchSarConditionBykey(searchInfoEO); + } // 非动态消息的需要查询为我推荐 for (int i = 0; i < result.size(); i++) { String collectId = personCollectEOService.queryCollectByUserAndId(result.get(i).get("id").toString()); diff --git a/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java b/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java index e48419ea..b1a4f053 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java +++ b/adc-da-search/src/main/java/com/adc/da/search/entity/SeniorSearchInfoEO.java @@ -239,6 +239,8 @@ public class SeniorSearchInfoEO extends BasePage { private String stand_status; private String isHigh; + private String queryStatus; + diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/SearchCenterService.java b/adc-da-search/src/main/java/com/adc/da/search/service/SearchCenterService.java index 328e50e4..0fc72fc6 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/SearchCenterService.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/SearchCenterService.java @@ -11,6 +11,8 @@ public interface SearchCenterService { List> searchSarBykey(SeniorSearchInfoEO searchInfoEO) throws Exception; + List> searchSarConditionBykey(SeniorSearchInfoEO searchInfoEO) throws Exception; + /** * 查询结果集searchResponse装换成List形式 * @param searchResponse 需要转换的数据 diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index fc907922..69bf2e73 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -37,6 +37,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; +import java.util.stream.Stream; @Component @Slf4j @@ -57,19 +58,11 @@ public class SearchCenterServiceImpl implements SearchCenterService { private static final String ISSUE_TIME = "issue_time_data"; private static final String PUT_TIME = "put_time"; private static final String EPOCH_MILLIS = "epoch_millis"; - String numbershowStr = "numbershow"; - String nameshowStr = "nameshow"; - String nameshowSplit = "nameshowSplit"; - String numbershowSplit = "numbershowSplit"; - String replacedStandNumStr = "replaced_stand_num"; - String replaceStandNumStr = "replace_stand_num"; - String content = "content"; //关键字检索 @Override public List> searchSarBykey(SeniorSearchInfoEO searchInfoEO) throws Exception { //判断是否高级查询 isHight = true(searchInfoEO.getIsHigh()为空)时,证明不是高级查询 - boolean isHight = StringUtils.isBlank(searchInfoEO.getIsHigh()); List> result = new ArrayList<>(); SearchRequestBuilder searchRequestBuilder; BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); @@ -78,7 +71,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) - .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) .setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize()) .addSort("issueTime", SortOrder.DESC) .setSize(searchInfoEO.getPageSize()); @@ -114,16 +107,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { .should(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getSelectValue()+"*")); break; case "laws": - multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - numbershowSplit,nameshowSplit,nameshowStr,numbershowStr,"numberExpNull","standstateshow","countryShow", "natureShow", "replace_laws_num", - "synopsis","standEnName",replacedStandNumStr,"baseSearchContent",content,"CYSDShow","SYCLLXShow","standstateshow","ZRLXShow","stand_number","isRelateAccess","YQLXShow","SYCLLXShow","GXHBQShow","ZCGCSShow","FBJG","SVPPSName","XGBMShow","ZRBMShow","FOShow","GKGLBMShow","WSSFCYShow","replaceLawsNum","replacedLawsNum","XMPGJSShow","issue_time","ZCCSSRQ","XCXSSRQ","EOPSSRQ","XGLC","accessCountry").minimumShouldMatch("100%"); - boolQueryMust.must(multiQueryBuilder); - boolQueryShould.should(QueryBuilders.wildcardQuery(nameshowStr, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery(numbershowStr, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery(numbershowSplit, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery(nameshowSplit, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery(content, "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery("CYSDShow", "*"+searchInfoEO.getSelectValue()+"*")) + boolQueryShould.should(QueryBuilders.wildcardQuery("CYSDShow", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("SYCLLXShow", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("accessCountry", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("standstateshow", "*"+searchInfoEO.getSelectValue()+"*")) @@ -201,6 +185,136 @@ public class SearchCenterServiceImpl implements SearchCenterService { return result; } + // 条件 + @Override + public List> searchSarConditionBykey(SeniorSearchInfoEO searchInfoEO) throws Exception { + //判断是否高级查询 isHight = true(searchInfoEO.getIsHigh()为空)时,证明不是高级查询 + boolean isHight = StringUtils.isBlank(searchInfoEO.getIsHigh()); + List> result = new ArrayList<>(); + SearchRequestBuilder searchRequestBuilder; + BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + BoolQueryBuilder boolQueryShould = QueryBuilders.boolQuery(); + BoolQueryBuilder boolQueryMust = QueryBuilders.boolQuery(); + + + searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) + .setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize()) + .addSort("issueTime", SortOrder.DESC) + .setSize(searchInfoEO.getPageSize()); + + if(searchInfoEO.getSelectIndex().equals("stand")) { + boolQueryShould = queryStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder); + } else if(searchInfoEO.getSelectIndex().equals("laws")){ + boolQueryShould = queryLawsMsg(searchInfoEO,boolQueryMust,searchRequestBuilder); + } else if(searchInfoEO.getSelectIndex().equals("bussstand")){ + boolQueryShould = queryBussStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder); + } + + if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue()) && StringUtils.isBlank(searchInfoEO.getIsHigh())){ + QueryBuilder multiQueryBuilder; + switch (searchInfoEO.getSelectIndex()){ + case "stand": + if (isRqFormat(searchInfoEO.getSelectValue())) { + Long starttime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + Long endtime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder); + } + boolQueryShould.should(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standNatureName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("textStatusName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("isRelateAccessName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.matchPhraseQuery("content", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getSelectValue()+"*")); + break; + case "laws": + boolQueryShould.should(QueryBuilders.wildcardQuery("CYSDShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("SYCLLXShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("accessCountry", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standstateshow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("ZRLXShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("isRelateAccess", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("YQLXShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("SYCLLXShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("GXHBQShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("XCXSSRQ", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("ZCCSSRQ", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("EOPSSRQ", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("ZCGCSShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("FBJG", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("SVPPSName", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("XGBMShow", "*"+searchInfoEO.getSelectValue()+"*")) +// .should(QueryBuilders.wildcardQuery("ZRBMName", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("ZRBMShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("FOShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("GKGLBMShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("content", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("WSSFCYShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("replaceLawsNum", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("replacedLawsNum", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("issue_time", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("XMPGJSShow", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("XGLC", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("stand_number", "*"+searchInfoEO.getSelectValue()+"*")); + break; + case "bussstand": + boolQueryShould.should(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("stand_code.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+searchInfoEO.getSelectValue()+"*")); + if (isRqFormat(searchInfoEO.getSelectValue())) { + Long starttime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + Long endtime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder); + RangeQueryBuilder rangeQueryBuilder2 = QueryBuilders.rangeQuery("put_time_data").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder2); + } + break; + default: break; + } + } + + if(boolQueryShould!=null){ + boolQueryBuilder.must(QueryBuilders.matchQuery("validFlag", 0)); + if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ + if (StringUtils.isNotBlank(searchInfoEO.getStandType())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*")); + } + boolQueryBuilder.must(boolQueryShould); + }else { + boolQueryBuilder.must(boolQueryShould); + } + + //在结果中检索 + if (StringUtils.isNotEmpty(searchInfoEO.getResultKeyword()) && StringUtils.isNotBlank(searchInfoEO.getIsHigh())) { + QueryBuilder multiQuery = queryInResult(searchInfoEO); + boolQueryBuilder.must(multiQuery); + } + + searchRequestBuilder.setQuery(boolQueryBuilder); + + // 获取查询到的结果 + result = countStandSearchResult(searchRequestBuilder,searchInfoEO); + } + + return result; + } + private Date dateFormatToStr(String dateStr){ Date date = new Date(); try { @@ -264,48 +378,40 @@ public class SearchCenterServiceImpl implements SearchCenterService { } - String fieldInfo = InitStandAttrSearchUtil.queryField; - String fieldLawsInfo = InitStandAttrSearchUtil.queryFieldLaws; - String fieldBussInfo = InitStandAttrSearchUtil.queryFieldBuss; - List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - List fieldLawsInfoList = Arrays.asList(fieldLawsInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - List fieldBussInfoList = Arrays.asList(fieldBussInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - List fieldList = new ArrayList<>(); - fieldList.addAll(fieldInfoList); - fieldList.addAll(fieldLawsInfoList); - fieldList.addAll(fieldBussInfoList); + List fieldList = getStringField(); // 自动匹配动态属性字段 es 查询 for (String field : fieldList) { // 关键字查询属性字段 String keyWordField = field + ".keyword"; String keyWordField2 = field + "Name.keyword"; - if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ - boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField2, "*"+searchInfoEO.getSelectValue()+"*")); - }else { - if(collectAttrMap.containsKey(field)){ - List fields = new ArrayList<>(); - Object json= new JSONTokener(collectAttrMap.get(field).toString()).nextValue(); - if(json instanceof org.json.JSONArray){ - fields = JSONObject.parseArray(collectAttrMap.get(field).toString(),String.class); - }else { - if(!json.equals("null")){ - fields.add(collectAttrMap.get(field).toString()); - } - } - if(!fields.isEmpty()){ - if(fields.size() > 1){ - BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); - fields.forEach(s -> { - boolQueryBuilderShould.should(QueryBuilders.wildcardQuery(keyWordField, "*"+s+"*")); - }); - boolQueryBuilder.must(boolQueryBuilderShould); - }else { - boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(keyWordField, "*"+fields.get(0)+"*")); - } - + if(collectAttrMap.containsKey(field)){ + List fields = new ArrayList<>(); + Object json= new JSONTokener(collectAttrMap.get(field).toString()).nextValue(); + if(json instanceof org.json.JSONArray){ + fields = JSONObject.parseArray(collectAttrMap.get(field).toString(),String.class); + }else { + if(!json.equals("null")){ + fields.add(collectAttrMap.get(field).toString()); } } + if(!fields.isEmpty()){ + if(fields.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + fields.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery(keyWordField, "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(keyWordField, "*"+fields.get(0)+"*")); + } + + } } +// if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ +//// boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField2, "*"+searchInfoEO.getSelectValue()+"*")); +// }else { +// +// } } if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())) { boolQueryBuilder.should(boolQueryBuilderMust); @@ -353,62 +459,75 @@ public class SearchCenterServiceImpl implements SearchCenterService { return boolQueryBuilder; } + private List getStringField() { + String fieldInfo = InitStandAttrSearchUtil.queryField; + String fieldLawsInfo = InitStandAttrSearchUtil.queryFieldLaws; + String fieldBussInfo = InitStandAttrSearchUtil.queryFieldBuss; + List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + List fieldLawsInfoList = Arrays.asList(fieldLawsInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + List fieldBussInfoList = Arrays.asList(fieldBussInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + List fieldList = new ArrayList<>(); + fieldList.addAll(fieldInfoList); + fieldList.addAll(fieldLawsInfoList); + fieldList.addAll(fieldBussInfoList); + return fieldList; + } + //检索国内外标准数据 public BoolQueryBuilder queryStandMsg(SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder, SearchRequestBuilder searchRequestBuilder) throws Exception{ String nameshowStr = "nameshow"; // 高级搜索项,只针对标准 - if(searchInfoEO.getSelectValue() == null || searchInfoEO.getSelectValue().equals("")){ - // 高级搜索项,只针对标准 - if (StringUtils.isNotBlank(searchInfoEO.getStandType())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { - List list = Arrays.asList(searchInfoEO.getStandSort().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - if(list.size() > 1){ - BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); - list.forEach(s -> { - boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+s+" "+"*")); - }); - boolQueryBuilder.must(boolQueryBuilderShould); - }else { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*")); - } - } - if (StringUtils.isNotBlank(searchInfoEO.getStandNumber())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandNumber()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standName.keyword", "*"+searchInfoEO.getStandName()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*")); + // 高级搜索项,只针对标准 + if (StringUtils.isNotBlank(searchInfoEO.getStandType())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { + List list = Arrays.asList(searchInfoEO.getStandSort().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+s+" "+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*")); } + } + if (StringUtils.isNotBlank(searchInfoEO.getStandNumber())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandNumber()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standName.keyword", "*"+searchInfoEO.getStandName()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); + } - if (searchInfoEO.getIssueTime() != null) { - Long starttime = searchInfoEO.getIssueTime().getTime(); - Long endtime = searchInfoEO.getIssueTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); - } + if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*")); + } - if (StringUtils.isNotBlank(searchInfoEO.getIsRelateAccess())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("isRelateAccess.keyword", "*"+searchInfoEO.getIsRelateAccess()+"*")); - } + if (searchInfoEO.getIssueTime() != null) { + Long starttime = searchInfoEO.getIssueTime().getTime(); + Long endtime = searchInfoEO.getIssueTime().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryBuilder.filter(rangeQueryBuilder); + } - if (StringUtils.isNotBlank(searchInfoEO.getStandNature())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNature.keyword", "*"+searchInfoEO.getStandNature()+"*")); - } + if (StringUtils.isNotBlank(searchInfoEO.getIsRelateAccess())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("isRelateAccess.keyword", "*"+searchInfoEO.getIsRelateAccess()+"*")); + } - if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getStandSystem()+"*")); - } + if (StringUtils.isNotBlank(searchInfoEO.getStandNature())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNature.keyword", "*"+searchInfoEO.getStandNature()+"*")); + } + + if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getStandSystem()+"*")); } querySeniorMsg(searchInfoEO,boolQueryBuilder); @@ -625,51 +744,49 @@ public class SearchCenterServiceImpl implements SearchCenterService { * boolQueryBuilder :must * */ public BoolQueryBuilder queryBussStandMsg(SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder, SearchRequestBuilder searchRequestBuilder) throws Exception{ - if(searchInfoEO.getSelectValue() == null || searchInfoEO.getSelectValue().equals("")){ - // 高级搜索项,只针对标准 - if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getStandSort()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getStandName()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); - } - if (StringUtils.isNotBlank(searchInfoEO.getTextStatusBuss())) { - List list = Arrays.asList(searchInfoEO.getTextStatusBuss().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); - if(list.size() > 1){ - BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); - list.forEach(s -> { - boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+s+"*")); - }); - boolQueryBuilder.must(boolQueryBuilderShould); - }else { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+searchInfoEO.getTextStatusBuss()+"*")); - } - } + // 高级搜索项,只针对标准 + if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getStandSort()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getStandYear()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getStandName()+"*")); + } + if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getStandEnName()+"*")); + } - if (searchInfoEO.getIssueTime() != null) { - Long starttime = searchInfoEO.getIssueTime().getTime(); - Long endtime = searchInfoEO.getIssueTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); + if (StringUtils.isNotBlank(searchInfoEO.getTextStatusBuss())) { + List list = Arrays.asList(searchInfoEO.getTextStatusBuss().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); + if(list.size() > 1){ + BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder(); + list.forEach(s -> { + boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+s+"*")); + }); + boolQueryBuilder.must(boolQueryBuilderShould); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+searchInfoEO.getTextStatusBuss()+"*")); } + } - if (searchInfoEO.getPutTime() != null) { - Long starttime = searchInfoEO.getPutTime().getTime(); - Long endtime = searchInfoEO.getPutTime().getTime(); - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("put_time_data").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); - boolQueryBuilder.filter(rangeQueryBuilder); - } + if (searchInfoEO.getIssueTime() != null) { + Long starttime = searchInfoEO.getIssueTime().getTime(); + Long endtime = searchInfoEO.getIssueTime().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryBuilder.filter(rangeQueryBuilder); + } + if (searchInfoEO.getPutTime() != null) { + Long starttime = searchInfoEO.getPutTime().getTime(); + Long endtime = searchInfoEO.getPutTime().getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("put_time_data").format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryBuilder.filter(rangeQueryBuilder); } querySeniorMsg(searchInfoEO,boolQueryBuilder); return boolQueryBuilder; @@ -679,22 +796,46 @@ public class SearchCenterServiceImpl implements SearchCenterService { public QueryBuilder queryInResult(SeniorSearchInfoEO searchInfoEO){ // 记录搜索记录到数据库中 QueryBuilder multiQueryBuilder = QueryBuilders.multiMatchQuery(""); + BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder(); + List fieldList = getStringField(); + List fieldNameList = new ArrayList<>(); + String[] standStr = {"content","standSort","standNumber","standYear","stand_name","standEnName","standNatureName", + "textStatusName","isRelateAccessName","numbershow","standSystem"}; + String[] lawsStr = {"content", + "standSort","stand_code","standYear","stand_name","standEnName","textStatusBuss"}; + String[] bussstandStr = {"content","standSort","stand_code","standYear","stand_name","standEnName","textStatusBuss"}; + for (String field : fieldList) { + // 关键字查询属性字段 + String keyWordField2 = field + "Name"; + fieldNameList.add(keyWordField2); + } switch (searchInfoEO.getSelectIndex()){ case "stand": - multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - numbershowSplit,nameshowSplit,numbershowStr,nameshowStr,"numberExpNull","standSortShow","standstateshow","countryShow","standEnName", - "synopsis","baseSearchContent",content,"CYSDShow","CLLXShow","standstateshow","ZRLXShow","stand_name","stand_number","citeStand","DTBJH","FGXXSXXXShow","CBBH","YYBJ","XGLC","synopsis","isRelateAccess","GKDWShow","CYSDShow","FBJGShow","ZRLXShow","GXHBQShow","GZZXXName","YQLXShow","FGWHRName","ZRBMName","XGBMShow","SVPPSName","FOShow","XMPGJSShow","BDTBZBH","BYYBJ","issue_time","ZCCSSRQ","XCXSSRQ","EOPSSRQ").minimumShouldMatch("100%"); + List listStrings = Stream.of(standStr).collect(Collectors.toList()); + listStrings.addAll(fieldNameList); + String[] fieldArr = listStrings.stream().toArray(String[]::new); + multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),fieldArr + ).minimumShouldMatch("100%"); +// boolQueryBuilder.should(); +// for (String field : fieldList) { +// // 关键字查询属性字段 +// String keyWordField2 = field + "Name.keyword"; +// boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),keyWordField2).minimumShouldMatch("100%")); +// } break; case "laws": - multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - numbershowSplit,nameshowSplit,nameshowStr,numbershowStr,"numberExpNull","standstateshow","countryShow", "natureShow", "replace_laws_num", - "synopsis","standEnName",replacedStandNumStr,"baseSearchContent",content,"CYSDShow","SYCLLXShow","standstateshow","ZRLXShow","stand_number","isRelateAccess","YQLXShow","SYCLLXShow","GXHBQShow","ZCGCSShow","FBJGShow","SVPPSName","XGBMShow","ZRBMShow","FOShow","GKGLBMShow","WSSFCYShow","replaceLawsNum","replacedLawsNum","XMPGJSShow","issue_time","ZCCSSRQ","XCXSSRQ","EOPSSRQ","XGLC").minimumShouldMatch("100%"); + List listStringLaws = Stream.of(lawsStr).collect(Collectors.toList()); + listStringLaws.addAll(fieldNameList); + String[] fieldLawsArr = listStringLaws.stream().toArray(String[]::new); + multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),fieldLawsArr + ).minimumShouldMatch("100%"); break; case "bussstand": - multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - numbershowSplit,nameshowSplit,numbershowStr,nameshowStr,"numberExpNull","standstateshow", "standEnName",replaceStandNumStr, - replacedStandNumStr,"countryShow","synopsis","standSortShow","ZQCBMShow","ZQCBM","stand_status", - "baseSearchContent",content,"numbershow","nameshow","standstateshow","issue_time","replaceStandNum","replacedStandNum","QBMJShow","QBSQShow","XHQBMShow","SVPPSName","XGBMName","ZYQCRShow","ZRBMShow","ZQCBMName","QTQCRShow","content","FSRQString","FZRQString","put_time","XGLC","WFSPJSName").minimumShouldMatch("100%"); + List listStringBussstand = Stream.of(bussstandStr).collect(Collectors.toList()); + listStringBussstand.addAll(fieldNameList); + String[] fieldBussstandArr = listStringBussstand.stream().toArray(String[]::new); + multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),fieldBussstandArr + ).minimumShouldMatch("100%"); break; default: break; } @@ -752,19 +893,19 @@ public class SearchCenterServiceImpl implements SearchCenterService { for (String itemkeyname: keynamelist){ // put 之前判断是否已存在该key ,如果不存在,直接放入值,如果存在,需要进行一个累加 if(submap.containsKey(itemkeyname)){ - submap.put(itemkeyname, (long)submap.get(itemkeyname)+ bucket.getDocCount()); + submap.put(itemkeyname.trim(), (long)submap.get(itemkeyname)+ bucket.getDocCount()); } else { - submap.put(itemkeyname, bucket.getDocCount()); + submap.put(itemkeyname.trim(), bucket.getDocCount()); } } } else { if(submap.containsKey(keyname)){ - submap.put(keyname, (long)submap.get(keyname)+ bucket.getDocCount()); + submap.put(keyname.trim(), (long)submap.get(keyname)+ bucket.getDocCount()); } else { - submap.put(keyname, bucket.getDocCount()); + submap.put(keyname.trim(), bucket.getDocCount()); } } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java index 2cb63faa..28a15541 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/ImportExcelDatas/service/impl/ImportExcelServiceImpl.java @@ -713,12 +713,14 @@ public class ImportExcelServiceImpl extends ServiceImpl analysisStandId(ImportDto importDto) { HashMap result = new HashMap<>(); - if (importDto.getStandId() == null) { + String standId = importDto.getStandId(); + + if (standId == null) { importDto.setErrorStr("标准号为空"); error.add(importDto); return null; } else { - String standId = importDto.getStandId(); +// String standId = importDto.getStandId(); //格式 非空格字符+空格+非空格字符+‘-’或‘—’或空格+年份 如Q/FT F003—2001 Pattern pattern = Pattern.compile("^\\S*\\s\\S*[\\u2014\\u002d\\s]\\d{4}$"); if (!pattern.matcher(standId).matches()) { @@ -730,7 +732,7 @@ public class ImportExcelServiceImpl extends ServiceImpl @@ -50,7 +44,7 @@ public class SarStandProjectLibraryController extends BaseController MaintenanceList = sarStandProjectLibraryService.queryMaintenanceProject(Page,PageSize,sarDto); IPage notMaintenanceList = sarStandProjectLibraryService.queryNotMaintenanceProject(Page,PageSize,sarDto); @@ -231,13 +225,9 @@ public class SarStandProjectLibraryController extends BaseController companies = new ArrayList<>(); - ResponseDto responseDto = new ResponseDto(head,companies); - //todo 未确定返回内容 - Company company = new Company(); - company.setCOMPANY_CODE(""); - company.setFISCAL_YEAR(""); - companies.add(company); + + ResponseDto responseDto = new ResponseDto(head); + return responseDto; } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Company.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Company.java deleted file mode 100644 index 05e5c48a..00000000 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Company.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.adc.da.slrs.sarStandProjectLibrary.entity; - -import lombok.Data; - -@Data -public class Company { - private String COMPANY_CODE; - - private String FISCAL_YEAR; -} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/SarStandProjectLibrary.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/SarStandProjectLibrary.java index 06c6a716..e48e20e0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/SarStandProjectLibrary.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/SarStandProjectLibrary.java @@ -74,7 +74,6 @@ public class SarStandProjectLibrary extends BaseEntity { private String projectManager; @ApiModelProperty(value = "项目经理名称") - @TableField(exist = false) private String uName; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/Head.java similarity index 50% rename from adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java rename to adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/Head.java index 64cff205..679e9700 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/Head.java @@ -1,6 +1,7 @@ -package com.adc.da.slrs.sarStandProjectLibrary.entity; +package com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse; import com.adc.da.base.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.experimental.Accessors; @@ -24,4 +25,30 @@ public class Head extends BaseEntity { } public Head(){}; + + + @JsonProperty("BIZTRANSACTIONID") + public String getBIZTRANSACTIONID() { + return BIZTRANSACTIONID; + } + @JsonProperty("RESULT") + public String getRESULT() { + return RESULT; + } + @JsonProperty("ERRORCODE") + public String getERRORCODE() { + return ERRORCODE; + } + @JsonProperty("ERRORINFO") + public String getERRORINFO() { + return ERRORINFO; + } + @JsonProperty("COMMENTS") + public String getCOMMENTS() { + return COMMENTS; + } + @JsonProperty("SUCCESSCOUNT") + public String getSUCCESSCOUNT() { + return SUCCESSCOUNT; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/MyResult.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/MyResult.java new file mode 100644 index 00000000..cab3896c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/MyResult.java @@ -0,0 +1,24 @@ +package com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +@Data +public class MyResult { +// private String COMPANY_CODE; +// +// private String FISCAL_YEAR; + + private String msg; + + private String code; + + private boolean success; + + + public MyResult(){ + this.msg=""; + this.code=""; + this.success=true; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/ResponseDto.java similarity index 55% rename from adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java rename to adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/ResponseDto.java index 277525d9..4b020348 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/myResponse/ResponseDto.java @@ -1,9 +1,10 @@ -package com.adc.da.slrs.sarStandProjectLibrary.entity; +package com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; -import java.util.ArrayList; +import java.util.Arrays; import java.util.List; @Data public class ResponseDto { @@ -26,12 +27,19 @@ public class ResponseDto { } public ResponseDto(Head HEAD) { - ArrayList companies = new ArrayList<>(); - Company company = new Company(); - company.setCOMPANY_CODE(""); - company.setFISCAL_YEAR(""); - companies.add(company); - this.LIST=companies; + + + this.LIST=Arrays.asList(new MyResult()); this.HEAD=HEAD; } + + @JsonProperty("HEAD") + public Head getHEAD() { + return HEAD; + } + + @JsonProperty("LIST") + public List getLIST() { + return LIST; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/SarStandProjectLibraryService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/SarStandProjectLibraryService.java index d0dc5452..21feeaa7 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/SarStandProjectLibraryService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/SarStandProjectLibraryService.java @@ -1,6 +1,7 @@ package com.adc.da.slrs.sarStandProjectLibrary.service; import com.adc.da.slrs.sarStandProjectLibrary.entity.*; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java index 2632a25e..9ad9ae4e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/service/impl/SarStandProjectLibraryServiceImpl.java @@ -4,6 +4,7 @@ import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; import com.adc.da.slrs.sarStandProjectLibrary.entity.*; import com.adc.da.slrs.sarStandProjectLibrary.dao.SarStandProjectLibraryDao; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.slrs.sarStandProjectLibrary.service.SarStandProjectLibraryService; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; @@ -75,25 +76,23 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl page = new Page<>(current, pageSize); IPage userIPage = new Page<>(); if (3!=flag) { + //6922 List sarStandProjectLibraries = sarStandProjectLibraryDao.selectPages(current, pageSize, wrapper, flag); Integer count = sarStandProjectLibraryDao.selectCount(wrapper, flag); userIPage.setCurrent(current); @@ -445,6 +445,7 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl sarStandProjectLibraries = sarStandProjectLibraryDao.selectPagesWorkFlow(current, pageSize, wrapper, flag); Integer count = sarStandProjectLibraryDao.selectCountWorkFlow(wrapper, flag); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java index 7017cc96..9fe8004f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java @@ -2,9 +2,8 @@ package com.adc.da.slrs.sarStandProjectTeam.controller; import com.adc.da.base.web.BaseController; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Company; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; -import com.adc.da.slrs.sarStandProjectLibrary.entity.ResponseDto; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.ResponseDto; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.adc.da.slrs.sarStandProjectTeam.service.ISarStandProjectTeamService; import io.swagger.annotations.Api; @@ -16,8 +15,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; - /** *

@@ -41,13 +38,8 @@ public class SarStandProjectTeamController extends BaseController companies = new ArrayList<>(); //todo 未确定返回内容 - Company company = new Company(); - company.setCOMPANY_CODE(""); - company.setFISCAL_YEAR(""); - companies.add(company); - ResponseDto responseDto = new ResponseDto(head,companies); + ResponseDto responseDto = new ResponseDto(head); return responseDto; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java index 2c0f1731..812d17f4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java @@ -1,6 +1,6 @@ package com.adc.da.slrs.sarStandProjectTeam.service; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.baomidou.mybatisplus.extension.service.IService; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java index 2b56d7a3..a0aa7bc0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java @@ -1,15 +1,13 @@ package com.adc.da.slrs.sarStandProjectTeam.service.impl; -import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.adc.da.slrs.sarStandProjectTeam.dao.SarStandProjectTeamDao; import com.adc.da.slrs.sarStandProjectTeam.service.ISarStandProjectTeamService; import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.gson.JsonArray; -import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import org.springframework.stereotype.Service; diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml index e6d90b5e..e57eafad 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml @@ -41,57 +41,59 @@ SELECT - sar_stand_project_library.*, - tu.UNAME as uName + library.*, + team.`name` as uName FROM - sar_stand_project_library - LEFT JOIN ts_user tu ON project_manager = tu.USID + sar_stand_project_library as library + LEFT JOIN sar_stand_project_team as team + ON team.project_code = library.project_number WHERE - id NOT IN ( SELECT project_id FROM sar_stand_project_relation ) + library.id NOT IN ( SELECT project_id FROM sar_stand_project_relation ) - id IN ( SELECT project_id FROM sar_stand_project_relation ) + library.id IN ( SELECT project_id FROM sar_stand_project_relation ) 1=1 + - AND project_number LIKE concat(concat('%',#{qu.projectNumber}),'%') + AND library.project_number LIKE concat(concat('%',#{qu.projectNumber}),'%') - AND project_name LIKE concat(concat('%',#{qu.projectName}),'%') + AND library.project_name LIKE concat(concat('%',#{qu.projectName}),'%') - AND project_classification LIKE concat(concat('%',#{qu.projectClassification}),'%') + AND library.project_classification LIKE concat(concat('%',#{qu.projectClassification}),'%') - AND project_platfor LIKE concat(concat('%',#{qu.projectPlatfor}),'%') + AND library.project_platfor LIKE concat(concat('%',#{qu.projectPlatfor}),'%') - AND project_group LIKE concat(concat('%',#{qu.projectGroup}),'%') + AND library.project_group LIKE concat(concat('%',#{qu.projectGroup}),'%') - AND project_status LIKE concat(concat('%',#{qu.projectStatus}),'%') + AND library.project_status LIKE concat(concat('%',#{qu.projectStatus}),'%') - AND current_node LIKE concat(concat('%',#{qu.currentNode}),'%') + AND library.current_node LIKE concat(concat('%',#{qu.currentNode}),'%') - AND project_level LIKE concat(concat('%',#{qu.projectLevel}),'%') + AND library.project_level LIKE concat(concat('%',#{qu.projectLevel}),'%') - AND project_manager LIKE concat(concat('%',#{qu.projectManager}),'%') + AND team.name LIKE concat(concat('%',#{qu.projectManager}),'%') - AND product_line LIKE concat(concat('%',#{qu.productLine}),'%') + AND library.product_line LIKE concat(concat('%',#{qu.productLine}),'%') - AND project_start_date >= #{qu.projectStartDate} + AND library.project_start_date >= #{qu.projectStartDate} - AND project_end_date <= #{qu.projectEndDate} + AND library.project_end_date <= #{qu.projectEndDate} @@ -158,54 +162,61 @@