@ApiOperation(value = "库存列表选择框")
@ApiImplicitParams({
})
@RequestMapping(value="/goodslistselect",method=RequestMethod.GET)
public Object GoodsListSelect(){
Result<Object> result = new Result<Object>();
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<TreeNode>());
//当前节点所有子节点
List<TreeNode> li = this.selectChildren2(pcode,dwcode);
//节点组装
this.tree(highesttreeNode, li,dwcode);
return highesttreeNode;
}
//查询当前节点所有子节点
private List<TreeNode> 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<TreeNode> list = jdbcDao.queryListForSql(sql, TreeNode.class);
return list;
}
// 节点组装
private void tree(TreeNode highesttreeNode, List<TreeNode> 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 TreeNode = li.get(i);
List<TreeNode> children = highesttreeNode.getChildren();
children.add(TreeNode);// 添加到孩子节点列表
//当前子节点的子节点
List<TreeNode> list = this.selectChildren2(TreeNode.getId(),dwcode);
tree(TreeNode, list,dwcode);// 递归,实现无限层级
}
}
}