瀏覽代碼

客户端查看系统模版

chenr 2 月之前
父節點
當前提交
6f1e693644

+ 6 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WbsTreeContractLazyVO.java

@@ -127,4 +127,10 @@ public class WbsTreeContractLazyVO implements Serializable {
     @ApiModelProperty(value = "WbsId")
     private Long WbsId;
 
+    @ApiModelProperty(value = "系统模板,后管项目级位置")
+    private String privateTemplate;
+
+    @ApiModelProperty(value = "关联后管节点ID")
+    private Long isTypePrivatePid;
+
 }

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -143,7 +143,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
             //如果className,unitName不为空,则要判断该节点是否是最小节点
             if (ObjectUtil.isNotEmpty(wbsTreePrivate.getClassName()) && ObjectUtil.isNotEmpty(wbsTreePrivate.getUnitName())) {
                 QueryWrapper<WbsTreePrivate> wrapper = new QueryWrapper<>();
-                wrapper.eq("parent_id", wbsTreePrivate.getId()).eq("is_deleted", 0);
+                wrapper.eq("parent_id", wbsTreePrivate.getId()).eq("project_id",  wbsTreePrivate.getProjectId());
                 //查出当前节点所有子节点。如果子节点中没有节点,说明是最小节点
                 List<WbsTreePrivate> wbsTreePrivates = baseMapper.selectList(wrapper);
                 if (wbsTreePrivates.size() > 0) {

+ 43 - 3
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -72,6 +72,7 @@ import org.springframework.dao.DataAccessException;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.SingleColumnRowMapper;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -83,7 +84,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.function.Function;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 @Service
 @AllArgsConstructor
@@ -727,7 +727,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                     String sql = "SELECT is_custom,p_key_id,contract_id," +
                             "(SELECT is_reference_number FROM m_contract_info WHERE id="+contractId+") AS isReferenceNumber,"+
                             "(SELECT id FROM u_contract_tree_drawings WHERE process_id = p_key_id AND is_deleted = 0 limit 1) AS drawingsId," +
-                            "id,parent_id,node_type,type,wbs_type,is_buss_show as isBussShow,is_concrete,major_data_type,class_name,unit_name,node_class,unit_num,excellent_num,is_classifition,digitize_time,partition_code,old_id,contract_id_relation,is_concealed_works_node,wbs_id,sort,create_time," +
+                            "id,parent_id,node_type,type,wbs_type,is_buss_show as isBussShow,is_concrete,major_data_type,class_name,unit_name,node_class,unit_num,excellent_num,is_classifition,digitize_time,partition_code,old_id,contract_id_relation,is_concealed_works_node,wbs_id,sort,create_time,is_type_private_pid," +
                             "CASE (SELECT count(1) FROM u_tree_contract_first AS tcf WHERE tcf.is_deleted = 0 AND tcf.wbs_node_id = a.p_key_id) " +
                             "WHEN 0 THEN 'false' ELSE 'true' END AS isFirst,IFNULL(if(length(trim(full_name))>0,full_name,node_name),node_name) AS title," +
                             "(SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_wbs_tree_contract b WHERE b.parent_id = a.id AND b.type = 1" +
@@ -811,6 +811,25 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                                 }
                             }
                             for (WbsTreeContractLazyVO lazyNodeVO : lazyNodes) {
+                                if(lazyNodeVO.getIsCustom()!=null&&lazyNodeVO.getIsCustom()==1){
+                                    lazyNodeVO.setPrivateTemplate("当前节点为自定义节点,无法定位后管位置");
+                                }else {
+                                    try {
+                                        if(lazyNodeVO.getIsTypePrivatePid()!=null){
+                                            String privateSql="select p_key_id, ancestors_p_id from m_wbs_tree_private where p_key_id="+lazyNodeVO.getIsTypePrivatePid()+" and is_deleted=0";
+                                            WbsTreePrivate ancestor = jdbcTemplate.queryForObject(privateSql,new BeanPropertyRowMapper<>(WbsTreePrivate.class));
+                                            String ancestorsPId=ancestor.getAncestorsPId()+","+ancestor.getPKeyId();
+                                            String privateNodeNameSql="select node_name from m_wbs_tree_private where p_key_id in ("+ancestorsPId+")";
+                                            List<String> wbsTreePrivates = jdbcTemplate.query(privateNodeNameSql,new SingleColumnRowMapper<>(String.class));
+                                            if(wbsTreePrivates.size()>0){
+                                                String result = wbsTreePrivates.stream().collect(Collectors.joining("/"));
+                                                lazyNodeVO.setPrivateTemplate(result);
+                                            }
+                                        }
+                                    } catch (Exception e) {
+                                        lazyNodeVO.setPrivateTemplate("");
+                                    }
+                                }
                                 lazyNodeVO.setNotExsitChild(!lazyNodeVO.getHasChildren().equals(1));
                                 lazyNodeVO.setPrimaryKeyId(lazyNodeVO.getPKeyId());
                                 if (lazyNodeVO.getParentId() == 0L) {
@@ -835,6 +854,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                                         lazyNodeVO.setColorStatus(lowestNode.getColorStatus());
                                     }
                                 }
+
                             }
                         }
                         return lazyNodes;
@@ -865,7 +885,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                             String sql = "SELECT is_custom,p_key_id,contract_id," +
                                     "(SELECT is_reference_number FROM m_contract_info WHERE id="+contractId+") AS isReferenceNumber,"+
                                     "(SELECT id FROM u_contract_tree_drawings WHERE process_id = p_key_id AND is_deleted = 0 limit 1) AS drawingsId," +
-                                    "id,parent_id,node_type,type,wbs_type,is_concrete,major_data_type,class_name,unit_name,node_class,unit_num,excellent_num,is_classifition,digitize_time,partition_code,old_id,contract_id_relation,is_concealed_works_node,wbs_id,sort,create_time," +
+                                    "id,parent_id,node_type,type,wbs_type,is_concrete,major_data_type,class_name,unit_name,node_class,unit_num,excellent_num,is_classifition,digitize_time,partition_code,old_id,contract_id_relation,is_concealed_works_node,wbs_id,sort,create_time,is_type_private_pid," +
                                     "CASE (SELECT count(1) FROM u_tree_contract_first AS tcf WHERE tcf.is_deleted = 0 AND tcf.wbs_node_id = a.p_key_id) " +
                                     "WHEN 0 THEN 'false' ELSE 'true' END AS isFirst,IFNULL(if(length(trim(full_name))>0,full_name,node_name),node_name) AS title," +
                                     "(SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_wbs_tree_contract b WHERE b.parent_id = a.id AND b.type = 1" +
@@ -927,6 +947,25 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                                     }
 
                                     for (WbsTreeContractLazyVO lazyNodeVO : lazyNodes) {
+                                        if(lazyNodeVO.getIsCustom()!=null&&lazyNodeVO.getIsCustom()==1){
+                                            lazyNodeVO.setPrivateTemplate("当前节点为自定义节点,无法定位后管位置");
+                                        }else {
+                                            try {
+                                                if(lazyNodeVO.getIsTypePrivatePid()!=null){
+                                                    String privateSql="select p_key_id, ancestors_p_id from m_wbs_tree_private where p_key_id="+lazyNodeVO.getIsTypePrivatePid()+" and is_deleted=0";
+                                                    WbsTreePrivate ancestor = jdbcTemplate.queryForObject(privateSql,new BeanPropertyRowMapper<>(WbsTreePrivate.class));
+                                                    String ancestorsPId=ancestor.getAncestorsPId()+","+ancestor.getPKeyId();
+                                                    String privateNodeNameSql="select node_name from m_wbs_tree_private where p_key_id in ("+ancestorsPId+")";
+                                                    List<String> wbsTreePrivates = jdbcTemplate.query(privateNodeNameSql,new SingleColumnRowMapper<>(String.class));
+                                                    if(wbsTreePrivates.size()>0){
+                                                        String result = wbsTreePrivates.stream().collect(Collectors.joining("/"));
+                                                        lazyNodeVO.setPrivateTemplate(result);
+                                                    }
+                                                }
+                                            } catch (Exception e) {
+                                                lazyNodeVO.setPrivateTemplate("");
+                                            }
+                                        }
                                         lazyNodeVO.setType(lazyNodeVO.getNodeType());
                                         lazyNodeVO.setNotExsitChild(!lazyNodeVO.getHasChildren().equals(1));
                                         lazyNodeVO.setPrimaryKeyId(lazyNodeVO.getPKeyId());
@@ -952,6 +991,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                                                 lazyNodeVO.setColorStatus(lowestNode.getColorStatus());
                                             }
                                         }
+
                                     }
                                 }
                                 lazyNodesAll.addAll(lazyNodes);