| | |
| | | * 上级节点的属性名称 |
| | | */ |
| | | public static final String PARENT_FIELD_NAME = "parentCodeClassifyOid"; |
| | | |
| | | /** |
| | | * 使用查询封装器来查询 |
| | | * @param wrapper 查询封装器 |
| | |
| | | } |
| | | 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"), |
| | |
| | | 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 -> { |
| | |
| | | /*Boolean checkHasChild = checkHasChild(tree.getOid()); |
| | | tree.setLeaf(!checkHasChild);*/ |
| | | if (classifyIds.contains(tree.getOid())) { |
| | | // 如果顶层节点存在于 classifyIds 中,直接保留其子节点集合 |
| | | // 如果顶层节点存在 classifyIds ,直接保留其子节点集合 |
| | | continue; |
| | | } |
| | | if (tree.getChildren() != null && !tree.getChildren().isEmpty()) { |
| | |
| | | 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; |
| | | } |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | wrapper.eq("parentCodeClassifyOid",codeClassifyOid); |
| | | return codeClassifyMapper.selectCount(wrapper).intValue(); |
| | | } |
| | | |
| | | |
| | | |
| | | } |