Merge branch 'develop_3' into 'develop_master'
Develop 3 See merge request !109
This commit is contained in:
@@ -21,7 +21,7 @@ public class DocConverterPdf {
|
||||
* private String convertHost;
|
||||
*
|
||||
*
|
||||
* fileString : 新替换的文件名
|
||||
* fileString : 文件全路径
|
||||
* fileType : 文件后缀类型
|
||||
* 调用方法如下
|
||||
* DocConverterPdf d = new DocConverterPdf(fileString,fileType);
|
||||
|
||||
+16
-1
@@ -1026,7 +1026,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
|
||||
QueryBuilder multiQueryBuilder = QueryBuilders.multiMatchQuery("");
|
||||
multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
|
||||
"title","textContent"
|
||||
"title","textContent","textItems"
|
||||
).minimumShouldMatch("100%").field("title",10f);
|
||||
boolQueryBuilder.must(multiQueryBuilder);
|
||||
// boolQueryBuilder.should()
|
||||
@@ -1041,6 +1041,8 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
hiBuilder.field(highlightTitle);
|
||||
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
|
||||
hiBuilder.field(highlightUser);
|
||||
HighlightBuilder.Field highlightItem = new HighlightBuilder.Field("textItems");
|
||||
hiBuilder.field(highlightItem);
|
||||
HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time");
|
||||
hiBuilder.field(highlightDate);
|
||||
hiBuilder.preTags("<span class='highlight-class'>");
|
||||
@@ -1083,6 +1085,19 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
//高亮标题覆盖原标题
|
||||
sourceAsMap.put("textContent",n_field);
|
||||
}
|
||||
|
||||
// 条款内容
|
||||
Map<String, HighlightField> highlightFieldItemStr = searchHit.getHighlightFields();
|
||||
HighlightField fieldItemStr= highlightFieldItemStr.get("textItems");
|
||||
if(fieldItemStr!= null){
|
||||
Text[] fragments = fieldItemStr.fragments();
|
||||
String n_field = "";
|
||||
for (Text fragment : fragments) {
|
||||
n_field += fragment;
|
||||
}
|
||||
//高亮标题覆盖原标题
|
||||
sourceAsMap.put("textItems",n_field);
|
||||
}
|
||||
//发布日期添加高亮
|
||||
// Map<String, HighlightField> highlightFieldsDatehowStr = searchHit.getHighlightFields();
|
||||
// HighlightField fieldDateshowStr= highlightFieldsDatehowStr.get("issue_time");
|
||||
|
||||
+16
-4
@@ -17,10 +17,7 @@ import org.springframework.stereotype.Component;
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||
@@ -129,6 +126,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||
Map<String,Object> getFullTextSearchForMap(Map<String,Object> attrInfoMap){
|
||||
boolean isForeign = false;
|
||||
Map<String,Object> fullTextSearchEO = new HashMap<>();
|
||||
Map<String,String> mapItems = new TreeMap<>();
|
||||
mapItems = net.sf.json.JSONObject.fromObject(attrInfoMap.get("mapItems").toString());
|
||||
fullTextSearchEO.put("id",String.valueOf(attrInfoMap.get("id")));
|
||||
if ("FOREIGN".equals(String.valueOf(attrInfoMap.get("standType")))){
|
||||
fullTextSearchEO.put("indexType",String.valueOf(attrInfoMap.get("standType")));
|
||||
@@ -220,6 +219,18 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||
contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" ");
|
||||
StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
|
||||
fullTextSearchEO.put("textContent",textContent.toString());
|
||||
|
||||
// 全文检索 加入 发布稿 分解单条款内容逻辑
|
||||
StringBuilder itemBuilder = new StringBuilder();
|
||||
|
||||
mapItems.forEach((s, s2) -> {
|
||||
itemBuilder.append(s+" ").append("(模拟数据)-本标准规定了机动车的整车及主要总成、安全防护装置等有关运行安全的基本技术要求,以及消防车、救护车、" +
|
||||
"工程救险车和警车及残疾人专用汽车的附加要求。本标准适用于在我国道路上行驶的所有机动车,但不适用于有轨电车及并非为在道路上行驶和使用而设计和制造、" +
|
||||
"主要用于封闭道路和场所作业施工的轮式专用机械车。 注:有轨电车是指以电机驱动,架线供电,有轨道承载的道路车辆。").append("</br>");
|
||||
});
|
||||
StringBuilder textItemContent = replaceAll(itemBuilder, "null", "--");
|
||||
fullTextSearchEO.put("textItems",textItemContent.toString());
|
||||
|
||||
if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) {
|
||||
fullTextSearchEO.put("issue_time", attrInfoMap.get("issueTime"));
|
||||
}else {
|
||||
@@ -273,6 +284,7 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||
contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" ");
|
||||
StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
|
||||
fullTextSearchEO.put("textContent",textContent.toString());
|
||||
|
||||
if (null != attrInfoMap.get("issue_time") && !"".equals(attrInfoMap.get("issue_time")) && !"null".equals(attrInfoMap.get("issue_time"))) {
|
||||
fullTextSearchEO.put("issue_time", attrInfoMap.get("issue_time"));
|
||||
}else {
|
||||
|
||||
@@ -75,9 +75,15 @@ public class SendStandMQService {
|
||||
String sarStandards = standMap.get("sarStandards").toString();
|
||||
JSONObject jsonobject = JSONObject.fromObject(sarStandards);
|
||||
SarStandardsInfo infoEO = (SarStandardsInfo) JSONObject.toBean(jsonobject,SarStandardsInfo.class);
|
||||
if(infoEO.getMapItems() == null || infoEO.getMapItems().isEmpty()){
|
||||
if(jsonobject.get("mapItems") != null){
|
||||
infoEO.setMapItems(net.sf.json.JSONObject.fromObject(jsonobject.get("mapItems")));
|
||||
}
|
||||
}
|
||||
String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr();
|
||||
Map<String,Object> attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr);
|
||||
Map<String,Object> infoMap = infoEO.getAttrInfoMap();
|
||||
Map<String,String> infoEOMapItems = infoEO.getMapItems();
|
||||
|
||||
// 往索引表中插入数据
|
||||
String getCodeName = "";
|
||||
@@ -182,6 +188,10 @@ public class SendStandMQService {
|
||||
saveMap.put(field+"Name",fieldValue);
|
||||
}
|
||||
|
||||
if(infoEOMapItems != null && !infoEOMapItems.isEmpty()){
|
||||
saveMap.put("mapItems",infoEOMapItems);
|
||||
}
|
||||
|
||||
|
||||
//当建立代替时,产生的没有文件的问题
|
||||
if (StringUtils.isBlank(String.valueOf(saveMap.get("content")))) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -20,6 +21,7 @@ import java.util.Set;
|
||||
* @since 2021-06-01
|
||||
*/
|
||||
@Mapper
|
||||
@Repository
|
||||
public interface SarStandItemsDao extends BaseMapper<SarStandItems> {
|
||||
|
||||
List<SarItemVO> querySarItemAndInterpretation(FindSarItemsPageReqDTO page);
|
||||
|
||||
+7
-4
@@ -96,20 +96,23 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
|
||||
if (null != page.getNowOrderBy()) {
|
||||
switch (page.getNowOrderBy()) {
|
||||
case 1:
|
||||
page.setOrderBy1("issueTime");
|
||||
page.setOrderBy1("issueTime");//发布日期
|
||||
break;
|
||||
case 2:
|
||||
page.setOrderBy1("XCXSSRQPAIXU");
|
||||
page.setOrderBy1("SAR_STAND_ATTR_INFO.ZCCSSRQ");//新车型实施日期
|
||||
break;
|
||||
case 3:
|
||||
page.setOrderBy1("ZCCSSRQPAIXU");
|
||||
page.setOrderBy1("SAR_STAND_ATTR_INFO.XCXSSRQ");//在产车实施日期
|
||||
break;
|
||||
case 4:
|
||||
page.setOrderBy1("standStateShow");
|
||||
page.setOrderBy1("SAR_STANDARDS_INFO.text_status");//文本状态
|
||||
break;
|
||||
case 5:
|
||||
page.setOrderBy1("paixu");
|
||||
break;
|
||||
case 6:
|
||||
page.setOrderBy1("SAR_STAND_ATTR_INFO.SSRQ");
|
||||
break;
|
||||
default:
|
||||
page.setNowOrder(null);
|
||||
break;
|
||||
|
||||
+4
@@ -2,6 +2,7 @@ package com.adc.da.slrs.sarStandardsInfo.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
|
||||
import com.adc.da.slrs.sarStandItems.entity.SarItemVO;
|
||||
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
|
||||
import com.adc.da.sys.entity.DicTypeEO;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -178,6 +179,9 @@ public class SarStandardsInfo extends BaseEntity {
|
||||
private Date newCarPutTime;
|
||||
@TableField(exist = false)
|
||||
private List<SarStandItems> itemsList = new ArrayList<>();
|
||||
@ApiModelProperty(value = "分解单条款内容")
|
||||
@TableField(exist = false)
|
||||
private Map<String,String> mapItems = new TreeMap<>();
|
||||
@TableField(exist = false)
|
||||
private String relateStand;//对应其他标准
|
||||
@TableField(exist = false)
|
||||
|
||||
+14
-30
@@ -28,6 +28,8 @@ import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo;
|
||||
import com.adc.da.slrs.sarStandFile.dao.SarStandFileDao;
|
||||
import com.adc.da.slrs.sarStandFile.entity.SarStandFile;
|
||||
import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao;
|
||||
import com.adc.da.slrs.sarStandItems.entity.FindSarItemsPageReqDTO;
|
||||
import com.adc.da.slrs.sarStandItems.entity.SarItemVO;
|
||||
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
|
||||
import com.adc.da.slrs.sarStandItems.page.SarStandItemsEOPage;
|
||||
import com.adc.da.slrs.sarStandItems.service.ISarStandItemsService;
|
||||
@@ -116,6 +118,9 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
@Autowired
|
||||
private SarStandardsInfoDao dao;
|
||||
|
||||
@Autowired
|
||||
private SarStandItemsDao standItemsDao;
|
||||
|
||||
@Autowired
|
||||
private ITsResourceService sarMenuEOService;
|
||||
|
||||
@@ -1144,37 +1149,16 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
saveUpdateLog(sarStandardsInfoEO, beforeSarStandardsInfo);
|
||||
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) {
|
||||
SarStandardsInfoEOPage page = new SarStandardsInfoEOPage();
|
||||
int countStand = 10000;
|
||||
int countSuccess = 0;
|
||||
page.setValidFlag("0");
|
||||
page.setPageSize(countStand);
|
||||
page.setMenuId("nomenu");
|
||||
page.setStandType("ALL");
|
||||
page.setStandNumber(bh);
|
||||
List<SarStandardsInfo> rowsStand = dao.selectStandardsInfoBynumber(page);
|
||||
for (SarStandardsInfo sarStandardsInfo : rowsStand) {
|
||||
List<SarStandardsInfo> sarStandardsInfoEOS = new ArrayList<>();
|
||||
sarStandardsInfoEOS.add(sarStandardsInfo);
|
||||
attrInfo(sarStandardsInfoEOS);
|
||||
if (sarStandardsInfoEOS.size()>0) {
|
||||
sarStandardsInfo = sarStandardsInfoEOS.get(0);
|
||||
countSuccess++;
|
||||
if (sarStandardsInfo.getAttrInfoMap() != null) {
|
||||
if (sarStandardsInfo.getAttrInfoMap().containsKey("BDTBZBH")){
|
||||
String bdtbh = String.valueOf(sarStandardsInfo.getAttrInfoMap().get("BDTBZBH"));
|
||||
sarStandardsInfo.getAttrInfoMap().put("BDTBH", bdtbh);
|
||||
sarStandardsInfo.setSarStandAttrEOStr(com.alibaba.fastjson.JSONObject.toJSONString(sarStandardsInfo.getAttrInfoMap()));
|
||||
}
|
||||
|
||||
}
|
||||
createStandMQService.sendStandMQ(sarStandardsInfo, "update");
|
||||
}
|
||||
}
|
||||
FindSarItemsPageReqDTO pageInfo = new FindSarItemsPageReqDTO();
|
||||
pageInfo.setStandId(sarStandardsInfoEO.getId());
|
||||
pageInfo.setFileType("FBGBJBD");
|
||||
List<SarItemVO> sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo);
|
||||
if(!sarItemVOS.isEmpty()){
|
||||
Map<String,String> collectMap = sarItemVOS.stream().filter((e) -> e.getItemsNum() != null && e.getItemsName() != null)
|
||||
.collect(Collectors.toMap(SarItemVO::getItemsNum, SarItemVO::getItemsName));
|
||||
sarStandardsInfoEO.setMapItems(collectMap);
|
||||
}
|
||||
createStandMQService.sendStandMQ(sarStandardsInfoEO,"update");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user