Merge branch 'develop_migration' into 'develop_master'

feat: There is no way the, 政策库修改1

See merge request LiuChao/foton-slrs-system-rest!441
This commit is contained in:
super_liu
2022-04-02 17:01:42 +08:00
2 changed files with 50 additions and 27 deletions
@@ -36,6 +36,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import org.apache.commons.lang.StringUtils;
import org.json.JSONTokener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -117,48 +118,33 @@ public class ActSarItemsLawsEOService {
// }
Map<String,Object> attInfoMap = new HashMap<>();
List<String> jsonArray = new ArrayList<>();
Object breakVal = null;
Object itemList = null;
for (Map.Entry<String,Object> entry : standMap.entrySet()) {
String field = entry.getKey().toUpperCase();
Object value = entry.getValue();
if (InitStandAttrUtil.queryFieldListLaws.contains(field)) {
if (value != null && value instanceof JSONArray) {
String valStr = String.valueOf(value);
List<String> valueArr = JSONArray.parseArray(valStr,String.class);
if (valueArr != null && !valueArr.isEmpty()) {
String newValue = "";
for (String val : valueArr) {
newValue += val + ",";
}
newValue = newValue.substring(0,newValue.length()-1);
value = newValue;
String result = "";
if(StringUtils.isNotBlank(standMap.get(entry.getKey()).toString())){
Object value= new JSONTokener(standMap.get(entry.getKey()).toString()).nextValue();
if(value instanceof org.json.JSONArray){
result = String.join(",",JSONObject.parseArray(value.toString(),String.class));
}else {
if(!value.equals("null")){
result =value.toString();
}
}
attInfoMap.put(field,value);
}
if (InitStandAttrUtil.queryFieldListLaws.contains(field)) {
attInfoMap.put(field,result);
} else {
createStandBaseField(sarLawsStandInfo,entry.getKey(),value);
createStandBaseField(sarLawsStandInfo,entry.getKey(),result);
}
}
//处理文件
//此处需要处理之前的文件信息,防止文件丢失
// attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus());
String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue);
sarLawsStandInfo.setSarStandAttrEOStr(resData);
// 根据标准号判断数据是否已存在
//2021年4月9日 此处检查当前是否存在standId
String lawsNumber = "";
if(StringUtils.isNotBlank(sarLawsStandInfo.getLawsNumber()) && !"null".equals(sarLawsStandInfo.getLawsNumber())){
lawsNumber = sarLawsStandInfo.getLawsNumber();
}
List<SarLawsStandInfo> lawsList = sarLawsStandInfoService.selectStandardsByStandNumber(lawsNumber);
// if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "INLAND".equals(sarStandardsInfoEO.getStandType())) {
// sarStandardsInfoEO.setMenuId("64df1d5522bb49c09af2");
// sarStandardsInfoEO.setCountry("CN");
// } else if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "FOREIGN".equals(sarStandardsInfoEO.getStandType())) {
// sarStandardsInfoEO.setMenuId("22179d54d4e640098e29");
// }
//此处判断是否是带入的标准
if(StringUtils.isNotBlank(sarLawsStandInfo.getId())) {
SarLawsStandInfo query = new SarLawsStandInfo();
@@ -239,6 +225,19 @@ public class ActSarItemsLawsEOService {
}
}
private String getFieldsValue(Map<String,Object> standMap, String key){
String str = "";
Object json= new JSONTokener(standMap.get(key).toString()).nextValue();
if(json instanceof org.json.JSONArray){
str = String.join(",",JSONObject.parseArray(standMap.get(key).toString(),String.class));
}else {
if(!json.equals("null")){
str = standMap.get(key).toString();
}
}
return str;
}
/***
* 标准法规入库流程中技术评估结果入库归档操作
* @param sarStandardsInfoEO
@@ -51,6 +51,7 @@ import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.sysInfo.service.SysInfoEOService;
import com.adc.da.sys.constant.ValueStateEnum;
import com.adc.da.sys.dao.DicTypeEODao;
import com.adc.da.sys.entity.DicTypeEO;
import com.adc.da.sys.util.LoginUserUtil;
import com.adc.da.util.UUIDUtils;
import com.adc.da.utils.util.FieldConvertUtil;
@@ -388,8 +389,18 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
}
public void attrInfoShowDetails(List<SarLawsStandInfo> sarlist) throws Exception {
//查询字典表,形成Hash映射提升速度
List<DicTypeEO> dicInfo = dicTypeEODao.getDicInfo("dic_type_code", "dic_type_name");
Map<String, String> dicMap = dicInfo.stream()
.filter(item-> !item.getDicTypeCode().isEmpty())
.collect(Collectors.toMap(DicTypeEO::getDicTypeCode,DicTypeEO::getDicTypeName,(value1, value2 )->value2));
for (SarLawsStandInfo row : sarlist) {
attrInfoDetails(row);
row.setLawsSyqy(filterValue(dicMap,row.getLawsSyqy()));
row.setLawsSycx(filterValue(dicMap,row.getLawsSycx()));
row.setLawsLabel(filterValue(dicMap,row.getLawsLabel()));
row.setLawsYear(filterValue(dicMap,row.getLawsYear()));
Map<String, Object> getAttrMap = row.getAttrInfoMap();
if (getAttrMap != null && getAttrMap.size() > 0) {
for (Map.Entry<String, Object> entry : getAttrMap.entrySet()) {
@@ -412,6 +423,19 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
}
}
private String filterValue (Map<String, String> dicMap,String value){
List<String> list = new ArrayList<>();
if(StringUtils.isNotBlank(value)){
String[] valArr = value.split(",");
for (String s : valArr) {
if (dicMap.containsKey(s)){
list.add(dicMap.get(s));
}
}
}
return String.join(",",list);
}
@Override
public List<SarLawsStandInfo> getExportData(String exportType, String exportContent,String userId) throws Exception {
SarLawsStandInfoPage page = new SarLawsStandInfoPage();