前端组件tree(有结构)

@ApiOperation(value = "库存列表选择框")
    @ApiImplicitParams({ 
    })
    @RequestMapping(value="/goodslistselect",method=RequestMethod.GET)
    public Object GoodsListSelect(){
        Result result = new Result();
        String dwcode = getzhutiuser().getDwcode();
        TreeNode highesttreeNode= t_goodsDal.selectTree("0",dwcode);
            
        result.setCode("v");
        result.setTdata(highesttreeNode.getChildren());
        return result;

    }


        public TreeNode selectTree(String pcode,String dwcode) {
            TreeNode highesttreeNode = new TreeNode();
            highesttreeNode.setId("0");
            highesttreeNode.setChildren(new ArrayList());
            
            //当前节点所有子节点
            List li = this.selectChildren2(pcode,dwcode);
            //节点组装
            this.tree(highesttreeNode, li,dwcode);
            
            return highesttreeNode;
        } 



        //查询当前节点所有子节点
        private List selectChildren2(String pcode,String dwcode) {
            String sql="select goodscode as id,goodsname as label  from t_goods where parentcode='"+pcode+"' and dwcode='"+dwcode+"' and nvl(scbj,'0')='0'";
            List list = jdbcDao.queryListForSql(sql, TreeNode.class);
            return list;
        }



        // 节点组装
        private void tree(TreeNode highesttreeNode, List li,String dwcode) {
            
            if (!CollectionUtils.isEmpty(li)) {
                
                for (int i = 0, l = li.size(); i < l; i++) {
                    li.get(i).setChildren(new ArrayList());
                    TreeNode TreeNode = li.get(i);
                    List children = highesttreeNode.getChildren();
                    children.add(TreeNode);// 添加到孩子节点列表
                    //当前子节点的子节点
                    List list = this.selectChildren2(TreeNode.getId(),dwcode);
                    tree(TreeNode, list,dwcode);// 递归,实现无限层级
                }
            }
        }

你可能感兴趣的:(前端组件tree(有结构))