| | |
| | | return baseMapper.selectVoList(lqw); |
| | | } |
| | | |
| | | /** |
| | | * 查询树形结构数据 |
| | | * |
| | | * @param judgeId 判定主标识 |
| | | * @return 树形结构列表 |
| | | */ |
| | | @Override |
| | | public List<QmJudgeDetailsVo> queryTreeListByJudgeId(String judgeId) { |
| | | if (StringUtils.isBlank(judgeId)) { |
| | | return new java.util.ArrayList<>(); |
| | | } |
| | | // 1. 查询根节点 (rid is null) |
| | | List<QmJudgeDetailsVo> roots = selectTreeNodes(judgeId, null); |
| | | for (QmJudgeDetailsVo root : roots) { |
| | | // 2. 查询第一级子节点 (rid = root.itemCod) |
| | | List<QmJudgeDetailsVo> children = selectTreeNodes(judgeId, root.getItemCod()); |
| | | for (QmJudgeDetailsVo child : children) { |
| | | // 3. 查询第二级子节点 (rid = child.itemCod) |
| | | List<QmJudgeDetailsVo> grandchildren = selectTreeNodes(judgeId, child.getItemCod()); |
| | | child.setChildren(grandchildren); |
| | | } |
| | | root.setChildren(children); |
| | | } |
| | | return roots; |
| | | } |
| | | |
| | | /** |
| | | * 查询树节点 |
| | | * |
| | | * @param judgeId 判定主标识 |
| | | * @param rid 关联项ID |
| | | * @return 节点列表 |
| | | */ |
| | | private List<QmJudgeDetailsVo> selectTreeNodes(String judgeId, String rid) { |
| | | LambdaQueryWrapper<QmJudgeDetails> lqw = Wrappers.lambdaQuery(); |
| | | lqw.eq(QmJudgeDetails::getJudgeId, judgeId); |
| | | if (rid == null) { |
| | | lqw.isNull(QmJudgeDetails::getRid); |
| | | } else { |
| | | lqw.eq(QmJudgeDetails::getRid, rid); |
| | | } |
| | | lqw.orderByAsc(QmJudgeDetails::getId); |
| | | return baseMapper.selectVoList(lqw); |
| | | } |
| | | |
| | | private LambdaQueryWrapper<QmJudgeDetails> buildQueryWrapper(QmJudgeDetailsBo bo) { |
| | | Map<String, Object> params = bo.getParams(); |
| | | LambdaQueryWrapper<QmJudgeDetails> lqw = Wrappers.lambdaQuery(); |