add: 企标详情级联显示标准体系

This commit is contained in:
wxyclub
2023-10-31 18:20:37 +08:00
parent 9593c397c9
commit e41a8b75c9
@@ -89,6 +89,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
import java.sql.Clob;
import java.text.DecimalFormat;
@@ -228,6 +229,8 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
@Autowired
private ISarBussStandSnService sarBussStandSnService;
@Resource
private ISarMenuStandardService sarMenuStandardService;
@Override
public String getStandInfoByReviseStatus(String reviseStatus,String standSort,String taskId){
@@ -1380,6 +1383,14 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
}
}
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);
}
}
// 处理 在线编辑pdf存储失败问题 发布稿的在线编辑文件 判断文件表是否有没有则 添加 每次进入 都进行判断
Object fbgbuss = sarBussionessStandEO.getAttrInfoCaseMap().get("fbgbuss");
@@ -5213,4 +5224,28 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
}
return "2";
}
/**
* 查询标准体系
* @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 (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 到父节点路径
}
}
}