fix: 国内海外企标修改页面,标准体系级联方式显示
This commit is contained in:
+8
@@ -1417,6 +1417,14 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
|
||||
newStandList.add(sarBussionessStandlist.get(0));
|
||||
attrInfo(newStandList);
|
||||
sarBussionessStandEO = newStandList.get(0);
|
||||
// 处理标准体系字段
|
||||
Object txlbbuss = sarBussionessStandEO.getAttrInfoMap().get("TXLBBUSS");
|
||||
if (txlbbuss != null && !Objects.equals(txlbbuss.toString(), "")) {
|
||||
// 配置体系类别
|
||||
String txlbBussLevel = getParentNodePathRecursive((String) txlbbuss);
|
||||
sarBussionessStandEO.getAttrInfoCaseMap().put("txlbbuss",txlbBussLevel);
|
||||
sarBussionessStandEO.getAttrInfoMap().put("TXLBBUSS",txlbBussLevel);
|
||||
}
|
||||
}
|
||||
return sarBussionessStandEO;
|
||||
}
|
||||
|
||||
+71
-26
@@ -87,6 +87,7 @@ import com.adc.da.util.UUIDUtils;
|
||||
import com.adc.da.utils.util.*;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.SneakyThrows;
|
||||
@@ -3183,34 +3184,45 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
}
|
||||
String accessCountry = sarSarAccessEOService.getCountryByRes(sarStandardsInfoEO.getId(), sarStandardsInfoEO.getStandType() + "_STAND");
|
||||
sarStandardsInfoEO.setAccessCountry(accessCountry);
|
||||
}
|
||||
QueryWrapper<SarMenuStandard> wrapper=new QueryWrapper<>();
|
||||
wrapper.in("MENU_NAME",sarStandardsInfoEO.getStandSystem());
|
||||
wrapper.eq("DIC_ID","9m4qqqaansxmox5e82zm");
|
||||
wrapper.orderByDesc("length(PARENT_IDS)");
|
||||
List<SarMenuStandard> standards=iSarMenuStandardService.list(wrapper);
|
||||
if (null!=standards && standards.size() == 1) {
|
||||
List<String> ids=new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(standards.get(0).getParentIds())){
|
||||
if (standards.get(0).getParentIds().contains(",")){
|
||||
ids=new ArrayList<>(Arrays.asList(standards.get(0).getParentIds().split(",")));
|
||||
}else {
|
||||
ids.add(standards.get(0).getParentIds());
|
||||
}
|
||||
QueryWrapper<SarMenuStandard> wrapper1 = new QueryWrapper<>();
|
||||
wrapper1.in("id", ids);
|
||||
List<SarMenuStandard> res = iSarMenuStandardService.list(wrapper1);
|
||||
if (null!=res && res.size()>0){
|
||||
Map<String,String> map=new HashMap<>();
|
||||
res.forEach(sarMenuStandard -> {map.put(sarMenuStandard.getId(),sarMenuStandard.getMenuName());});
|
||||
String result="";
|
||||
for (String s:ids) {
|
||||
result +="/"+map.get(s);
|
||||
}
|
||||
sarStandardsInfoEO.setStandSystem(result.substring(1,result.length()));
|
||||
}
|
||||
// 处理标准体系字段
|
||||
String standSystem = sarStandardsInfoEO.getStandSystem();
|
||||
if (StringUtils.isNotBlank(standSystem)) {
|
||||
List<String> list = Arrays.asList(standSystem.split("/"));
|
||||
standSystem = list.get(list.size() - 1);
|
||||
// 配置体系类别
|
||||
String txlbBussLevel = getParentNodePathRecursive(standSystem);
|
||||
sarStandardsInfoEO.setStandSystem(txlbBussLevel);
|
||||
}
|
||||
}
|
||||
// 之前的处理有问题
|
||||
// QueryWrapper<SarMenuStandard> wrapper=new QueryWrapper<>();
|
||||
// wrapper.in("MENU_NAME",sarStandardsInfoEO.getStandSystem());
|
||||
// wrapper.eq("DIC_ID","9m4qqqaansxmox5e82zm");
|
||||
// wrapper.orderByDesc("length(PARENT_IDS)");
|
||||
// List<SarMenuStandard> standards=iSarMenuStandardService.list(wrapper);
|
||||
// if (null!=standards && standards.size() == 1) {
|
||||
// List<String> ids=new ArrayList<>();
|
||||
// if (StringUtils.isNotBlank(standards.get(0).getParentIds())){
|
||||
// if (standards.get(0).getParentIds().contains(",")){
|
||||
// ids=new ArrayList<>(Arrays.asList(standards.get(0).getParentIds().split(",")));
|
||||
// }else {
|
||||
// ids.add(standards.get(0).getParentIds());
|
||||
// }
|
||||
// QueryWrapper<SarMenuStandard> wrapper1 = new QueryWrapper<>();
|
||||
// wrapper1.in("id", ids);
|
||||
// List<SarMenuStandard> res = iSarMenuStandardService.list(wrapper1);
|
||||
// if (null!=res && res.size()>0){
|
||||
// Map<String,String> map=new HashMap<>();
|
||||
// res.forEach(sarMenuStandard -> {map.put(sarMenuStandard.getId(),sarMenuStandard.getMenuName());});
|
||||
// String result="";
|
||||
// for (String s:ids) {
|
||||
// result +="/"+map.get(s);
|
||||
// }
|
||||
// sarStandardsInfoEO.setStandSystem(result.substring(1,result.length()));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
return sarStandardsInfoEO;
|
||||
@@ -3236,6 +3248,15 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
}
|
||||
String accessCountry = sarSarAccessEOService.getCountryByRes(sarStandardsInfoEO.getId(), sarStandardsInfoEO.getStandType() + "_STAND");
|
||||
sarStandardsInfoEO.setAccessCountry(accessCountry);
|
||||
// 处理标准体系字段
|
||||
String standSystem = sarStandardsInfoEO.getStandSystem();
|
||||
if (StringUtils.isNotBlank(standSystem)) {
|
||||
List<String> list = Arrays.asList(standSystem.split("/"));
|
||||
standSystem = list.get(list.size() - 1);
|
||||
// 配置体系类别
|
||||
String txlbBussLevel = getParentNodePathRecursive(standSystem);
|
||||
sarStandardsInfoEO.setStandSystem(txlbBussLevel);
|
||||
}
|
||||
}
|
||||
return sarStandardsInfoEO;
|
||||
}
|
||||
@@ -3934,5 +3955,29 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
|
||||
return sarlist;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询标准体系
|
||||
* @param nodeName 标准体系节点名称
|
||||
* @return
|
||||
*/
|
||||
public String getParentNodePathRecursive(String nodeName) {
|
||||
LambdaQueryWrapper<SarMenuStandard> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SarMenuStandard::getMenuName, nodeName);
|
||||
SarMenuStandard node = sarMenuStandardService.list(wrapper).get(0); // 根据 txlbBuss 查询节点
|
||||
if (node == null) {
|
||||
return nodeName; // 未找到节点,返回空路径
|
||||
}
|
||||
if (org.apache.commons.lang.StringUtils.isBlank(node.getParentId())) {
|
||||
return nodeName;
|
||||
}
|
||||
SarMenuStandard sarMenuStandard = sarMenuStandardService.selectMenuById(node.getParentId());
|
||||
String parentNodePath = getParentNodePathRecursive(sarMenuStandard.getMenuName()); // 递归获取父节点路径
|
||||
if (parentNodePath.isEmpty()) {
|
||||
return nodeName; // 如果父节点路径为空,直接返回当前节点的 txlbBuss
|
||||
} else {
|
||||
return parentNodePath + "/" + nodeName; // 否则,拼接当前节点的 txlbBuss 到父节点路径
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user