⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysmanageservice.java

📁 公司自己开发的工作流引擎
💻 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 + -