import java.io.Serializable;
import java.util.List;
public class OrgTree implements Serializable{
private static final long serialVersionUID = -6537161555450107422L;
private Long id;//机构ID注意: 根节点的ORG_ID=0,不能删除
private String name;//机构Name
private boolean open;
private Long pId;//父机构ID
private List<OrgTree> children;//子list
private boolean checked;//是否选中
private boolean nocheck;//是否不显示checkbox
private boolean chkDisabled=false;
private String text;//机构Name
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<OrgTree> getChildren() {
return children;
}
public void setChildren(List<OrgTree> children) {
this.children = children;
}
public boolean isOpen() {
return open;
}
public void setOpen(boolean open) {
this.open = open;
}
public Long getpId() {
return pId;
}
public void setpId(Long pId) {
this.pId = pId;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public boolean isNocheck() {
return nocheck;
}
public void setNocheck(boolean nocheck) {
this.nocheck = nocheck;
}
public boolean isChkDisabled() {
return chkDisabled;
}
public void setChkDisabled(boolean chkDisabled) {
this.chkDisabled = chkDisabled;
}
}
2.1 tbl_org 机构表
字段名 | 含义 | 类型 | 备注 |
ORG_ID | 机构ID,PK | bigint(20) NOT NULL | 自增长 |
ORG_TYPE | 机构类型 | int(1) NOT NULL | 0:组织机构 1:岗位/角色 2:职位 |
ORG_NAME | 机构名称 | varchar(100) NOT NULL |
|
PARENT_ID | 父机构ID | bigint(20) NULL |
|
SEQ | 排序 | bigint(20) NULL |
|
ORG_CODE | 机构编码 | varchar(50) NULL | Reserved |
|
|
|
|
|
|
|
|
| |||
STATUS | 状态 | int(1) NULL | 0或null:正常 1:删除 |
@Override
public String getAllOrgTree() {
List<OrgTree> allOrg = userInfoMapper.getAllOrg(); //查询所有的org数据。
List<OrgTree> dataList = new ArrayList<OrgTree>(); //获取根目录id
for (OrgTree orgTree : allOrg) {
if(orgTree.getId().equals(orgTree.getpId())){
dataList.add(orgTree);
}
}
List<OrgTree> getdigui = getdigui(allOrg,dataList); //调用方法 传入2个参数 一个是所有机构 另一个是所有根机构
return JSONArray.toJSON(getdigui).toString();
}
public List<OrgTree> getdigui(List<OrgTree> allOrg,List<OrgTree> dataList){
for (OrgTree dataDto : dataList) { //遍历所有根机构
List<OrgTree> chiList=new ArrayList<OrgTree>(); //用于储存子机构
for (OrgTree allDto : allOrg) { //遍历所有机构
if(!dataDto.getId().equals(allDto.getId())){ //去除根机构
if(allDto.getpId().equals(dataDto.getId())){ //找到自身子结构
List arrayList = new ArrayList<OrgTree>(); //保存到集合中
arrayList.add(allDto);
chiList.addAll(getdigui(allOrg,arrayList)); //递归 让找到的子结构 继续调用方法
}
}
}
dataDto.setChildren(chiList); 递归出来的数据添加到根结构中 本数据真实有效
}
return dataList;
}