| | |
| | | if (!CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(attrVO.getClassifyInvokeLevel()) && !"min".equalsIgnoreCase(attrVO.getClassifyInvokeLevel())) { |
| | | //指定了层级的 |
| | | //注意,因为查询上级分类出来的层级是倒序的,即顶层节点是最大的值 |
| | | List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList()); |
| | | List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> -o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList()); |
| | | int level = VciBaseUtil.getInt(attrVO.getClassifyInvokeLevel()); |
| | | if (classifyVOS.size() >= level && level > 0) { |
| | | classifyVO = classifyVOS.get(level - 1); |
| | |
| | | } else { |
| | | if (CollectionUtils.isEmpty(fullInfoBO.getParentClassifyVOs())) { |
| | | //说明已经是最高层级, |
| | | throw new VciBaseException("当前主题库分类,以及它的所有的上级分类都没有设置编码规则"); |
| | | throw new ServiceException("当前主题库分类,以及它的所有的上级分类都没有设置编码规则"); |
| | | } |
| | | List<CodeClassifyVO> parentClassifyVOList = fullInfoBO.getParentClassifyVOs().stream().sorted((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel())).collect(Collectors.toList()); |
| | | //从最高的level开始获取 |
| | |
| | | } |
| | | } |
| | | if (StringUtils.isBlank(codeRuleOid)) { |
| | | throw new VciBaseException("当前主题库分类,以及它的所有的上级分类都没有设置编码规则"); |
| | | throw new ServiceException("当前主题库分类,以及它的所有的上级分类都没有设置编码规则"); |
| | | } |
| | | } |
| | | return ruleService.getObjectHasSecByOid(codeRuleOid); |