Jelajahi Sumber

保存获取文件题名将ancestors改为ancestorsPid

chenr 3 bulan lalu
induk
melakukan
ddde271184

+ 7 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsParamServiceImpl.java

@@ -220,32 +220,36 @@ public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsPara
             if(wbsTreePrivate==null){
                 return R.success("暂无数据");
             }
-            String ancestor=wbsTreePrivate.getAncestors()+","+wbsTreePrivate.getAncestorsPId();
+            //拿到引用项目级节点的祖级节点
+            String ancestor=wbsTreePrivate.getAncestorsPId()+","+wbsTreePrivate.getPKeyId();
             String[] ancestors = ancestor.split(",");
             List<Long> list2 = Arrays.stream(ancestors)
                 .map(Long::parseLong)
                 .collect(Collectors.toList());
             String join = String.join(",", list2.stream().map(String::valueOf).collect(Collectors.toList()));
-            String sql11 = "SELECT * FROM m_wbs_tree_private WHERE node_type=1  AND project_id="+projectId+"  AND parent_id!=0 AND (p_key_id IN (" + join + ") or id IN ("+join+"))";
+            String sql11 = "SELECT * FROM m_wbs_tree_private WHERE node_type=1  AND project_id="+projectId+"  AND parent_id!=0 AND p_key_id IN (" + join + ")";
             List<WbsTreePrivate> nodeList = jdbcTemplate.query(sql11, new BeanPropertyRowMapper<>(WbsTreePrivate.class));
             //List<WbsTreePrivate> nodeList = wbsTreePrivateService.getBaseMapper().selectList(new LambdaQueryWrapper<>(WbsTreePrivate.class).select(WbsTreePrivate::getId).eq(WbsTreePrivate::getNodeType, 1).ne(WbsTreePrivate::getParentId, 0).in(WbsTreePrivate::getPKeyId, list2));
+            //那点祖级节点的Id
             List<Long> list3 = nodeList.stream().map(o -> o.getId()).collect(Collectors.toList());
             if(list3.size()<0){
                 return R.success("暂无数据");
             }
+            //查出这个项目所有的文件题名配置
             List<WbsParam> wbsParamList = this.getBaseMapper().selectList(new LambdaQueryWrapper<>(WbsParam.class).eq(WbsParam::getProjectId, projectId).eq(WbsParam::getK, "FILE_TITLE"));
             List<WbsParam> result=new ArrayList<>();
             if(wbsParamList.size()>0){
                 //筛选出包含当前单位工程节点的
                 for (WbsParam param : wbsParamList) {
+                    //祖级节点里有文件题名配置就加进去
                     if(list3.contains(param.getNodeId())){
                         result.add(param);
                     }
+                    //如果是全局的也加进去
                     if(param.getNameType()==1){
                         result.add(param);
                     }
                 }
-
                 if(result.size()>0){
                     //如果有部分节点优先部分
                     List<WbsParam> collect1 = result.stream().filter(o -> o.getNameType() == 2).collect(Collectors.toList());