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

📄 wfmanageroleauthorizationdao.java

📁 公司自己开发的工作流引擎
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    while(rs.next()){
      WfManageRoleAuthorization authorization=new WfManageRoleAuthorization();
      if(authorizationType.equals("role")){
        authorization.setManageRoleId(rs.getString("ROLE_ID"));
        authorization.setManagedId(rs.getString("MANAGED_ROLE_ID"));
      }
      else if(authorizationType.equals("org")){
        authorization.setManageRoleId(rs.getString("ROLE_ID"));
        authorization.setManagedId(rs.getString("ORG_ID"));
      }
      else if(authorizationType.equals("user")){
        authorization.setManageRoleId(rs.getString("ROLE_ID"));
        authorization.setManagedId(rs.getString("USER_ID"));
      }
      list.add(authorization);
    }
    return list;
  }

public void moveOrgFromRole(String orgId,String roleId)
    throws Exception{
  logger.info("begin moveOrgFromRole...");
  Connection conn=null;
  Statement stm=null;
  try{
    conn=WorkflowDBConnectionManager.getInstance().getConnection();
    stm=conn.createStatement();
    String sql=" delete from WF_MANAGED_OPERATION_AUTH where role_managed_id in (select role_org_id from WF_ROLE_MANAGE_ORG where role_id='"+roleId+"' and org_id='"+orgId+"')";
    logger.info("......moveOrgFromRole sql:"+sql);
    stm.execute(sql);
    sql=" delete from WF_ROLE_MANAGE_ORG where ORG_ID ='"+orgId+
        "' and ROLE_ID='"+roleId+"' ";
    logger.info("......moveOrgFromRole sql:"+sql);
    stm.execute(sql);

  }
  finally{
    WorkflowDBConnectionManager.getInstance().close(stm,false);
    WorkflowDBConnectionManager.getInstance().close(conn);
  }
}

public String deleteOrgAllOperationAuthorization(String orgId,String roleId)
    throws Exception{
  logger.info("begin deleteOrgAllOperationAuthorization...");
  Connection conn=null;
  Statement stm=null;
  String role_managed_id =null;
  String sql =null;
  try{
    conn=WorkflowDBConnectionManager.getInstance().getConnection();
    stm=conn.createStatement();
    sql="select role_org_id from WF_ROLE_MANAGE_ORG where role_id='"+roleId+"' and org_id='"+orgId+"'";
    logger.info("......deleteOrgAllOperationAuthorization sql:"+sql);
    ResultSet rs=stm.executeQuery(sql);
    if (rs.next()){
      role_managed_id = rs.getString("role_org_id");
    }
    sql=" delete from WF_MANAGED_OPERATION_AUTH where role_managed_id in (select role_org_id from WF_ROLE_MANAGE_ORG where role_id='"+roleId+"' and org_id='"+orgId+"')";
    logger.info("......deleteOrgAllOperationAuthorization sql:"+sql);
    stm.execute(sql);
  }
  finally{
    WorkflowDBConnectionManager.getInstance().close(stm,false);
    WorkflowDBConnectionManager.getInstance().close(conn);
  }
  return role_managed_id;
}

public String deleteUserAllOperationAuthorization(String userId,String roleId)
    throws Exception{
  logger.info("begin deleteUserAllOperationAuthorization...");
  Connection conn=null;
  Statement stm=null;
  String role_managed_id =null;
  String sql =null;
  try{
    conn=WorkflowDBConnectionManager.getInstance().getConnection();
    stm=conn.createStatement();
    sql="select ROLE_USER_ID from WF_ROLE_MANAGE_USER where role_id='"+roleId+"' and USER_ID='"+userId+"'";
    logger.info("......deleteUserAllOperationAuthorization sql:"+sql);
    ResultSet rs=stm.executeQuery(sql);
    if (rs.next()){
      role_managed_id = rs.getString("ROLE_USER_ID");
    }
    sql=" delete from WF_MANAGED_OPERATION_AUTH where role_managed_id in (select ROLE_USER_ID from WF_ROLE_MANAGE_USER where role_id='"+roleId+"' and USER_ID='"+userId+"')";
    logger.info("......deleteUserAllOperationAuthorization sql:"+sql);
    stm.execute(sql);
  }
  finally{
    WorkflowDBConnectionManager.getInstance().close(stm,false);
    WorkflowDBConnectionManager.getInstance().close(conn);
  }
  return role_managed_id;
}

/**
 * 移出角色操作权限
 *
 * @param managingRoleId String
 * @param roleId String
 * @throws Exception
 */
public void removeRoleGrantedOpr(String managingRoleId,String roleId)throws Exception{
  logger.info("begin removeRoleGrantedOpr...");
  Connection conn=null;
  Statement stm=null;
  try{
    conn=WorkflowDBConnectionManager.getInstance().getConnection();
    stm=conn.createStatement();
    String sql=" delete from WF_MANAGED_OPERATION_AUTH where role_managed_id in (select ROLE_MANAGEDROLE_ID from WF_ROLE_MANAGE_role where ROLE_ID='"+managingRoleId+"' and MANAGED_ROLE_ID='"+roleId+"')";
    logger.info("......removeRoleGrantedOpr sql:"+sql);
    stm.execute(sql);
  }
  finally{
    WorkflowDBConnectionManager.getInstance().close(stm,false);
    WorkflowDBConnectionManager.getInstance().close(conn);
  }
}

public void moveUserFromRole(String userId,String roleId)
    throws Exception{
  logger.info("begin moveUserFromRole...");
  Connection conn=null;
  Statement stm=null;
  try{
    conn=WorkflowDBConnectionManager.getInstance().getConnection();
    stm=conn.createStatement();
    String sql=" delete from WF_MANAGED_OPERATION_AUTH where role_managed_id in (select ROLE_USER_ID from WF_ROLE_MANAGE_USER where ROLE_ID='"+roleId+"' and USER_ID='"+userId+"')";
    logger.info("......moveOrgFromRole sql:"+sql);
    stm.execute(sql);
    sql=" delete from WF_ROLE_MANAGE_USER where USER_ID ='"+userId+
        "' and ROLE_ID='"+roleId+"' ";
    logger.info("......moveUserFromRole sql:"+sql);
    stm.execute(sql);
  }
  finally{
    WorkflowDBConnectionManager.getInstance().close(stm,false);
    WorkflowDBConnectionManager.getInstance().close(conn);
  }
}

/**
 *获取指定管理角色对指定可管理组织部门的操作权限集合
* @param String orgId,String userId
* @throws SQLException
* @return Hashtable
*/
public Hashtable getManagedRoleOrgOperationAuthorization(String manageRoleId, String orgId)
   throws SQLException{
 Connection conn=null;
 Statement stm=null;
 ResultSet rs=null;
 Hashtable managedRoleOrgOperationAuthorizationHashtable = new Hashtable();
 try{
   conn=WorkflowDBConnectionManager.getInstance().getConnection();
   stm=conn.createStatement();
   String sql=" select * from WF_MANAGED_OPERATION "+
              " WHERE OPERATION_ID IN (select WF_MANAGED_OPERATION_AUTH.OPERATION_ID from WF_ROLE_MANAGE_ORG INNER JOIN WF_MANAGED_OPERATION_AUTH "+
              " on WF_ROLE_MANAGE_ORG.ROLE_ORG_ID = WF_MANAGED_OPERATION_AUTH.ROLE_MANAGED_ID "+
              " where role_id='"+manageRoleId+"' and org_id='"+orgId+"' AND WF_MANAGED_OPERATION_AUTH.OPERATION_VALUE='1')";
   logger.info("......query sql:"+sql);
   rs=stm.executeQuery(sql);
   while(rs.next()){
      managedRoleOrgOperationAuthorizationHashtable.put(rs.getString("OPERATION_NAME"),rs.getString("OPERATION_ID"));
   }
   return managedRoleOrgOperationAuthorizationHashtable;
 }
 finally{
   WorkflowDBConnectionManager.getInstance().close(rs);
   WorkflowDBConnectionManager.getInstance().close(stm,false);
   WorkflowDBConnectionManager.getInstance().close(conn);
 }
}
  /**
 *获取指定管理角色对指定可管理用户的操作权限集合
* @param String orgId,String userId
* @throws SQLException
* @return Hashtable
*/
public Hashtable getManagedRoleUserOperationAuthorization(String manageRoleId, String userId)
   throws SQLException{
 Connection conn=null;
 Statement stm=null;
 ResultSet rs=null;
 Hashtable managedRoleUserOperationAuthorizationHashtable = new Hashtable();
 try{
   conn=WorkflowDBConnectionManager.getInstance().getConnection();
   stm=conn.createStatement();
   String sql=" select * from WF_MANAGED_OPERATION "+
              " WHERE OPERATION_ID IN (select WF_MANAGED_OPERATION_AUTH.OPERATION_ID from WF_ROLE_MANAGE_USER INNER JOIN WF_MANAGED_OPERATION_AUTH "+
              " on WF_ROLE_MANAGE_USER.ROLE_USER_ID = WF_MANAGED_OPERATION_AUTH.ROLE_MANAGED_ID "+
              " where ROLE_ID='"+manageRoleId+"' and USER_ID='"+userId+"' AND WF_MANAGED_OPERATION_AUTH.OPERATION_VALUE='1')";
   logger.info("......query sql:"+sql);
   rs=stm.executeQuery(sql);
   while(rs.next()){
      managedRoleUserOperationAuthorizationHashtable.put(rs.getString("OPERATION_NAME"),rs.getString("OPERATION_ID"));
   }
   return managedRoleUserOperationAuthorizationHashtable;
 }
 finally{
   WorkflowDBConnectionManager.getInstance().close(rs);
   WorkflowDBConnectionManager.getInstance().close(stm,false);
   WorkflowDBConnectionManager.getInstance().close(conn);
 }
}



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -