|
@@ -75,15 +75,17 @@ public class NodeBaseInfoServiceImpl extends BaseServiceImpl<NodeBaseInfoMapper,
|
|
|
if(wbsTreeContract!=null&&wbsTreeContract.getAncestors()!=null){
|
|
|
String ancestors = wbsTreeContract.getAncestors();
|
|
|
String[] nodeIds = ancestors.split(",");
|
|
|
- // 使用MyBatis Plus的查询构建器
|
|
|
QueryWrapper<WbsTreeContract> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("project_id",wbsTreeContract.getProjectId());
|
|
|
- queryWrapper.eq("contract_id",wbsTreeContract.getContractId());
|
|
|
- queryWrapper.in("p_key_id", Arrays.asList(nodeIds));
|
|
|
+ queryWrapper.eq("project_id", wbsTreeContract.getProjectId())
|
|
|
+ .eq("contract_id", wbsTreeContract.getContractId())
|
|
|
+ .ne("parent_id", 0)
|
|
|
+ .and(wrapper -> wrapper.in("p_key_id", Arrays.asList(nodeIds))
|
|
|
+ .or()
|
|
|
+ .in("id", Arrays.asList(nodeIds)))
|
|
|
+ .groupBy("p_key_id");
|
|
|
List<WbsTreeContract> wbsTreeContracts = iWbsTreeContractService.getBaseMapper().selectList(queryWrapper);
|
|
|
if(wbsTreeContracts.size()>0){
|
|
|
NodeBaseInfo info = new NodeBaseInfo();
|
|
|
-
|
|
|
for (WbsTreeContract contract : wbsTreeContracts) {
|
|
|
if(contract.getNodeType()==1){
|
|
|
info.setUnit(contract.getNodeName());
|
|
@@ -141,9 +143,9 @@ public class NodeBaseInfoServiceImpl extends BaseServiceImpl<NodeBaseInfoMapper,
|
|
|
&&StringUtil.equals(nodeBaseInfo.getProcesses(),info.getProcesses())){
|
|
|
return nodeBaseInfo;
|
|
|
}else {
|
|
|
- BeanUtils.copyProperties(info,nodeBaseInfo);
|
|
|
- baseMapper.updateById(nodeBaseInfo);
|
|
|
- return nodeBaseInfo;
|
|
|
+ info.setId(nodeBaseInfo.getId());
|
|
|
+ info.setNodeId(pKeyId);
|
|
|
+ return info;
|
|
|
}
|
|
|
}
|
|
|
info.setId(SnowFlakeUtil.getId());
|
|
@@ -155,6 +157,8 @@ public class NodeBaseInfoServiceImpl extends BaseServiceImpl<NodeBaseInfoMapper,
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public Object getNodeBaseInfoByPkeyId(Long pkeyId, Long nodeId, Integer autoType, BigDecimal min, BigDecimal max) {
|
|
|
String result="";
|
|
@@ -218,6 +222,14 @@ public class NodeBaseInfoServiceImpl extends BaseServiceImpl<NodeBaseInfoMapper,
|
|
|
//拿到参数库所有元素与参数库的元素比较
|
|
|
String sql="select * from m_parameter_element where is_deleted =0";
|
|
|
List<ParameterElement> ParameterElementList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ParameterElement.class));
|
|
|
+
|
|
|
+ String nodeSql="Select * from m_node_base_info where node_id="+nodeId+" and is_deleted=0";
|
|
|
+ NodeBaseInfo nodeBaseInfo=new NodeBaseInfo();
|
|
|
+ try {
|
|
|
+ nodeBaseInfo = jdbcTemplate.queryForObject(nodeSql, new BeanPropertyRowMapper<>(NodeBaseInfo.class));
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
List<WbsTreeContract> ancestorsNodes = iWbsTreeContractService.getBaseMapper().selectList(new QueryWrapper<WbsTreeContract>().in("p_key_id", Arrays.stream(wbsTreeContractNode.getAncestors().split(",")).toArray()).eq("contract_id", wbsTreeContractNode.getContractId()));
|
|
|
for (ParameterElement parameterElement : ParameterElementList) {
|
|
|
Elements selects = doc.select("[placeholderxx='" + parameterElement.getElementName() + "']");
|
|
@@ -252,54 +264,87 @@ public class NodeBaseInfoServiceImpl extends BaseServiceImpl<NodeBaseInfoMapper,
|
|
|
StringBuilder result=new StringBuilder();
|
|
|
for (String type : paramTypes) {
|
|
|
if(type.equals("1")){
|
|
|
- String s=ancestorsNodes.stream()
|
|
|
- .filter(m -> m.getNodeType() == 1&&m.getParentId()!=0)
|
|
|
- .map(WbsTreeContract::getNodeName)
|
|
|
- .findFirst()
|
|
|
- .orElse("");
|
|
|
- result.append(s);
|
|
|
+ if(nodeBaseInfo!=null&&!StringUtil.isEmpty(nodeBaseInfo.getUnit())){
|
|
|
+ result.append(nodeBaseInfo.getUnit());
|
|
|
+ }else {
|
|
|
+ String s=ancestorsNodes.stream()
|
|
|
+ .filter(m -> m.getNodeType() == 1&&m.getParentId()!=0)
|
|
|
+ .map(WbsTreeContract::getNodeName)
|
|
|
+ .findFirst()
|
|
|
+ .orElse("");
|
|
|
+ result.append(s);
|
|
|
+ }
|
|
|
} else if (type.equals("2")) {
|
|
|
- String s=ancestorsNodes.stream()
|
|
|
- .filter(m -> m.getNodeType() == 18)
|
|
|
- .map(WbsTreeContract::getNodeName)
|
|
|
- .findFirst()
|
|
|
- .orElse("");
|
|
|
- result.append(s);
|
|
|
+ if(nodeBaseInfo!=null&&!StringUtil.isEmpty(nodeBaseInfo.getSubUnit())){
|
|
|
+ result.append(nodeBaseInfo.getSubUnit());
|
|
|
+ }else {
|
|
|
+ String s=ancestorsNodes.stream()
|
|
|
+ .filter(m -> m.getNodeType() == 18)
|
|
|
+ .map(WbsTreeContract::getNodeName)
|
|
|
+ .findFirst()
|
|
|
+ .orElse("");
|
|
|
+ result.append(s);
|
|
|
+ }
|
|
|
+
|
|
|
} else if (type.equals("3")) {
|
|
|
- String s=ancestorsNodes.stream()
|
|
|
- .filter(m -> m.getNodeType() == 2)
|
|
|
- .map(WbsTreeContract::getNodeName)
|
|
|
- .findFirst()
|
|
|
- .orElse("");
|
|
|
- result.append(s);
|
|
|
+ if(nodeBaseInfo!=null&&!StringUtil.isEmpty(nodeBaseInfo.getDivision())){
|
|
|
+ result.append(nodeBaseInfo.getDivision());
|
|
|
+ }else {
|
|
|
+ String s=ancestorsNodes.stream()
|
|
|
+ .filter(m -> m.getNodeType() == 2)
|
|
|
+ .map(WbsTreeContract::getNodeName)
|
|
|
+ .findFirst()
|
|
|
+ .orElse("");
|
|
|
+ result.append(s);
|
|
|
+ }
|
|
|
+
|
|
|
}else if (type.equals("4")) {
|
|
|
- String s=ancestorsNodes.stream()
|
|
|
- .filter(m -> m.getNodeType() == 3)
|
|
|
- .map(WbsTreeContract::getNodeName)
|
|
|
- .findFirst()
|
|
|
- .orElse("");
|
|
|
- result.append(s);
|
|
|
+ if(nodeBaseInfo!=null&&!StringUtil.isEmpty(nodeBaseInfo.getSubDivision())){
|
|
|
+ result.append(nodeBaseInfo.getSubDivision());
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ String s=ancestorsNodes.stream()
|
|
|
+ .filter(m -> m.getNodeType() == 3)
|
|
|
+ .map(WbsTreeContract::getNodeName)
|
|
|
+ .findFirst()
|
|
|
+ .orElse("");
|
|
|
+ result.append(s);
|
|
|
+ }
|
|
|
+
|
|
|
}else if (type.equals("5")) {
|
|
|
- String s=ancestorsNodes.stream()
|
|
|
- .filter(m -> m.getNodeType() == 4)
|
|
|
- .map(WbsTreeContract::getNodeName)
|
|
|
- .findFirst()
|
|
|
- .orElse("");
|
|
|
- result.append(s);
|
|
|
+ if(nodeBaseInfo!=null&&!StringUtil.isEmpty(nodeBaseInfo.getItem())){
|
|
|
+ result.append(nodeBaseInfo.getItem());
|
|
|
+ }else {
|
|
|
+ String s=ancestorsNodes.stream()
|
|
|
+ .filter(m -> m.getNodeType() == 4)
|
|
|
+ .map(WbsTreeContract::getNodeName)
|
|
|
+ .findFirst()
|
|
|
+ .orElse("");
|
|
|
+ result.append(s);
|
|
|
+ }
|
|
|
}else if (type.equals("6")) {
|
|
|
- String s=ancestorsNodes.stream()
|
|
|
- .filter(m -> m.getNodeType() == 5)
|
|
|
- .map(WbsTreeContract::getNodeName)
|
|
|
- .findFirst()
|
|
|
- .orElse("");
|
|
|
- result.append(s);
|
|
|
+ if(nodeBaseInfo!=null&&!StringUtil.isEmpty(nodeBaseInfo.getSubItem())){
|
|
|
+ result.append(nodeBaseInfo.getSubItem());
|
|
|
+ }else {
|
|
|
+ String s=ancestorsNodes.stream()
|
|
|
+ .filter(m -> m.getNodeType() == 5)
|
|
|
+ .map(WbsTreeContract::getNodeName)
|
|
|
+ .findFirst()
|
|
|
+ .orElse("");
|
|
|
+ result.append(s);
|
|
|
+ }
|
|
|
+
|
|
|
}else if (type.equals("7")) {
|
|
|
- String s=ancestorsNodes.stream()
|
|
|
- .filter(m -> m.getNodeType() == 6)
|
|
|
- .map(WbsTreeContract::getNodeName)
|
|
|
- .findFirst()
|
|
|
- .orElse("");
|
|
|
- result.append(s);
|
|
|
+ if(nodeBaseInfo!=null&&!StringUtil.isEmpty(nodeBaseInfo.getProcesses())){
|
|
|
+ result.append(nodeBaseInfo.getProcesses());
|
|
|
+ }else {
|
|
|
+ String s=ancestorsNodes.stream()
|
|
|
+ .filter(m -> m.getNodeType() == 6)
|
|
|
+ .map(WbsTreeContract::getNodeName)
|
|
|
+ .findFirst()
|
|
|
+ .orElse("");
|
|
|
+ result.append(s);
|
|
|
+ }
|
|
|
}else if (type.equals("8")) {
|
|
|
String s= ancestorsNodes.stream()
|
|
|
.map(WbsTreeContract::getPartitionCode) // 获取 partitionCode
|