📄 selectactordao.java
字号:
return list;
}
finally{
WorkflowDBConnectionManager.getInstance().close(stm,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
private List resultsetToUser(ResultSet rs)
throws SQLException{
List list=new ArrayList();
while(rs.next()){
WfUser user=new WfUser();
user.setDescription(rs.getString("description"));
user.setEmail(rs.getString("e_mail"));
user.setLoginId(rs.getString("login_id"));
user.setPassword(rs.getString("password"));
user.setRelaPhone(rs.getString("rela_phone"));
user.setUserCode(rs.getString("user_code"));
user.setUserId(rs.getString("user_id"));
user.setUserName(rs.getString("user_name"));
user.setUserOrder(rs.getLong("user_order"));
user.setUserPosition(rs.getString("user_position"));
user.setUserState(rs.getString("user_state"));
user.setOrgId(rs.getString("org_id"));
user.setOrgName(rs.getString("org_name"));
user.setRoleId(rs.getString("role_id"));
user.setRoleName(rs.getString("role_name"));
list.add(user);
}
return list;
}
/**
* 根据活动id取得选择参与者参数
* @param activityId long
* @return SelectActorParam
* @throws Exception
*/
public SelectActorParam getSelectActorParam(long activityId)
throws Exception{
SelectActorParam actorParam=new SelectActorParam();
actorParam.setActivityId(activityId);
Connection conn=null;
Statement stm=null;
ResultSet rs=null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
stm=conn.createStatement();
String sql=" select distinct a.atr_variablename,atr_stringvalue,b.atd_id,b.atd_name,b.atd_uid "+
" from ActiReleData a inner join ActiDefinition b on a.atr_atdid=b.atd_id "+
" where atr_atdid="+activityId;
logger.info("......query sql:"+sql);
rs=stm.executeQuery(sql);
while(rs.next()){
//设置活动名称
if(actorParam.getActivityName()!=null){
actorParam.setActivityName(rs.getString("atd_name"));
actorParam.setActivityType(rs.getString("atd_id"));
actorParam.setActUID(rs.getString("atd_uid"));
}
//取得部门关系
String varName=rs.getString("atr_variablename");
if(varName!=null&&varName.toUpperCase().equals("orgRel".toUpperCase())){
actorParam.setOrgRel(rs.getString("atr_stringvalue"));
}
//取得选择参与者参数
if(varName!=null&&
varName.toUpperCase().equals("actorSelMode".toUpperCase())){
String sTemp=rs.getString("atr_stringvalue");
//参与者字符串格式为:“选择方式;参与者类型1,参与者类型2;显示方式”,例如"user;fixed-use,all-fixed-role-user;user"
if(sTemp!=null&&!sTemp.equals("")){
String[] tempArr=sTemp.split(";");
if(tempArr!=null&tempArr.length>=3){
actorParam.setSelectType(tempArr[0]);
actorParam.setActorType(tempArr[1]);
actorParam.setDispalyType(tempArr[2]);
}
else{
actorParam.setSelectType("auto");
actorParam.setActorType("auto");
actorParam.setDispalyType("auto");
}
}
else{
actorParam.setSelectType("auto");
actorParam.setActorType("auto");
actorParam.setDispalyType("auto");
}
}
}
}
finally{
WorkflowDBConnectionManager.getInstance().close(rs);
WorkflowDBConnectionManager.getInstance().close(stm,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
return actorParam;
}
/**
* 取得指定行政区内所有的部门信息
* @param areaId 所属行政区,若为-1,则取得所有行政区内的部门信息
* @return List
*/
public List getAllOrgInfo(String areaId)
throws Exception{
List list=null;
String whereSQL=" where org_state='1' ";
if(areaId!=null&&!areaId.equals("-1")){
whereSQL=whereSQL+" and area_id='"+areaId+"' ";
}
WfOrganizationDAO dao=new WfOrganizationDAO();
list=dao.query(whereSQL);
return list;
}
/**
* 取得指定行政区内指定用户的当前部门信息
* @param areaId 所属行政区,若为-1,则取得所有行政区内的部门信息
* @return List
*/
public List getCurrOrgInfo(String userId,String areaId)
throws Exception{
List list=null;
String whereSQL=" where org_state='1' and org_id in "+
" (SELECT DISTINCT A.ORG_ID FROM WF_ORGANIZATION A "+
" INNER JOIN WF_ORG_USER_ROLE B ON A.ORG_ID=B.ORG_ID "+
" WHERE B.USER_ID='"+userId+"') ";
if(areaId!=null&&!areaId.equals("-1")){
whereSQL=whereSQL+" and area_id='"+areaId+"' ";
}
WfOrganizationDAO dao=new WfOrganizationDAO();
list=dao.query(whereSQL);
return list;
}
/**
* 取得指定行政区内指定用户的平级部门信息
* @param areaId 所属行政区,若为-1,则取得所有行政区内的部门信息
* @return List
*/
public List getParallelOrgInfo(String userId,String areaId)
throws Exception{
List list=null;
String whereSQL=" where org_state='1' and org_id in "+
" (SELECT DISTINCT C.ORG_ID FROM WF_ORG_USER_ROLE A "+
" INNER JOIN WF_ORGANIZATION B ON B.ORG_ID=A.ORG_ID "+
" INNER JOIN WF_ORGANIZATION C ON C.UP_ORG=B.UP_ORG "+
" WHERE A.USER_ID='"+userId+"' AND A.ORG_ID <> C.ORG_ID) ";
if(areaId!=null&&!areaId.equals("-1")){
whereSQL=whereSQL+" and area_id='"+areaId+"' ";
}
WfOrganizationDAO dao=new WfOrganizationDAO();
list=dao.query(whereSQL);
return list;
}
/**
* 取得指定行政区内指定用户的直接上级部门信息
* @param areaId 所属行政区,若为-1,则取得所有行政区内的部门信息
* @return List
*/
public List getParentOrgInfo(String userId,String areaId)
throws Exception{
List list=null;
String whereSQL=" where org_state='1' and org_id in "+
" (SELECT DISTINCT C.ORG_ID FROM WF_ORG_USER_ROLE A "+
" INNER JOIN WF_ORGANIZATION B ON A.ORG_ID=B.ORG_ID "+
" INNER JOIN WF_ORGANIZATION C ON B.UP_ORG=C.ORG_ID "+
" WHERE A.USER_ID='"+userId+"' AND A.ORG_ID<>C.ORG_ID) ";
if(areaId!=null&&!areaId.equals("-1")){
whereSQL=whereSQL+" and area_id='"+areaId+"' ";
}
WfOrganizationDAO dao=new WfOrganizationDAO();
list=dao.query(whereSQL);
return list;
}
/**
* 取得指定行政区内指定用户的所有上级部门信息
* @param areaId 所属行政区,若为-1,则取得所有行政区内的部门信息
* @return List
*/
public List getAllParentOrgInfo(String userId,String areaId)
throws Exception{
List list=null;
String whereSQL="";
if(this.dataBaseType.equals("MSSQLSERVER")){
whereSQL=" where org_state='1' and org_id in (select org_id from FUNC_GET_USER_ALL_PARENT_ORG('"+
userId+"')) ";
}
else if(this.dataBaseType.equals("ORACLE")){
whereSQL=" where org_state='1' and org_id not in "+
" (SELECT DISTINCT B.ORG_ID FROM WF_ORG_USER_ROLE B WHERE B.USER_ID='"+
userId+"') "+" Start With org_id In (SELECT DISTINCT B.ORG_ID "+
" FROM WF_ORG_USER_ROLE B WHERE B.USER_ID='"+userId+
"') Connect By org_id=Prior up_org ";
}
if(areaId!=null&&!areaId.equals("-1")){
whereSQL=whereSQL+" and area_id='"+areaId+"' ";
}
WfOrganizationDAO dao=new WfOrganizationDAO();
list=dao.query(whereSQL);
return list;
}
/**
* 取得指定行政区内指定用户的直接下级部门信息
* @param areaId 所属行政区,若为-1,则取得所有行政区内的部门信息
* @return List
*/
public List getChildOrgInfo(String userId,String areaId)
throws Exception{
List list=null;
String whereSQL=" where org_state='1' and org_id in "+
" (SELECT DISTINCT C.ORG_ID FROM WF_ORG_USER_ROLE A "+
" INNER JOIN WF_ORGANIZATION B ON A.ORG_ID=B.ORG_ID "+
" INNER JOIN WF_ORGANIZATION C ON B.ORG_ID=C.UP_ORG "+
" WHERE A.USER_ID='"+userId+"' AND A.ORG_ID<>C.ORG_ID) ";
if(areaId!=null&&!areaId.equals("-1")){
whereSQL=whereSQL+" and area_id='"+areaId+"' ";
}
WfOrganizationDAO dao=new WfOrganizationDAO();
list=dao.query(whereSQL);
return list;
}
/**
* 取得指定行政区内指定用户的所有下级部门信息
* @param areaId 所属行政区,若为-1,则取得所有行政区内的部门信息
* @return List
*/
public List getAllChildOrgInfo(String userId,String areaId)
throws Exception{
List list=null;
String whereSQL="";
if(this.dataBaseType.equals("MSSQLSERVER")){
whereSQL=" where org_state='1' and org_id in (select org_id from FUNC_GET_USER_ALL_CHILD_ORG('"+
userId+"')) ";
}
else if(this.dataBaseType.equals("ORACLE")){
whereSQL=" where org_state='1' and org_id not in "+
" (SELECT DISTINCT B.ORG_ID FROM WF_ORG_USER_ROLE B WHERE B.USER_ID='"+
userId+"') "+" Start With org_id In (SELECT DISTINCT B.ORG_ID "+
" FROM WF_ORG_USER_ROLE B WHERE B.USER_ID='"+userId+
"') Connect By Prior org_id=up_org ";
}
if(areaId!=null&&!areaId.equals("-1")){
whereSQL=whereSQL+" and area_id='"+areaId+"' ";
}
WfOrganizationDAO dao=new WfOrganizationDAO();
list=dao.query(whereSQL);
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -