From fbf1d4906583e6b23d9f063f22f8adff3f2c2091 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Fri, 13 Aug 2021 15:43:49 +0800 Subject: [PATCH] feat: There is no way the --- .../impl/StandLawsSearchServiceImpl.java | 20 +++++++-- .../adc/da/mq/service/SendStandMQService.java | 10 +++++ .../sarStandItems/dao/SarStandItemsDao.java | 2 + .../entity/SarStandardsInfo.java | 4 ++ .../impl/SarStandardsInfoServiceImpl.java | 44 ++++++------------- 5 files changed, 46 insertions(+), 34 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java index fe9eca50..86d017ed 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java @@ -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 getFullTextSearchForMap(Map attrInfoMap){ boolean isForeign = false; Map fullTextSearchEO = new HashMap<>(); + Map 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("
"); + }); + 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 { diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/service/SendStandMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/service/SendStandMQService.java index 87e5343d..c14b0e49 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/service/SendStandMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/service/SendStandMQService.java @@ -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 attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr); Map infoMap = infoEO.getAttrInfoMap(); + Map 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")))) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/dao/SarStandItemsDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/dao/SarStandItemsDao.java index f37ea8b3..63a09bbd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/dao/SarStandItemsDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/dao/SarStandItemsDao.java @@ -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 { List querySarItemAndInterpretation(FindSarItemsPageReqDTO page); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java index dfcf8fca..291327f1 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java @@ -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 itemsList = new ArrayList<>(); + @ApiModelProperty(value = "分解单条款内容") + @TableField(exist = false) + private Map mapItems = new TreeMap<>(); @TableField(exist = false) private String relateStand;//对应其他标准 @TableField(exist = false) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index 2eaa3968..b39f5d92 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -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 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 rowsStand = dao.selectStandardsInfoBynumber(page); - for (SarStandardsInfo sarStandardsInfo : rowsStand) { - List 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 sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo); + if(!sarItemVOS.isEmpty()){ + Map 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; }