📄 selectactorservice.java
字号:
}
/**
* 根据用户列表生成用户树
* @param userList List
* @return List
*/
private List generateUserTree(List userList){
List treeList=new ArrayList();
if(userList!=null){
for(int i=0;i<userList.size();i++){
WfUser user=(WfUser)userList.get(i);
SelectActorTree actorTree=new SelectActorTree();
actorTree.setTreeId(user.getUserId());
actorTree.setTreeName(user.getUserName());
actorTree.setTreeType("user");
actorTree.setOrder(user.getUserOrder());
actorTree.setParentId("0");
actorTree.setParentName("");
actorTree.setParentType("user");
actorTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,actorTree)){
treeList.add(actorTree);
}
}
}
return treeList;
}
/**
* 根据用户列表、角色列表生成角色用户树
* @param userList List
* @return List
*/
private List generateRoleUserTree(List roleList,List userList){
List treeList=new ArrayList();
if(roleList!=null&&roleList.size()>1){
for(int i=0;i<roleList.size();i++){
WfRole role=(WfRole)roleList.get(i);
SelectActorTree actorTree=new SelectActorTree();
actorTree.setTreeId(role.getRoleId());
actorTree.setTreeName(role.getRoleName());
actorTree.setTreeType("role");
actorTree.setOrder(role.getRoleOrder());
actorTree.setParentId("0");
actorTree.setParentName("");
actorTree.setParentType("role");
int childTag=0;
if(userList!=null&&userList.size()>0){
for(int j=0;j<userList.size();j++){
WfUser user=(WfUser)userList.get(j);
if(user.getRoleId()!=null&&user.getRoleId().equals(role.getRoleId())){
childTag=1;
SelectActorTree tempTree=new SelectActorTree();
tempTree.setTreeId(user.getUserId());
tempTree.setTreeName(user.getUserName());
tempTree.setTreeType("user");
tempTree.setOrder(user.getUserOrder());
tempTree.setParentId(role.getRoleId());
tempTree.setParentName(role.getRoleName());
tempTree.setParentType("role");
tempTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,tempTree)){
treeList.add(tempTree);
}
}
}
}
if(childTag==1){
actorTree.setHasChild(true);
}
else{
actorTree.setHasChild(false);
}
if(!checkIfExistsInActorList(treeList,actorTree)){
treeList.add(actorTree);
}
}
}
else{
//如果没有角色或者只有一个角色,则生成用户树
treeList=generateUserTree(userList);
}
return treeList;
}
/**
* 根据用户列表、部门列表生成部门用户树
* @param userList List
* @return List
*/
private List generateOrgUserTree(List orgList,List userList){
List treeList=new ArrayList();
if(orgList!=null&&orgList.size()>1){
for(int i=0;i<orgList.size();i++){
WfOrganization org=(WfOrganization)orgList.get(i);
SelectActorTree actorTree=new SelectActorTree();
actorTree.setTreeId(org.getOrgId());
actorTree.setTreeName(org.getOrgName());
actorTree.setTreeType("org");
actorTree.setOrder(org.getOrgOrder());
actorTree.setParentId(org.getUpOrg());
actorTree.setParentName(org.getUpOrgName());
actorTree.setParentType("org");
actorTree.setHasChild(false);
if(userList!=null&&userList.size()>0){
for(int j=0;j<userList.size();j++){
WfUser user=(WfUser)userList.get(j);
if(user.getOrgId()!=null&&user.getOrgId().equals(org.getOrgId())){
SelectActorTree tempTree=new SelectActorTree();
tempTree.setTreeId(user.getUserId());
tempTree.setTreeName(user.getUserName());
tempTree.setTreeType("user");
tempTree.setOrder(user.getUserOrder());
tempTree.setParentId(org.getOrgId());
tempTree.setParentName(org.getOrgName());
tempTree.setParentType("org");
tempTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,tempTree)){
treeList.add(tempTree);
}
}
}
}
if(!checkIfExistsInActorList(treeList,actorTree)){
treeList.add(actorTree);
}
}
}
else{
//如果没有部门或者只有一个部门,则生成用户树
treeList=generateUserTree(userList);
}
//设置部门类型节点下是否有子节点
setOrgNodeHasChildInfo(treeList);
return treeList;
}
/**
* 根据角色列表生成角色树
* @param roleList List
* @return List
*/
private List generateRoleTree(List roleList){
List treeList=new ArrayList();
if(roleList!=null){
for(int i=0;i<roleList.size();i++){
WfRole role=(WfRole)roleList.get(i);
SelectActorTree actorTree=new SelectActorTree();
actorTree.setTreeId(role.getRoleId());
actorTree.setTreeName(role.getRoleName());
actorTree.setTreeType("role");
actorTree.setOrder(role.getRoleOrder());
actorTree.setParentId("0");
actorTree.setParentName("");
actorTree.setParentType("role");
actorTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,actorTree)){
treeList.add(actorTree);
}
}
}
return treeList;
}
/**
* 根据部门列表、角色列表生成部门角色树
* @param orgList List
* @param roleList List
* @return List
*/
private List generateOrgRoleTree(List orgList,List roleList){
List treeList=new ArrayList();
if(orgList!=null&&orgList.size()>0&&roleList!=null&&roleList.size()>0){
//如果只有一个部门,则不显示部门
if(orgList.size()==1){
WfOrganization org=(WfOrganization)orgList.get(0);
if(roleList!=null&&roleList.size()>0){
for(int j=0;j<roleList.size();j++){
WfRole role=(WfRole)roleList.get(j);
SelectActorTree tempTree=new SelectActorTree();
tempTree.setTreeId(role.getRoleId());
tempTree.setTreeName(role.getRoleName()+"("+org.getOrgName()+")");
tempTree.setTreeType("role");
tempTree.setOrder(role.getRoleOrder());
tempTree.setParentId(org.getOrgId());
tempTree.setParentName(org.getOrgName());
tempTree.setParentType("org");
tempTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,tempTree)){
treeList.add(tempTree);
}
}
}
}
else{
for(int i=0;i<orgList.size();i++){
WfOrganization org=(WfOrganization)orgList.get(i);
SelectActorTree actorTree=new SelectActorTree();
actorTree.setTreeId(org.getOrgId());
actorTree.setTreeName(org.getOrgName());
actorTree.setTreeType("org");
actorTree.setOrder(org.getOrgOrder());
actorTree.setParentId("0");
actorTree.setParentName("");
actorTree.setParentType("org");
actorTree.setHasChild(false);
if(roleList!=null&&roleList.size()>0){
for(int j=0;j<roleList.size();j++){
WfRole role=(WfRole)roleList.get(j);
SelectActorTree tempTree=new SelectActorTree();
tempTree.setTreeId(role.getRoleId());
tempTree.setTreeName(role.getRoleName()+"("+org.getOrgName()+")");
tempTree.setTreeType("role");
tempTree.setOrder(role.getRoleOrder());
tempTree.setParentId(org.getOrgId());
tempTree.setParentName(org.getOrgName());
tempTree.setParentType("org");
tempTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,tempTree)){
treeList.add(tempTree);
}
}
}
if(!checkIfExistsInActorList(treeList,actorTree)){
treeList.add(actorTree);
}
}
}
}
//设置部门类型节点下是否有子节点
setOrgNodeHasChildInfo(treeList);
return treeList;
}
/**
* 根据部门列表生成部门树
* @param roleList List
* @return List
*/
private List generateOrgTree(List orgList){
List treeList=new ArrayList();
if(orgList!=null){
for(int i=0;i<orgList.size();i++){
WfOrganization org=(WfOrganization)orgList.get(i);
SelectActorTree actorTree=new SelectActorTree();
actorTree.setTreeId(org.getOrgId());
actorTree.setTreeName(org.getOrgName());
actorTree.setTreeType("org");
actorTree.setOrder(org.getOrgOrder());
actorTree.setParentId("0");
actorTree.setParentName("");
actorTree.setParentType("org");
actorTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,actorTree)){
treeList.add(actorTree);
}
}
//设置部门类型节点下是否有子节点
setOrgNodeHasChildInfo(treeList);
}
return treeList;
}
/**
* 根据角色列表、部门列表生成角色部门树
* @param roleList List
* @param orgList List
* @return List
*/
private List generateRoleOrgTree(List roleList,List orgList){
List treeList=new ArrayList();
if(roleList!=null&&roleList.size()>0&&orgList!=null&&orgList.size()>0){
//如果只有一个角色,则不显示角色
if(roleList.size()==1){
WfRole role=(WfRole)roleList.get(0);
if(orgList!=null&&orgList.size()>0){
for(int j=0;j<orgList.size();j++){
WfOrganization org=(WfOrganization)orgList.get(j);
SelectActorTree tempTree=new SelectActorTree();
tempTree.setTreeId(org.getOrgId());
tempTree.setTreeName(org.getOrgName()+"("+role.getRoleName()+")");
tempTree.setTreeType("org");
tempTree.setOrder(org.getOrgOrder());
tempTree.setParentId(role.getRoleId());
tempTree.setParentName(role.getRoleName());
tempTree.setParentType("role");
tempTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,tempTree)){
treeList.add(tempTree);
}
}
}
}
else{
for(int i=0;i<roleList.size();i++){
WfRole role=(WfRole)roleList.get(i);
SelectActorTree actorTree=new SelectActorTree();
actorTree.setTreeId(role.getRoleId());
actorTree.setTreeName(role.getRoleName());
actorTree.setTreeType("role");
actorTree.setOrder(role.getRoleOrder());
actorTree.setParentId("0");
actorTree.setParentName("");
actorTree.setParentType("role");
if(orgList!=null&&orgList.size()>0){
actorTree.setHasChild(true);
}
else{
actorTree.setHasChild(false);
}
if(orgList!=null&&orgList.size()>0){
for(int j=0;j<orgList.size();j++){
WfOrganization org=(WfOrganization)orgList.get(j);
SelectActorTree tempTree=new SelectActorTree();
tempTree.setTreeId(org.getOrgId());
tempTree.setTreeName(org.getOrgName()+"("+role.getRoleName()+")");
tempTree.setTreeType("org");
tempTree.setOrder(org.getOrgOrder());
tempTree.setParentId(role.getRoleId());
tempTree.setParentName(role.getRoleName());
tempTree.setParentType("role");
tempTree.setHasChild(false);
if(!checkIfExistsInActorList(treeList,tempTree)){
treeList.add(tempTree);
}
}
}
if(!checkIfExistsInActorList(treeList,actorTree)){
treeList.add(actorTree);
}
}
}
}
return treeList;
}
/**
* 检查部门节点下是否有子节点
* @param treeList List
* @param orgId 部门id
* @return boolean
*/
private boolean checkOrgNodeExistChildNode(List treeList,String orgId){
boolean bResult=false;
if(treeList!=null&&treeList.size()>0&&orgId!=null){
Iterator it=treeList.iterator();
while(it.hasNext()){
SelectActorTree tree=(SelectActorTree)it.next();
if(tree.getParentType()!=null&&tree.getParentType().equals("org")&&
tree.getParentId().equals(orgId)){
bResult=true;
break;
}
}
}
return bResult;
}
/**
* 设置部门类型节点下是否有子节点
* @param treeList List
* @param orgId 部门id
* @return boolean
*/
private void setOrgNodeHasChildInfo(List treeList){
if(treeList!=null){
for(int i=0;i<treeList.size();i++){
SelectActorTree tree=(SelectActorTree)treeList.get(i);
//检查部门节点下是否有子节点
if(tree.getTreeType().equals("org")&&
checkOrgNodeExistChildNode(treeList,tree.getTreeId())){
//设置存在子节点
tree.setHasChild(true);
treeList.set(i,tree);
}
}
}
}
/**
* 检查对象tree是否在treeList中
* @param treeList List
* @param tree SelectActorTree
* @return boolean
*/
private boolean checkIfExistsInActorList(List treeList,SelectActorTree tree){
boolean b=false;
if(treeList!=null&&tree!=null){
for(int i=0;i<treeList.size();i++){
SelectActorTree tempTree=(SelectActorTree)treeList.get(i);
if(tree.equals(tempTree)){
return true;
}
}
}
return b;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -