ludc
2024-02-01 a8d80ddd0aef61cbaf1dbe9fe7abec12f0835399
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -122,6 +122,7 @@
    * 上级节点的属性名称
    */
   public static  final String PARENT_FIELD_NAME = "parentCodeClassifyOid";
   /**
    * 使用查询封装器来查询
    * @param wrapper 查询封装器
@@ -562,6 +563,7 @@
      }
      if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
         //String tableName = this.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
         // TODO: 2024-1-24 23:25我去掉了懒加载,因为会影响数据授权过滤和分类搜索功能,而且这儿感觉没必要做懒加载
         doList = codeClassifyMapper
            .selectCodeClassifyDOByTree(
               treeQueryObject.getConditionMap().get("id"),
@@ -598,11 +600,8 @@
         if(!viewClassByRoleIds.isSuccess() && viewClassByRoleIds.getData().isEmpty()){
            throw new ServiceException("主数据查看权限未配置,或配置有误!");
         }
         long startTime = System.currentTimeMillis();
         // 过滤
         filterTreeNodes(tree,viewClassByRoleIds.getData());
         long endTime = System.currentTimeMillis();
         System.out.println(("执行时间:"+(endTime-startTime)/1000)+"s");
      }
      // 加载分类是否具有子分类
      tree.parallelStream().forEach(item -> {
@@ -624,7 +623,7 @@
         /*Boolean checkHasChild = checkHasChild(tree.getOid());
         tree.setLeaf(!checkHasChild);*/
         if (classifyIds.contains(tree.getOid())) {
            // 如果顶层节点存在于 classifyIds 中,直接保留其子节点集合
            // 如果顶层节点存在 classifyIds ,直接保留其子节点集合
            continue;
         }
         if (tree.getChildren() != null && !tree.getChildren().isEmpty()) {
@@ -745,6 +744,24 @@
      String oids = codeClassifies.stream()
         .map(CodeClassify::getOid)
         .map(s -> "'" + s + "'")
         .collect(Collectors.joining(","));;
      return oids;
   }
   /**
    *  根据顶层节点oid查询所有叶子节点分类oid
    * @param pid
    * @return
    */
   @Override
   public String selectLeafByPid(String pid) {
      List<CodeClassify> codeClassifies = codeClassifyMapper.selectLeafByPid(pid);
      if(codeClassifies.isEmpty()){
         return "";
      }
      String oids = codeClassifies.stream()
         .map(CodeClassify::getOid)
         .map(s ->s)
         .collect(Collectors.joining(","));;
      return oids;
   }
@@ -1460,11 +1477,11 @@
      if(!CollectionUtils.isEmpty(dataList)){
         for(Map data:dataList){
            CodeClassify codeClassifyDO = new CodeClassify();
            codeClassifyDO.setOid(VciBaseUtil.getStringValueFromObject(data.get("OID")));
            codeClassifyDO.setId(VciBaseUtil.getStringValueFromObject(data.get("ID")));
            codeClassifyDO.setName(VciBaseUtil.getStringValueFromObject(data.get("NAME")));
            codeClassifyDO.setBtmTypeId(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPEID")));
            codeClassifyDO.setBtmTypeName(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPENAME")));
            codeClassifyDO.setOid(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"OID")));
            codeClassifyDO.setId(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"ID")));
            codeClassifyDO.setName(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"NAME")));
            codeClassifyDO.setBtmTypeId(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"BTMTYPEID")));
            codeClassifyDO.setBtmTypeName(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"BTMTYPENAME")));
            oidList.add(codeClassifyDO);
         }
      }
@@ -1528,7 +1545,5 @@
      wrapper.eq("parentCodeClassifyOid",codeClassifyOid);
      return codeClassifyMapper.selectCount(wrapper).intValue();
   }
}