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

📄 selectactordao.java

📁 公司自己开发的工作流引擎
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      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 + -