📄 sysmanageservice.java
字号:
package cn.com.iaspec.workflow.sysmanage.business;
import cn.com.iaspec.workflow.sysmanage.tree.OrgUserTree;
import java.util.List;
import cn.com.iaspec.workflow.organize.dao.WfOrganizationDAO;
import java.sql.SQLException;
import cn.com.iaspec.workflow.organize.dao.WfUserDAO;
import java.util.ArrayList;
import cn.com.iaspec.workflow.vo.db.WfOrganization;
import cn.com.iaspec.workflow.vo.db.WfUser;
import cn.com.iaspec.workflow.util.GetTableSequenceId;
import cn.com.iaspec.workflow.vo.db.WfRole;
import cn.com.iaspec.workflow.organize.dao.WfRoleDAO;
import cn.com.iaspec.workflow.vo.db.WfOrgUserRole;
import cn.com.iaspec.workflow.organize.dao.WfOrgUserRoleDAO;
import cn.com.iaspec.workflow.sysmanage.dao.WfManageRoleAuthorizationDAO;
import cn.com.iaspec.workflow.vo.db.WfManageRoleAuthorization;
import cn.com.iaspec.workflow.sysmanage.dao.ManagingRoleDAO;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: IASPEC Technologies</p>
*
* @author xiesonglin
* @version 1.0
*/
public class SysManageService{
public SysManageService(){
}
/**
* 取得组织用户信息树
* @param upOrgId 父节点id
* @param areaId 所属行政区
* @return List
*/
public List getOrgUserTree(String upOrgId,String areaId)
throws Exception{
List list=new ArrayList();
WfOrganizationDAO orgDAO=new WfOrganizationDAO();
List orgList=orgDAO.query(upOrgId,areaId,true,true);
//将WfOrganization转化为OrgUserTree
if (orgList !=null && orgList.size()>0){
for (int i=0;i<orgList.size();i++){
WfOrganization org = (WfOrganization)orgList.get(i);
OrgUserTree tree=orgToOrgUserTree(org);
if (tree!=null)
list.add(tree);
}
}
WfUserDAO userDAO=new WfUserDAO();
List userList=userDAO.query(upOrgId);
//将WfUser转化为OrgUserTree
if (userList !=null && userList.size()>0){
for (int i=0;i<userList.size();i++){
WfUser user = (WfUser)userList.get(i);
OrgUserTree tree=userToOrgUserTree(user,upOrgId);
if (tree!=null)
list.add(tree);
}
}
return list;
}
private OrgUserTree orgToOrgUserTree(WfOrganization org){
OrgUserTree tree = null;
if (org!=null){
tree=new OrgUserTree();
tree.setId(org.getOrgId());
tree.setName(org.getOrgName());
tree.setParentId(org.getUpOrg());
tree.setType("org");
if (org.isHasUser() || org.isHasChildren()){
tree.setHasChildren(true);
}
}
return tree;
}
private OrgUserTree userToOrgUserTree(WfUser user,String orgId){
OrgUserTree tree = null;
if (user!=null){
tree=new OrgUserTree();
tree.setId(user.getUserId());
tree.setName(user.getUserName());
tree.setParentId(orgId);
tree.setType("user");
tree.setHasChildren(false);
}
return tree;
}
/**
* 保存组织信息
* @param org WfOrganization
* @throws Exception
*/
public void saveRole(WfRole role)
throws Exception{
if(role!=null){
WfRoleDAO dao=new WfRoleDAO();
//增加
if(role.getRoleId()==null||role.getRoleId().equals("")){
//取得orgId
String roleId=GetTableSequenceId.getTableId("wf_role");
role.setRoleId(roleId);
role.setRoleState("1");
//新增记录
dao.insert(role);
}
else{ //修改
//更新
dao.update(role,role.getRoleId());
}
}
}
/**
* 将人员加入角色
* @param userList List 人员列表
* @param roleId String 角色id
* @throws Exception
*/
public void addUserToRole(List userList,String roleId)
throws Exception{
if(userList!=null&&userList.size()>0&&roleId!=null&&!roleId.equals("")){
List relList=new ArrayList();
for(int i=0;i<userList.size();i++){
WfUser user=(WfUser)userList.get(i);
WfOrgUserRole rel=new WfOrgUserRole();
rel.setOrgId("0");
rel.setUserId(user.getUserId());
rel.setRoleId(roleId);
relList.add(rel);
}
if(relList.size()>0){
WfOrgUserRoleDAO dao=new WfOrgUserRoleDAO();
dao.insert(relList);
}
}
}
/**
* 将用户从当前角色中移出,只是将用户与角色的关联删除
* @param user WfUser
*/
public void deleteUserFromRole(String userId,String roleId)
throws Exception{
if(userId!=null&&!userId.equals("")&&roleId!=null&&!roleId.equals("")){
//将用户与部门的关联删除
WfOrgUserRoleDAO relDAO=new WfOrgUserRoleDAO();
relDAO.deleteUserFromRole(userId,roleId);
}
}
/**
* 将部门从当前管理角色中移出
* @param user WfUser
*/
public void moveOrgFromRole(String orgId,String roleId)
throws Exception{
if(orgId!=null&&!orgId.equals("")&&roleId!=null&&!roleId.equals("")){
WfManageRoleAuthorizationDAO dao=new WfManageRoleAuthorizationDAO();
dao.moveOrgFromRole(orgId,roleId);
//获取部门的所有的下级部门
WfOrganizationDAO orgDao=new WfOrganizationDAO();
List userAllChildOrgList=orgDao.getAllChildOrgInfoByOrgId(orgId);
for(int i=0;i<userAllChildOrgList.size();i++){
WfOrganization org=(WfOrganization)userAllChildOrgList.get(i);
dao.moveOrgFromRole(org.getOrgId(),roleId);
//获取部门下的所有的用户人员
WfUserDAO userDao=new WfUserDAO();
List userList=userDao.query(org.getOrgId());
for(int j=0;j<userList.size();j++){
WfUser user=(WfUser)userList.get(j);
moveUserFromRole(user.getUserId(),roleId);
}
}
}
}
/**
* 将部门从当前管理角色中移出
* @param user WfUser
*/
public void moveUserFromRole(String userId,String roleId)
throws Exception{
if(userId!=null&&!userId.equals("")&&roleId!=null&&!roleId.equals("")){
WfManageRoleAuthorizationDAO dao=new WfManageRoleAuthorizationDAO();
dao.moveUserFromRole(userId,roleId);
}
}
/**
* 保存该管理角色对当前部门的操作授权的修改
* @param user WfUser
*/
public void updateOrgOperation(String orgId,String roleId,
String selectOrgOperations)
throws Exception{
String role_managed_id=null;
if(orgId!=null&&!orgId.equals("")&&roleId!=null&&!roleId.equals("")){
WfManageRoleAuthorizationDAO dao=new WfManageRoleAuthorizationDAO();
role_managed_id=dao.deleteOrgAllOperationAuthorization(orgId,roleId);
String[] orgOperationIds=selectOrgOperations.split(";");
if(orgOperationIds!=null&&orgOperationIds.length>0){
for(int j=0;j<orgOperationIds.length;j++){
String orgOperationId=orgOperationIds[j];
if (!orgOperationId.equals(""))dao.insertOperationAuthorization(role_managed_id,orgOperationId);
}
}
}
}
/**
* 保存该管理角色对当前用户的操作授权的修改
* @param user WfUser
*/
public void updateUserOperation(String userId,String roleId,
String selectUserOperations)
throws Exception{
String role_managed_id=null;
if(userId!=null&&!userId.equals("")&&roleId!=null&&!roleId.equals("")){
WfManageRoleAuthorizationDAO dao=new WfManageRoleAuthorizationDAO();
role_managed_id=dao.deleteUserAllOperationAuthorization(userId,roleId);
String[] userOperationIds=selectUserOperations.split(";");
if(userOperationIds!=null&&userOperationIds.length>0){
for(int j=0;j<userOperationIds.length;j++){
String userOperationId=userOperationIds[j];
if(!userOperationId.equals(""))
dao.insertOperationAuthorization(role_managed_id,userOperationId);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -