feat:There is no way the
This commit is contained in:
+24
-3
@@ -3,6 +3,8 @@ package com.adc.da.search.service.impl;
|
||||
import com.adc.da.search.entity.*;
|
||||
import com.adc.da.search.service.SearchCenterService;
|
||||
import com.adc.da.search.util.InitStandAttrSearchUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -96,6 +98,8 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
.should(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standNature.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("content.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getSelectValue()+"*"));
|
||||
break;
|
||||
case "laws":
|
||||
@@ -217,6 +221,23 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
Map.Entry::getKey,
|
||||
Map.Entry::getValue));
|
||||
|
||||
if(sarStandAttrEOStr == null){
|
||||
collectAttrMap = new TreeMap<>();
|
||||
|
||||
if(searchInfoEO.getCYSD() != null && StringUtils.isNotBlank(searchInfoEO.getCYSD())){
|
||||
List<String> fieldList = Arrays.asList(searchInfoEO.getCYSD() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
|
||||
JSONArray array= JSONArray.parseArray(JSON.toJSONString(fieldList));
|
||||
collectAttrMap.put("CYSD",array);
|
||||
}
|
||||
|
||||
if(searchInfoEO.getCLLX() != null && StringUtils.isNotBlank(searchInfoEO.getCLLX())){
|
||||
List<String> fieldList = Arrays.asList(searchInfoEO.getCLLX() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
|
||||
JSONArray array= JSONArray.parseArray(JSON.toJSONString(fieldList));
|
||||
collectAttrMap.put("CLLX",array);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
String fieldInfo = InitStandAttrSearchUtil.queryField;
|
||||
List<String> fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
|
||||
|
||||
@@ -224,8 +245,9 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
for (String field : fieldInfoList) {
|
||||
// 关键字查询属性字段
|
||||
String keyWordField = field + ".keyword";
|
||||
String keyWordField2 = field + "Name.keyword";
|
||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
|
||||
boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField, "*"+searchInfoEO.getSelectValue()+"*"));
|
||||
boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField2, "*"+searchInfoEO.getSelectValue()+"*"));
|
||||
}else {
|
||||
if(collectAttrMap.containsKey(field)){
|
||||
List<String> fields = new ArrayList<>();
|
||||
@@ -1067,11 +1089,10 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
BoolQueryBuilder boolQueryMust = QueryBuilders.boolQuery();
|
||||
QueryBuilder multiQueryBuilder;
|
||||
multiQueryBuilder = QueryBuilders.multiMatchQuery(value,
|
||||
"title","textContent","issue_time").minimumShouldMatch("100%").field("title",1f);
|
||||
"title","textContent").minimumShouldMatch("100%").field("title",1f);
|
||||
boolQueryMust.must(multiQueryBuilder);
|
||||
boolQueryShould.should(QueryBuilders.wildcardQuery("title", "*"+searchInfoEO.getSelectValue()+"*").boost(10f))
|
||||
.should(QueryBuilders.wildcardQuery("textContent", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("issue_time", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(multiQueryBuilder);
|
||||
boolQueryBuilder.should(boolQueryShould);
|
||||
//在结果中检索
|
||||
|
||||
+31
-31
@@ -164,48 +164,48 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||
}else {
|
||||
contentBuilder.append("标准体系:").append(attrInfoMap.get("standSystem")).append(" ");
|
||||
if (StringUtils.isBlank(String.valueOf(attrInfoMap.get("BDTBH")))){
|
||||
contentBuilder.append("被代替标准编号: ").append(attrInfoMap.get("BDTBH")).append(" ");
|
||||
contentBuilder.append("被代替标准编号: ").append(attrInfoMap.get("BDTBHName")).append(" ");
|
||||
}else {
|
||||
contentBuilder.append("被代替标准编号: ").append(attrInfoMap.get("BDTBZBH")).append(" ");
|
||||
contentBuilder.append("被代替标准编号: ").append(attrInfoMap.get("BDTBZBHName")).append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
contentBuilder.append("实施日期(标准文本):").append(attrInfoMap.get("SSRQ")).append(" ");
|
||||
contentBuilder.append("新车型实施日期(标准文本):").append(attrInfoMap.get("XCXSSRQ")).append(" ");
|
||||
contentBuilder.append("在产车实施日期(标准文本):").append(attrInfoMap.get("ZCCSSRQ")).append(" ");
|
||||
contentBuilder.append("实施日期(标准文本):").append(attrInfoMap.get("SSRQName")).append(" ");
|
||||
contentBuilder.append("新车型实施日期(标准文本):").append(attrInfoMap.get("XCXSSRQName")).append(" ");
|
||||
contentBuilder.append("在产车实施日期(标准文本):").append(attrInfoMap.get("ZCCSSRQName")).append(" ");
|
||||
|
||||
if (isForeign) {
|
||||
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLB")).append(" ");
|
||||
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLBName")).append(" ");
|
||||
}else {
|
||||
contentBuilder.append("归口管理部门:").append(attrInfoMap.get("GKDW")).append(" ");
|
||||
contentBuilder.append("起草单位:").append(attrInfoMap.get("FBJG")).append(" ");
|
||||
contentBuilder.append("我司署名人:").append(attrInfoMap.get("WSSMR")).append(" ");
|
||||
contentBuilder.append("我司参与深度:").append(attrInfoMap.get("CYSD")).append(" ");
|
||||
contentBuilder.append("我司参与制标排名:").append(attrInfoMap.get("CYZBPM")).append(" ");
|
||||
contentBuilder.append("归口管理部门:").append(attrInfoMap.get("GKDWName")).append(" ");
|
||||
contentBuilder.append("起草单位:").append(attrInfoMap.get("FBJGName")).append(" ");
|
||||
contentBuilder.append("我司署名人:").append(attrInfoMap.get("WSSMRName")).append(" ");
|
||||
contentBuilder.append("我司参与深度:").append(attrInfoMap.get("CYSDName")).append(" ");
|
||||
contentBuilder.append("我司参与制标排名:").append(attrInfoMap.get("CYZBPMName")).append(" ");
|
||||
}
|
||||
contentBuilder.append("适用车型:").append(attrInfoMap.get("CLLX")).append(" ");
|
||||
contentBuilder.append("能源类型:").append(attrInfoMap.get("NYLX")).append(" ");
|
||||
contentBuilder.append("适用产品线:").append(attrInfoMap.get("SYCPX")).append(" ");
|
||||
contentBuilder.append("适用认证:").append(attrInfoMap.get("SYRZ")).append(" ");
|
||||
contentBuilder.append("责任部门:").append(attrInfoMap.get("ZRBM")).append(" ");
|
||||
contentBuilder.append("责任工程师:").append(attrInfoMap.get("ZRGCS")).append(" ");
|
||||
contentBuilder.append("关联模块--乘用车VPPS编码:").append(attrInfoMap.get("CYCVPPSBM")).append(" ");
|
||||
contentBuilder.append("关联模块--乘用车vpps中文名称:").append(attrInfoMap.get("CYCVPPSCN")).append(" ");
|
||||
contentBuilder.append("关联模块--卡车VPPS编码:").append(attrInfoMap.get("KCCVPPSBM")).append(" ");
|
||||
contentBuilder.append("关联模块--卡车vpps中文名称:").append(attrInfoMap.get("KCCVPPSCN")).append(" ");
|
||||
contentBuilder.append("模块结构单元变型号:").append(attrInfoMap.get("DYBXH")).append(" ");
|
||||
contentBuilder.append("模块结构单元名称:").append(attrInfoMap.get("DYMC")).append(" ");
|
||||
contentBuilder.append("适用车型:").append(attrInfoMap.get("CLLXName")).append(" ");
|
||||
contentBuilder.append("能源类型:").append(attrInfoMap.get("NYLXName")).append(" ");
|
||||
contentBuilder.append("适用产品线:").append(attrInfoMap.get("SYCPXName")).append(" ");
|
||||
contentBuilder.append("适用认证:").append(attrInfoMap.get("SYRZName")).append(" ");
|
||||
contentBuilder.append("责任部门:").append(attrInfoMap.get("ZRBMName")).append(" ");
|
||||
contentBuilder.append("责任工程师:").append(attrInfoMap.get("ZRGCSName")).append(" ");
|
||||
contentBuilder.append("关联模块--乘用车VPPS编码:").append(attrInfoMap.get("CYCVPPSBMName")).append(" ");
|
||||
contentBuilder.append("关联模块--乘用车vpps中文名称:").append(attrInfoMap.get("CYCVPPSCNName")).append(" ");
|
||||
contentBuilder.append("关联模块--卡车VPPS编码:").append(attrInfoMap.get("KCCVPPSBMName")).append(" ");
|
||||
contentBuilder.append("关联模块--卡车vpps中文名称:").append(attrInfoMap.get("KCCVPPSCNName")).append(" ");
|
||||
contentBuilder.append("模块结构单元变型号:").append(attrInfoMap.get("DYBXHName")).append(" ");
|
||||
contentBuilder.append("模块结构单元名称:").append(attrInfoMap.get("DYMCName")).append(" ");
|
||||
|
||||
contentBuilder.append("代替标准号:").append(attrInfoMap.get("DTBJH")).append(" ");
|
||||
contentBuilder.append("引用标准:").append(attrInfoMap.get("YYBJ")).append(" ");
|
||||
contentBuilder.append("被引用标准:").append(attrInfoMap.get("BYYBJ")).append(" ");
|
||||
contentBuilder.append("代替标准号:").append(attrInfoMap.get("DTBJHName")).append(" ");
|
||||
contentBuilder.append("引用标准:").append(attrInfoMap.get("YYBJName")).append(" ");
|
||||
contentBuilder.append("被引用标准:").append(attrInfoMap.get("BYYBJName")).append(" ");
|
||||
if (isForeign) {
|
||||
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLB")).append(" ");
|
||||
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLBName")).append(" ");
|
||||
}else {
|
||||
contentBuilder.append("采标编号:").append(attrInfoMap.get("CBBH")).append(" ");
|
||||
contentBuilder.append("采标程度:").append(attrInfoMap.get("CBCD")).append(" ");
|
||||
contentBuilder.append("部分代替标准号:").append(attrInfoMap.get("BFDTBZ")).append(" ");
|
||||
contentBuilder.append("被部分代替标准号:").append(attrInfoMap.get("BBFDTBZ")).append(" ");
|
||||
contentBuilder.append("采标编号:").append(attrInfoMap.get("CBBHName")).append(" ");
|
||||
contentBuilder.append("采标程度:").append(attrInfoMap.get("CBCDName")).append(" ");
|
||||
contentBuilder.append("部分代替标准号:").append(attrInfoMap.get("BFDTBZName")).append(" ");
|
||||
contentBuilder.append("被部分代替标准号:").append(attrInfoMap.get("BBFDTBZName")).append(" ");
|
||||
}
|
||||
|
||||
if (attrInfoMap.containsKey("content")){
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.adc.da.utils.util.InitStandAttrUtil;
|
||||
import com.rabbitmq.client.Channel;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.json.JSONTokener;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||
@@ -72,6 +73,7 @@ public class SendStandMQService {
|
||||
SarStandardsInfo infoEO = (SarStandardsInfo) JSONObject.toBean(jsonobject,SarStandardsInfo.class);
|
||||
String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr();
|
||||
Map<String,Object> attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr);
|
||||
Map<String,Object> infoMap = infoEO.getAttrInfoMap();
|
||||
|
||||
// 往索引表中插入数据
|
||||
String getCodeName = "";
|
||||
@@ -111,6 +113,7 @@ public class SendStandMQService {
|
||||
}
|
||||
saveMap.put("issueTime",dateFormatToStr(infoEO.getIssueTime()));
|
||||
|
||||
saveMap.put("standNature",infoEO.getStandNature());
|
||||
saveMap.put("synopsis",infoEO.getSynopsis());
|
||||
saveMap.put("standType",infoEO.getStandType());
|
||||
saveMap.put("textStatus",infoEO.getTextStatus());
|
||||
@@ -134,6 +137,12 @@ public class SendStandMQService {
|
||||
// 动态存储属性字段
|
||||
for (String field : fieldInfoList) {
|
||||
saveMap.put(field,attrInfoMap.getOrDefault(field,""));
|
||||
Object json= new JSONTokener(infoMap.get(field).toString()).nextValue();
|
||||
String fieldValue = "";
|
||||
if(!json.toString().equals("null")){
|
||||
fieldValue = infoMap.get(field).toString();
|
||||
}
|
||||
saveMap.put(field+"Name",fieldValue);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+45
-1
@@ -382,6 +382,30 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
}
|
||||
}
|
||||
|
||||
public void attrInfoSearchDetails(SarStandardsInfo row) throws Exception {
|
||||
String fieldInfo = InitStandAttrUtil.queryField;
|
||||
String collectId = personCollectEOService.queryCollectByUserAndId(row.getId());
|
||||
row.setCollectId(collectId);
|
||||
// 查询属性表数据
|
||||
if (StringUtils.isNotBlank(fieldInfo)) {
|
||||
Map<String, Object> getAttrMap = sarStandAttrInfoEODao.selectStandFieldAndData(fieldInfo, row.getId());
|
||||
if (InitStandAttrUtil.clobFieldList != null && !InitStandAttrUtil.clobFieldList.isEmpty()) {
|
||||
// 遍历修改所有clob类型的值
|
||||
for (String clobField : InitStandAttrUtil.clobFieldList) {
|
||||
Clob clobValue = (Clob) getAttrMap.get(clobField);
|
||||
String fieldValue = FieldConvertUtil.ClobToString(clobValue);
|
||||
getAttrMap.put(clobField, fieldValue);
|
||||
}
|
||||
}
|
||||
|
||||
if (getAttrMap != null && !getAttrMap.isEmpty()) {
|
||||
row.setAttrInfoCaseMap(transformUpperCase(getAttrMap));
|
||||
}
|
||||
|
||||
row.setAttrInfoMap(getAttrMap);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private Map<String, Object> transformUpperCase(Map<String, Object> orgMap) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
@@ -428,6 +452,25 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
}
|
||||
}
|
||||
|
||||
public void attrInfoShowSearchDetails(SarStandardsInfo row) throws Exception {
|
||||
if (row != null) {
|
||||
attrInfoSearchDetails(row);
|
||||
Map<String, Object> getAttrMap = row.getAttrInfoMap();
|
||||
if (getAttrMap != null && getAttrMap.size() > 0) {
|
||||
for (Map.Entry<String, Object> entry : getAttrMap.entrySet()) {
|
||||
String name = entry.getKey();
|
||||
String value = "";
|
||||
if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) {
|
||||
value = entry.getValue().toString();
|
||||
List<String> valArr = Arrays.asList(value.split(","));
|
||||
value = dicTypeEODao.getDicNamesByCodes(valArr);
|
||||
entry.setValue(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void attrInfoShow(List<SarStandardsInfo> sarlist) throws Exception {
|
||||
for (SarStandardsInfo row : sarlist) {
|
||||
attrInfoDetails(row);
|
||||
@@ -1099,7 +1142,8 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
// replaseStandState(sarStandardsInfoEO);
|
||||
// 记录修改日志
|
||||
saveUpdateLog(sarStandardsInfoEO, beforeSarStandardsInfo);
|
||||
if(elasflag) {
|
||||
if(elasflag) { //what?
|
||||
attrInfoShowSearchDetails(sarStandardsInfoEO);
|
||||
createStandMQService.sendStandMQ(sarStandardsInfoEO,"update");
|
||||
List<String> bhs = new ArrayList<>(Arrays.asList(String.valueOf(map.get("DTBJH")).split(",")));
|
||||
for (String bh :bhs) {
|
||||
|
||||
Reference in New Issue
Block a user