feat: 搜索中心 es 入库 国内外标准修改

This commit is contained in:
super_liu
2021-08-03 15:39:12 +08:00
parent 4e398027eb
commit d46dbd5229
2 changed files with 40 additions and 150 deletions
@@ -5,6 +5,7 @@ import com.adc.da.slrs.otSvpps.service.IOtSvppsService;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
import com.adc.da.slrs.sysInfo.service.SysInfoEOService;
import com.adc.da.utils.util.InitStandAttrUtil;
import com.rabbitmq.client.Channel;
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;
@@ -21,12 +22,8 @@ import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Component
public class SendStandMQService {
@@ -73,19 +70,17 @@ public class SendStandMQService {
String sarStandards = standMap.get("sarStandards").toString();
JSONObject jsonobject = JSONObject.fromObject(sarStandards);
SarStandardsInfo infoEO = (SarStandardsInfo) JSONObject.toBean(jsonobject,SarStandardsInfo.class);
String attr = infoEO.getSarStandAttrEOStr();
JSONObject jsonobject1 = JSONObject.fromObject(attr);
Map<String,Object> map = (Map)jsonobject1;
String GZZXX = String.valueOf(map.get("GZZXX"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr();
Map<String,Object> attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr);
// 往索引表中插入数据
String getCodeName = "";
Map<String,Object> saveMap = new HashMap<>();
String baseSearchContent = "";
// 开始存放数据
// 开始存放数据 -------- 国内外标准 -----------
saveMap.put("id",infoEO.getId());
saveMap.put("BYYBJ", map.getOrDefault("BYYBJ", ""));
saveMap.put("BDTBH", map.getOrDefault("BDTBH", ""));
saveMap.put("BYYBJ", attrInfoMap.getOrDefault("BYYBJ", ""));
saveMap.put("BDTBH", attrInfoMap.getOrDefault("BDTBH", ""));
saveMap.put("country",infoEO.getCountry());
if (StringUtils.isNotEmpty(infoEO.getCountry())) {
@@ -109,41 +104,16 @@ public class SendStandMQService {
saveMap.put("standEnName",infoEO.getStandEnName());
saveMap.put("stand_en_name",infoEO.getStandEnName());
if ("1".equals(infoEO.getIsRelateAccess())) {
saveMap.put("isRelateAccess","A" );
}else{
saveMap.put("isRelateAccess","B" );
}
if (StringUtils.isNotEmpty(infoEO.getStandState())) {
String codeName = sysInfoEOService.getDicNamesByCodes(infoEO.getStandState());
saveMap.put("standstateshow",codeName);
}
saveMap.put("issueTime",infoEO.getIssueTime());
saveMap.put("issueTime",dateFormatToStr(infoEO.getIssueTime()));
String newDate = infoEO.getIssueTime();
if (StringUtils.isNotBlank(infoEO.getIssueTime()) && StringUtils.isNotBlank(infoEO.getIssueTime().trim()) && infoEO.getIssueTime().trim().length()>10) {
newDate = infoEO.getIssueTime().trim().substring(0,10);
}
saveMap.put("issue_time",newDate);
Date issue_time_data = null;
if (StringUtils.isNotBlank(infoEO.getIssueTime())) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
issue_time_data = format.parse(newDate+" 00:00:00");
} catch (ParseException ignored) {
}
}
if (issue_time_data != null) {
saveMap.put("issue_time_data",issue_time_data.getTime());
}else{
saveMap.put("issue_time_data",0L);
}
saveMap.put("synopsis",infoEO.getSynopsis());
saveMap.put("standType",infoEO.getStandType());
// 自定义属性字段
String sarStandAttrEOStr = infoEO.getSarStandAttrEOStr();
Map<String,Object> attrInfoMap = JSONObject.fromObject(sarStandAttrEOStr);
if (attrInfoMap != null && !attrInfoMap.isEmpty()) {
attrInfoMap = sysInfoEOService.changeSelectInfo(attrInfoMap, "stand",baseSearchContent);
saveMap.putAll(attrInfoMap);
@@ -154,109 +124,15 @@ public class SendStandMQService {
saveMap.put("content",infoEO.getFileIds());
saveMap.put("CHJL",infoEO.getCHJL());
String SVPPSSting = "";
if (attrInfoMap != null) {
if (attrInfoMap.containsKey("SVPPS")){
String svpps = String.valueOf(attrInfoMap.get("SVPPS"));
List<String> ids = new ArrayList<>(Arrays.asList(svpps.split(",")));
for (String id: ids){
String num = "";
try {
OtSvpps otSvppsEO = otSvppsEOService.getById(id);
if (null != otSvppsEO) {
if ("NA".equals(otSvppsEO.getTNum())) {
if ("NA".equals(otSvppsEO.getSNum())) {
num = otSvppsEO.getFNum();
} else {
num = otSvppsEO.getSNum();
}
} else {
num = otSvppsEO.getTNum();
}
}
if ("".equals(SVPPSSting)){
SVPPSSting = num;
}else {
SVPPSSting = SVPPSSting + "," + num;
}
} catch (Exception e) {
e.printStackTrace();
}
}
saveMap.put("SVPPSName",SVPPSSting);
}
String fieldInfo = InitStandAttrUtil.queryField;
List<String> fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
// 动态存储属性字段
for (String field : fieldInfoList) {
saveMap.put(field,attrInfoMap.getOrDefault(field,""));
}
Date XCXSSRQ_data = null;
if (StringUtils.isNotBlank(String.valueOf(saveMap.get("XCXSSRQ")))) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (String.valueOf(saveMap.get("XCXSSRQ")).trim().length()>10) {
XCXSSRQ_data = format.parse(String.valueOf(saveMap.get("XCXSSRQ")).trim().substring(0,10) + " 00:00:00");
saveMap.put("XCXSSRQ",String.valueOf(saveMap.get("XCXSSRQ")).trim().substring(0,10));
}else{
XCXSSRQ_data = format.parse(String.valueOf(saveMap.get("XCXSSRQ")).trim() + " 00:00:00");
saveMap.put("XCXSSRQ",String.valueOf(saveMap.get("XCXSSRQ")).trim());
}
} catch (ParseException ignored) {
}
}
if (XCXSSRQ_data != null) {
saveMap.put("XCXSSRQ_data",XCXSSRQ_data.getTime());
}else{
saveMap.put("XCXSSRQ_data",0L);
}
saveMap.put("XCXSSRQ",String.valueOf(saveMap.get("XCXSSRQ")+" "));
Date ZCCSSRQ_data = null;
if (StringUtils.isNotBlank(String.valueOf(saveMap.get("ZCCSSRQ")))) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (String.valueOf(saveMap.get("ZCCSSRQ")).trim().length()>10) {
ZCCSSRQ_data = format.parse(String.valueOf(saveMap.get("ZCCSSRQ")).trim().substring(0, 10) + " 00:00:00");
saveMap.put("ZCCSSRQ",String.valueOf(saveMap.get("ZCCSSRQ")).trim().substring(0, 10));
}else {
ZCCSSRQ_data = format.parse(String.valueOf(saveMap.get("ZCCSSRQ")).trim() + " 00:00:00");
saveMap.put("ZCCSSRQ",String.valueOf(saveMap.get("ZCCSSRQ")).trim());
}
} catch (ParseException ignored) {
}
}
if (ZCCSSRQ_data != null) {
saveMap.put("ZCCSSRQ_data",ZCCSSRQ_data.getTime());
}else{
saveMap.put("ZCCSSRQ_data",0L);
}
saveMap.put("ZCCSSRQ",String.valueOf(saveMap.get("ZCCSSRQ")+" "));
Date EOPSSRQ_data = null;
String ESSRQ= null;
if (StringUtils.isNotBlank(String.valueOf(saveMap.get("EOPSSRQ")))) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (String.valueOf(saveMap.get("EOPSSRQ")).trim().length()>10){
ESSRQ = String.valueOf(saveMap.get("EOPSSRQ")).trim().substring(0,10);
}else {
ESSRQ = String.valueOf(saveMap.get("EOPSSRQ")).trim();
}
EOPSSRQ_data = format.parse(ESSRQ + " 00:00:00");
} catch (ParseException ignored) {
}
map.put("EOPSSRQ",ESSRQ);
}
if (EOPSSRQ_data != null) {
saveMap.put("EOPSSRQ_data",EOPSSRQ_data.getTime());
}else{
saveMap.put("EOPSSRQ_data",0L);
}
saveMap.put("EOPSSRQ",String.valueOf(saveMap.get("EOPSSRQ")+" "));
if (map.containsKey("DXBZ")){
saveMap.put("DXBZ",map.get("DXBZ"));
}else{
saveMap.put("DXBZ","");
}
//当建立代替时,产生的没有文件的问题
if (StringUtils.isBlank(String.valueOf(saveMap.get("content")))) {
String context = String.valueOf(saveMap.get("FBGBJBD")) + ","
@@ -265,13 +141,13 @@ public class SendStandMQService {
+ String.valueOf(saveMap.get("BPG")) + ","
+ String.valueOf(saveMap.get("CA")) + ","
+ String.valueOf(saveMap.get("SSG")) + ","
+ String.valueOf(saveMap.get("JDWJ")) + ","
+ String.valueOf(saveMap.get("XGD")) + ","
+ String.valueOf(saveMap.get("KWJ")) + ","
+ String.valueOf(saveMap.get("ZBJBD"));
context = context.replace(",,", ",");
saveMap.put("content", context);
}
if (StringUtils.isNotBlank(String.valueOf(saveMap.get("FO"))) && !"null".equals(String.valueOf(saveMap.get("FO")))){
saveMap.put("FO",String.valueOf(saveMap.get("FO"))+" ");
}
if("add".equals(addOrUpdate)){
sarStandardsInfoService.insertIntoIndexForMap(saveMap);
} else {
@@ -279,6 +155,20 @@ public class SendStandMQService {
}
}
private String dateFormatToStr(String dateStr){
if(dateStr == null || dateStr.equals("")){
return "";
}
String dateToStr = "";
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateToStr = dateFormat.format(dateFormat.parse(dateStr.trim().substring(0,10)));
}catch (Exception e){
e.getMessage();
}
return dateToStr;
}
public Map<String,Object> dealNumberMsg (Map<String,Object> saveMap,SarStandardsInfo infoEO,String getCodeName) {
if(StringUtils.isNotEmpty(infoEO.getStandYear())){
String number = getCodeName + " " + infoEO.getStandNumber() + "-" + infoEO.getStandYear();
@@ -2127,10 +2127,10 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
}
// 根据文件attid 读取文件内容
if (org.apache.commons.lang.StringUtils.isNotEmpty(String.valueOf(attrInfoMap.get("content")))) {
String[] attidlist = String.valueOf(attrInfoMap.get("content")).split(" , ");
String[] attidlist = String.valueOf(attrInfoMap.get("content")).split(",");
StringBuilder content = new StringBuilder("");
for (int i = 0; i < attidlist.length; i++) {
if(org.apache.commons.lang.StringUtils.isNotEmpty(attidlist[i]) && !"null".equals(attidlist[i])){
if(StringUtils.isNotEmpty(attidlist[i]) && !"null".equals(attidlist[i])){
AttFileEO attFileEO = attFileEOService.getFileInfo(attidlist[i]);
String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
try {
@@ -2160,10 +2160,10 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
}
}
// String readFilePath = "E:\\上汽企标流程总览.pdf";
FileInputStream fis = new FileInputStream(readFilePath);
WordExtractor wordExtractor = new WordExtractor(fis);
String txt = wordExtractor.getText();
content.append(txt);
// FileInputStream fis = new FileInputStream(readFilePath);
// WordExtractor wordExtractor = new WordExtractor(fis);
// String txt = wordExtractor.getText();
// content.append(txt);
} catch (Exception e) {
logger.error("搜索中心修改数据读取文档内容时失败");
logger.error(e.getMessage(),e);