📄 getorganizationinfodao.java
字号:
/**
* 根据组织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 + -