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 c14b0e49..7c20c0bc 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 @@ -180,10 +180,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(); + if(infoMap.get(field) != null && StringUtils.isNotBlank(infoMap.get(field).toString())){ + Object json= new JSONTokener(infoMap.get(field).toString()).nextValue(); + if(!json.toString().equals("null")){ + fieldValue = infoMap.get(field).toString(); + } } saveMap.put(field+"Name",fieldValue); } 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 b39f5d92..ee3d2b63 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 @@ -68,6 +68,7 @@ import org.apache.poi.hwpf.extractor.WordExtractor; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.json.JSONTokener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -387,13 +388,19 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl getAttrMap = sarStandAttrInfoEODao.selectStandFieldAndData(fieldInfo, row.getId()); + Map getAttrMap = new TreeMap<>(); + if(type.equals("add")){ + String sarStandAttrEOStr = row.getSarStandAttrEOStr(); + getAttrMap = JSONObject.fromObject(sarStandAttrEOStr); + }else { + getAttrMap = sarStandAttrInfoEODao.selectStandFieldAndData(fieldInfo, row.getId()); + } if (InitStandAttrUtil.clobFieldList != null && !InitStandAttrUtil.clobFieldList.isEmpty()) { // 遍历修改所有clob类型的值 for (String clobField : InitStandAttrUtil.clobFieldList) { @@ -457,18 +464,28 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl getAttrMap = row.getAttrInfoMap(); if (getAttrMap != null && getAttrMap.size() > 0) { for (Map.Entry entry : getAttrMap.entrySet()) { String name = entry.getKey(); String value = ""; + List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { - value = entry.getValue().toString(); - List valArr = Arrays.asList(value.split(",")); - value = dicTypeEODao.getDicNamesByCodes(valArr); + if(StringUtils.isNotBlank(entry.getValue().toString())){ + Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + if(json instanceof org.json.JSONArray){ + valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); + }else { + value = entry.getValue().toString(); + valArr = Arrays.asList(value.split(",")); + } + if(!valArr.isEmpty()){ + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + } entry.setValue(value); } } @@ -576,10 +593,20 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl 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,"add"); + } } } @@ -1148,7 +1175,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl