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

📄 getorganizationinfodao.java

📁 公司自己开发的工作流引擎
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  /**
   * 根据组织ID得到组织(下所有人员,包括直接和间接从属的人员)
   * @param orgID String
   * @return Vector
   * @throws Exception
   */
  public java.util.Vector getUsersByOrgDAO(java.lang.String orgID)
      throws java.lang.Exception{
    System.out.println("begin getUsersByOrgDAO...");
    Vector v=new Vector();
    ResultSet rs=null;
    java.sql.PreparedStatement prep=null;
    Connection conn=null;
    String dataBaseType=OrganizationDBControl.dBConnectionManager.getInstance().
        getDataBaseType();
    String sql="";
    if(dataBaseType.equals("ORACLE")){
      sql="select distinct user_id from wf_org_user_role where org_id in(select org_id from "+
          " wf_organization start with org_id = ? connect by prior org_id = up_org)";
    }
    else if(dataBaseType.equals("MSSQLSERVER")){
      sql="select distinct user_id from wf_org_user_role where org_id in(select tree_id as org_id from "+
          " FUNC_GET_ORG_INFO_INCLUDE_SUB(?))";
    }
    try{
      conn=OrganizationDBControl.getConnection();
      prep=conn.prepareStatement(sql);
      prep.setString(1,orgID);
      rs=prep.executeQuery();
      while(rs.next()){
        v.add(rs.getString("user_id"));
      }

    }
    catch(Exception e){
      e.printStackTrace();
      throw new GetOrganizationInfoException(
          "根据组织ID得到组织(下所有人员,包括直接和间接从属的人员)异常。");
    }
    finally{
      OrganizationDBControl.releaseConnection(rs,prep,null,conn);

    }
    return v;

  }

  /**
   * 根据组织ID得到组织(下所有人员,包括直接和间接从属的人员)
   * @param orgID String
   * @return Vector
   * @throws Exception
   */
  public java.util.Vector getUsersByOrgDAO(java.lang.String[] orgIds)
      throws java.lang.Exception{
    System.out.println("begin getUsersByOrgDAO...");
    Vector v=new Vector();
    ResultSet rs=null;
    java.sql.Statement stm=null;
    Connection conn=null;
    String id="";
    for(int i=0;i<orgIds.length;i++){
      //String[] orgId=orgIds[i].split(":");
      String[] orgId=Tools.split(orgIds[i],":");
      id=id+",'"+orgId[0]+"'";
    }
    if(id!=null&&!id.equals("")){
      //去掉“,”
      id=id.substring(1);
      id="in ("+id+")";
    }
    else{
      return null;
    }
    String sql="select distinct user_id from wf_org_user_role where org_id in(select org_id from "+
        " wf_organization start with org_id "+id+
        " connect by prior org_id = up_org)";
    System.out.println(" query sql is:"+sql);
    try{
      conn=OrganizationDBControl.getConnection();
      stm=conn.createStatement();
      rs=stm.executeQuery(sql);
      while(rs.next()){
        v.add(rs.getString("user_id"));
      }
      return v;
    }
    catch(Exception e){
      e.printStackTrace();
      throw new GetOrganizationInfoException(
          "根据组织ID得到组织(下所有人员,包括直接和间接从属的人员)异常。");
    }
    finally{
      OrganizationDBControl.releaseConnection(rs,null,stm,conn);
    }
  }

  /**
   * 根据角色ID得到角色下所有人员(这种角色可以是永久性的,也可以是临时生成的)
   * @param roleID String
   * @return Vector
   * @throws Exception
   */
  public java.util.Vector getUsersByRoleDAO(java.lang.String roleID)
      throws java.lang.Exception{
    System.out.println("begin getUsersByRoleDAO...");
    Vector v=new Vector();
    ResultSet rs=null;
    java.sql.PreparedStatement prep=null;
    Connection conn=null;
    String sql="select distinct user_id from wf_org_user_role where role_id=?";

    try{
      conn=OrganizationDBControl.getConnection();
      prep=conn.prepareStatement(sql);
      prep.setString(1,roleID);
      rs=prep.executeQuery();

      while(rs.next()){
        //v.add(rs.getString("user_id"));
        v.add(rs.getString("user_id"));
      }

    }
    catch(Exception e){
      e.printStackTrace();
      throw new GetRoleInfoException("根据角色ID得角色下所有人员异常。");
    }
    finally{
      OrganizationDBControl.releaseConnection(rs,prep,null,conn);
    }
    return v;

  }

  /**
   * 根据角色ID得到角色下所有人员(这种角色可以是永久性的,也可以是临时生成的)
   * @param roleID String
   * @return Vector
   * @throws Exception
   */
  public java.util.Vector getUsersByRoleDAO(java.lang.String[] formatId,
      String areaId)
      throws java.lang.Exception{
    System.out.println("begin getUsersByRoleDAO...");
    Vector v=new Vector();
    for(int i=0;i<formatId.length;i++){
      // String[] s=formatId[i].split(":");
      String[] s=Tools.split(formatId[i],":");
      Vector vTemp=this.getUsersByRoleDAO(s[0],s[1],areaId);
      if(vTemp!=null&&vTemp.size()>0){
        for(int j=0;j<vTemp.size();j++){
          if(!v.contains(vTemp.get(j))){
            v.add(vTemp.get(j));
          }
        }
      }
    }
    return v;
  }

  /**
   * 根据角色ID、部门、所属行政区取得用户id
   * @param roleID String
   * @return Vector
   * @throws Exception
   */
  private java.util.Vector getUsersByRoleDAO(String roleId,String orgId,
      String areaId)
      throws java.lang.Exception{
    System.out.println("begin getUsersByRoleDAO...");
    Vector v=new Vector();
    ResultSet rs=null;
    java.sql.Statement stm=null;
    Connection conn=null;
    String sql="select distinct user_id from wf_org_user_role where role_id='"+
        roleId+
        "' and org_id In (select org_id from wf_organization Where area_id='"+
        areaId+"' and org_id='"+orgId+"')";
    System.out.println("query sql is:"+sql);
    try{
      conn=OrganizationDBControl.getConnection();
      stm=conn.createStatement();
      rs=stm.executeQuery(sql);
      while(rs.next()){
        v.add(rs.getString("user_id"));
      }
    }
    catch(Exception e){
      e.printStackTrace();
      throw new GetRoleInfoException("根据角色ID、部门、所属行政区取得用户id异常。");
    }
    finally{
      OrganizationDBControl.releaseConnection(rs,null,stm,conn);

    }
    return v;
  }

  /**
   * 登录,得到用户详细信息
   * @param userID String
   * @param pwd String
   * @return UserInfo
   * @throws Exception
   */
  public UserInfo loginDAO(java.lang.String userID,java.lang.String pwd)
      throws java.lang.Exception{
    System.out.println("begin loginDAO...");
    UserInfo userinfo=null;
    try{
      userinfo=getHumanDetailInfoDAO(userID,pwd);
    }
    catch(Exception e){
      e.printStackTrace();
    }
    return userinfo;
  }

  /**
   * 得到某个组织下的直属角色集合(流程设专计转用)
   * @par orgID String
           @return Vector
   * @throws Exception
   */
  public java.util.Vector getDesignRolesByOrgDAO(java.lang.String orgID)
      throws java.lang.Exception{
    System.out.println("begin getRolesByOrgDAO...");
    Vector ve=new Vector();
    ResultSet rs=null;
    java.sql.Statement stm=null;

    Connection conn=null;

    String sql="";
    if(orgID!=null&&orgID.equals("-100")){
      sql="select * from wf_role where role_type=2 ";
    }
    else{
      sql="select * from wf_role where role_id in(select distinct role_id from"+
          "  wf_org_user_role where role_type=2 and 1=2 and org_id='"+orgID+
          "')";
    }
    try{
      conn=OrganizationDBControl.getConnection();
      stm=conn.createStatement();
      rs=stm.executeQuery(sql);
      while(rs.next()){
        ParticipantRole participantRole=new ParticipantRole(rs.getString(
            "role_id"),rs.getString("role_name"),rs.getString("role_name"));
        ve.add(participantRole);
      }

    }
    catch(SQLException e){
      e.printStackTrace();
      throw new GetRoleInfoException("得到某个组织下的直属角色集合异常。");
    }
    finally{
      OrganizationDBControl.releaseConnection(rs,null,stm,conn);

    }

    return ve;
  }

  /**
   * 得到某个组织下的直属人员集合
   * @param orgID String
   * @return Vector
   * @throws Exception
   */
  public java.util.Vector getDesignSubUsersByOrgDAO(java.lang.String orgID)
      throws java.lang.Exception{
    System.out.println("begin getSubUsersByOrgDAO...");
    Vector v=new Vector();
    ResultSet rs=null;
    java.sql.PreparedStatement prep=null;
    Connection conn=null;
    String sql="select * from wf_user  where user_id in(select user_id from"+
        " wf_org_user_role where org_id=?)";

    try{
      conn=OrganizationDBControl.getConnection();
      prep=conn.prepareStatement(sql);
      prep.setString(1,orgID);
      rs=prep.executeQuery();
      while(rs.next()){
        ParticipantHuman participantHuman=new ParticipantHuman(rs.getString(
            "user_id"),rs.getString("user_name"),rs.getString("User_position"),
            rs.getString("rela_phone"),"");
        v.add(participantHuman);
      }

    }
    catch(Exception e){
      e.printStackTrace();
      throw new GetUserInfoException("-得到某个组织下的直属人员集合异常。");
    }
    finally{
      OrganizationDBControl.releaseConnection(rs,prep,null,conn);

    }

    return v;
  }

  /**
   * 根据角色ID得到角色下所有人员(这种角色可以是永久性的,也可以是临时生成的)
   * @param roleID String
   * @return Vector
   * @throws Exception
   */
  public java.util.Vector getDesignUsersByRoleDAO(java.lang.String roleID)
      throws java.lang.Exception{
    System.out.println("begin getUsersByRoleDAO...");
    Vector v=new Vector();
    ResultSet rs=null;
    java.sql.PreparedStatement prep=null;
    Connection conn=null;
    String sql=
        "select distinct user_id from wf_org_user_role where role_id=? and 1=2";

    try{
      conn=OrganizationDBControl.getConnection();
      prep=conn.prepareStatement(sql);
      prep.setString(1,roleID);
      rs=prep.executeQuery();

      while(rs.next()){
        //v.add(rs.getString("user_id"));
        v.add(rs.getString("user_id"));
      }

    }
    catch(Exception e){
      e.printStackTrace();
      throw new GetRoleInfoException("根据角色ID得角色下所有人员异常。");
    }
    finally{
      OrganizationDBControl.releaseConnection(rs,prep,null,conn);
    }
    return v;

  }

  public static void main(String[] args)
      throws GetUserInfoException,Exception{
    GetOrganizationInfoDAO dao=new GetOrganizationInfoDAO();
    //dao.getUsersByRoleDAO("2000004","100001","001");
    String[] s=new String[1];
    s[0]="2000004:100001";
    //dao.getUsersByRoleDAO(s,"001");
    dao.getUsersByRoleDAO("2000004");
  }

}

⌨️ 快捷键说明

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