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;
|
* private String convertHost;
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* fileString : 新替换的文件名
|
* fileString : 文件全路径
|
||||||
* fileType : 文件后缀类型
|
* fileType : 文件后缀类型
|
||||||
* 调用方法如下
|
* 调用方法如下
|
||||||
* DocConverterPdf d = new DocConverterPdf(fileString,fileType);
|
* DocConverterPdf d = new DocConverterPdf(fileString,fileType);
|
||||||
|
|||||||
+16
-1
@@ -1026,7 +1026,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
|
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
|
||||||
QueryBuilder multiQueryBuilder = QueryBuilders.multiMatchQuery("");
|
QueryBuilder multiQueryBuilder = QueryBuilders.multiMatchQuery("");
|
||||||
multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
|
multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
|
||||||
"title","textContent"
|
"title","textContent","textItems"
|
||||||
).minimumShouldMatch("100%").field("title",10f);
|
).minimumShouldMatch("100%").field("title",10f);
|
||||||
boolQueryBuilder.must(multiQueryBuilder);
|
boolQueryBuilder.must(multiQueryBuilder);
|
||||||
// boolQueryBuilder.should()
|
// boolQueryBuilder.should()
|
||||||
@@ -1041,6 +1041,8 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
hiBuilder.field(highlightTitle);
|
hiBuilder.field(highlightTitle);
|
||||||
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
|
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
|
||||||
hiBuilder.field(highlightUser);
|
hiBuilder.field(highlightUser);
|
||||||
|
HighlightBuilder.Field highlightItem = new HighlightBuilder.Field("textItems");
|
||||||
|
hiBuilder.field(highlightItem);
|
||||||
HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time");
|
HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time");
|
||||||
hiBuilder.field(highlightDate);
|
hiBuilder.field(highlightDate);
|
||||||
hiBuilder.preTags("<span class='highlight-class'>");
|
hiBuilder.preTags("<span class='highlight-class'>");
|
||||||
@@ -1083,6 +1085,19 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
//高亮标题覆盖原标题
|
//高亮标题覆盖原标题
|
||||||
sourceAsMap.put("textContent",n_field);
|
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();
|
// Map<String, HighlightField> highlightFieldsDatehowStr = searchHit.getHighlightFields();
|
||||||
// HighlightField fieldDateshowStr= highlightFieldsDatehowStr.get("issue_time");
|
// HighlightField fieldDateshowStr= highlightFieldsDatehowStr.get("issue_time");
|
||||||
|
|||||||
+16
-4
@@ -17,10 +17,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
||||||
@@ -129,6 +126,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
|||||||
Map<String,Object> getFullTextSearchForMap(Map<String,Object> attrInfoMap){
|
Map<String,Object> getFullTextSearchForMap(Map<String,Object> attrInfoMap){
|
||||||
boolean isForeign = false;
|
boolean isForeign = false;
|
||||||
Map<String,Object> fullTextSearchEO = new HashMap<>();
|
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")));
|
fullTextSearchEO.put("id",String.valueOf(attrInfoMap.get("id")));
|
||||||
if ("FOREIGN".equals(String.valueOf(attrInfoMap.get("standType")))){
|
if ("FOREIGN".equals(String.valueOf(attrInfoMap.get("standType")))){
|
||||||
fullTextSearchEO.put("indexType",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(" ");
|
contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" ");
|
||||||
StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
|
StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
|
||||||
fullTextSearchEO.put("textContent",textContent.toString());
|
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"))) {
|
if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) {
|
||||||
fullTextSearchEO.put("issue_time", attrInfoMap.get("issueTime"));
|
fullTextSearchEO.put("issue_time", attrInfoMap.get("issueTime"));
|
||||||
}else {
|
}else {
|
||||||
@@ -273,6 +284,7 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
|
|||||||
contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" ");
|
contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" ");
|
||||||
StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
|
StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
|
||||||
fullTextSearchEO.put("textContent",textContent.toString());
|
fullTextSearchEO.put("textContent",textContent.toString());
|
||||||
|
|
||||||
if (null != attrInfoMap.get("issue_time") && !"".equals(attrInfoMap.get("issue_time")) && !"null".equals(attrInfoMap.get("issue_time"))) {
|
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"));
|
fullTextSearchEO.put("issue_time", attrInfoMap.get("issue_time"));
|
||||||
}else {
|
}else {
|
||||||
|
|||||||
@@ -75,9 +75,15 @@ public class SendStandMQService {
|
|||||||
String sarStandards = standMap.get("sarStandards").toString();
|
String sarStandards = standMap.get("sarStandards").toString();
|
||||||
JSONObject jsonobject = JSONObject.fromObject(sarStandards);
|
JSONObject jsonobject = JSONObject.fromObject(sarStandards);
|
||||||
SarStandardsInfo infoEO = (SarStandardsInfo) JSONObject.toBean(jsonobject,SarStandardsInfo.class);
|
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();
|
String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr();
|
||||||
Map<String,Object> attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr);
|
Map<String,Object> attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr);
|
||||||
Map<String,Object> infoMap = infoEO.getAttrInfoMap();
|
Map<String,Object> infoMap = infoEO.getAttrInfoMap();
|
||||||
|
Map<String,String> infoEOMapItems = infoEO.getMapItems();
|
||||||
|
|
||||||
// 往索引表中插入数据
|
// 往索引表中插入数据
|
||||||
String getCodeName = "";
|
String getCodeName = "";
|
||||||
@@ -182,6 +188,10 @@ public class SendStandMQService {
|
|||||||
saveMap.put(field+"Name",fieldValue);
|
saveMap.put(field+"Name",fieldValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(infoEOMapItems != null && !infoEOMapItems.isEmpty()){
|
||||||
|
saveMap.put("mapItems",infoEOMapItems);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//当建立代替时,产生的没有文件的问题
|
//当建立代替时,产生的没有文件的问题
|
||||||
if (StringUtils.isBlank(String.valueOf(saveMap.get("content")))) {
|
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.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -20,6 +21,7 @@ import java.util.Set;
|
|||||||
* @since 2021-06-01
|
* @since 2021-06-01
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
@Repository
|
||||||
public interface SarStandItemsDao extends BaseMapper<SarStandItems> {
|
public interface SarStandItemsDao extends BaseMapper<SarStandItems> {
|
||||||
|
|
||||||
List<SarItemVO> querySarItemAndInterpretation(FindSarItemsPageReqDTO page);
|
List<SarItemVO> querySarItemAndInterpretation(FindSarItemsPageReqDTO page);
|
||||||
|
|||||||
+7
-4
@@ -96,20 +96,23 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
|
|||||||
if (null != page.getNowOrderBy()) {
|
if (null != page.getNowOrderBy()) {
|
||||||
switch (page.getNowOrderBy()) {
|
switch (page.getNowOrderBy()) {
|
||||||
case 1:
|
case 1:
|
||||||
page.setOrderBy1("issueTime");
|
page.setOrderBy1("issueTime");//发布日期
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
page.setOrderBy1("XCXSSRQPAIXU");
|
page.setOrderBy1("SAR_STAND_ATTR_INFO.ZCCSSRQ");//新车型实施日期
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
page.setOrderBy1("ZCCSSRQPAIXU");
|
page.setOrderBy1("SAR_STAND_ATTR_INFO.XCXSSRQ");//在产车实施日期
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
page.setOrderBy1("standStateShow");
|
page.setOrderBy1("SAR_STANDARDS_INFO.text_status");//文本状态
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
page.setOrderBy1("paixu");
|
page.setOrderBy1("paixu");
|
||||||
break;
|
break;
|
||||||
|
case 6:
|
||||||
|
page.setOrderBy1("SAR_STAND_ATTR_INFO.SSRQ");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
page.setNowOrder(null);
|
page.setNowOrder(null);
|
||||||
break;
|
break;
|
||||||
|
|||||||
+4
@@ -2,6 +2,7 @@ package com.adc.da.slrs.sarStandardsInfo.entity;
|
|||||||
|
|
||||||
import com.adc.da.base.entity.BaseEntity;
|
import com.adc.da.base.entity.BaseEntity;
|
||||||
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
|
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.slrs.sarStandItems.entity.SarStandItems;
|
||||||
import com.adc.da.sys.entity.DicTypeEO;
|
import com.adc.da.sys.entity.DicTypeEO;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
@@ -178,6 +179,9 @@ public class SarStandardsInfo extends BaseEntity {
|
|||||||
private Date newCarPutTime;
|
private Date newCarPutTime;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<SarStandItems> itemsList = new ArrayList<>();
|
private List<SarStandItems> itemsList = new ArrayList<>();
|
||||||
|
@ApiModelProperty(value = "分解单条款内容")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Map<String,String> mapItems = new TreeMap<>();
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String relateStand;//对应其他标准
|
private String relateStand;//对应其他标准
|
||||||
@TableField(exist = false)
|
@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.dao.SarStandFileDao;
|
||||||
import com.adc.da.slrs.sarStandFile.entity.SarStandFile;
|
import com.adc.da.slrs.sarStandFile.entity.SarStandFile;
|
||||||
import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao;
|
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.entity.SarStandItems;
|
||||||
import com.adc.da.slrs.sarStandItems.page.SarStandItemsEOPage;
|
import com.adc.da.slrs.sarStandItems.page.SarStandItemsEOPage;
|
||||||
import com.adc.da.slrs.sarStandItems.service.ISarStandItemsService;
|
import com.adc.da.slrs.sarStandItems.service.ISarStandItemsService;
|
||||||
@@ -116,6 +118,9 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SarStandardsInfoDao dao;
|
private SarStandardsInfoDao dao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SarStandItemsDao standItemsDao;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ITsResourceService sarMenuEOService;
|
private ITsResourceService sarMenuEOService;
|
||||||
|
|
||||||
@@ -1144,37 +1149,16 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
|||||||
saveUpdateLog(sarStandardsInfoEO, beforeSarStandardsInfo);
|
saveUpdateLog(sarStandardsInfoEO, beforeSarStandardsInfo);
|
||||||
if(elasflag) { //what?
|
if(elasflag) { //what?
|
||||||
attrInfoShowSearchDetails(sarStandardsInfoEO);
|
attrInfoShowSearchDetails(sarStandardsInfoEO);
|
||||||
createStandMQService.sendStandMQ(sarStandardsInfoEO,"update");
|
FindSarItemsPageReqDTO pageInfo = new FindSarItemsPageReqDTO();
|
||||||
List<String> bhs = new ArrayList<>(Arrays.asList(String.valueOf(map.get("DTBJH")).split(",")));
|
pageInfo.setStandId(sarStandardsInfoEO.getId());
|
||||||
for (String bh :bhs) {
|
pageInfo.setFileType("FBGBJBD");
|
||||||
SarStandardsInfoEOPage page = new SarStandardsInfoEOPage();
|
List<SarItemVO> sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo);
|
||||||
int countStand = 10000;
|
if(!sarItemVOS.isEmpty()){
|
||||||
int countSuccess = 0;
|
Map<String,String> collectMap = sarItemVOS.stream().filter((e) -> e.getItemsNum() != null && e.getItemsName() != null)
|
||||||
page.setValidFlag("0");
|
.collect(Collectors.toMap(SarItemVO::getItemsNum, SarItemVO::getItemsName));
|
||||||
page.setPageSize(countStand);
|
sarStandardsInfoEO.setMapItems(collectMap);
|
||||||
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");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
createStandMQService.sendStandMQ(sarStandardsInfoEO,"update");
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user