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

📄 getactivityinfodao.java

📁 公司自己开发的工作流引擎
💻 JAVA
字号:
package cn.com.iaspec.workflow.manage.dao;

import java.sql.*;
import java.util.*;
import cn.com.iaspec.workflow.db.*;
import cn.com.iaspec.workflow.manage.*;
import cn.com.iaspec.workflow.manage.business.*;
import cn.com.iaspec.workflow.organize.*;
import cn.com.iaspec.workflow.vo.workflow.*;

/**
 * <p>Title:活动和角色管理 </p>
 *
 * <p>Description: 深圳市劳动仲裁信息管理系统</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: 永泰软件工程有限公司</p>
 *
 * @author syj
 * @version 1.0
 */
public class GetActivityInfoDAO
    implements ManageInterface{
  /**
   * 到工作流引擎里面取得最新的活动数据
   * @return ArrayList
   * @throws Exception
   */
  public ArrayList getActivityInfo()
      throws PurviewManageException{
    ArrayList list=new ArrayList();
    String sql="select a.atd_id,a.atd_uid,a.atd_prdid,a.atd_name,a.atd_desc,b.prd_uid,c.prd_name,"+" c.prd_description from actidefinition a,procdefinition c,(select max(t.prd_id) maxprd_id,"+" t.prd_uid from  procdefinition t group by t.prd_uid) b where a.atd_prdid = b.maxprd_id"+
        " and not a.atd_name in('开始节点','结束节点') and c.prd_id=b.maxprd_id";
    PreparedStatement prep=null;
    Connection conn=null;
    ResultSet rs=null;
    try{
      conn=WorkflowDBConnectionManager.getInstance().getConnection();
      prep=conn.prepareStatement(sql);
      rs=prep.executeQuery();
      while(rs.next()){
        ActivityInfo activityInfo=new ActivityInfo();
        activityInfo.setATD_ID(rs.getLong("atd_id"));
        activityInfo.setATD_NAME(rs.getString("atd_name"));
        activityInfo.setATD_UID(rs.getString("atd_uid"));
        activityInfo.setATD_PRDID(rs.getLong("atd_prdid"));
        activityInfo.setATD_DESC(rs.getString("atd_desc"));
        activityInfo.setATD_PRDENAME(rs.getString("prd_name"));
        activityInfo.setPRD_UID(rs.getString("prd_uid"));
        activityInfo.setPrd_description(rs.getString("prd_description"));
        list.add(activityInfo);
      }

    }
    catch(Exception e){
      throw new PurviewManageException("----到工作流引擎库取得最新的活动数据异常----");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(rs);
      WorkflowDBConnectionManager.getInstance().close(prep,false);
      WorkflowDBConnectionManager.getInstance().close(conn);
    }

    return list;
  }

  /**
   * 取得最新的活动数据插入到业务数据库
   * @return int
   */
  public int setActivityInfo()
      throws PurviewManageException{
    int i=0;
    PreparedStatement prep=null;
    Connection conn=null;
    ArrayList list=new ArrayList();
    String sq="delete wf_actidefinition ";
    String sql="insert into wf_actidefinition(atd_id,atd_uid,atd_name,atd_desc,atd_prdid,atd_prdename,"+
        " prd_uid,prd_description) values(?,?,?,?,?,?,?,?)";
    try{
      conn=WorkflowDBConnectionManager.getInstance().getConnection();
      prep=conn.prepareStatement(sq);
      prep.executeUpdate();
      prep.close();
      list=getActivityInfo(); //取得最新的活动信息
      Iterator it=list.iterator();
      while(it.hasNext()){
        ActivityInfo activityInfo=(ActivityInfo)it.next();
        prep=conn.prepareStatement(sql);
        prep.setLong(1,activityInfo.getATD_ID());
        prep.setString(2,activityInfo.getATD_UID());
        prep.setString(3,activityInfo.getATD_NAME());
        prep.setString(4,activityInfo.getATD_DESC());
        prep.setLong(5,activityInfo.getATD_PRDID());
        prep.setString(6,activityInfo.getATD_PRDENAME());
        prep.setString(7,activityInfo.getPRD_UID());
        prep.setString(8,activityInfo.getPrd_description());
        i=prep.executeUpdate();
      }
      prep=conn.prepareStatement(sql);

    }
    catch(Exception e){
      e.printStackTrace();
      throw new PurviewManageException("---取得最新的活动数据插入到业务数据库--");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(prep,false);
      WorkflowDBConnectionManager.getInstance().close(conn);
    }

    return i;
  }

  /**
   * 取得角色和活动的信息集合
   * @return ArrayList
   * @throws PurviewManageException
   */
  public ArrayList getRoleActivityInfo()
      throws PurviewManageException{
    String sql=
        "select t.role_id,a.atd_id,a.atd_uid,a.atd_name from wf_role_actide t,"+
        " wf_actidefinition a where a.atd_uid=t.atd_uid";
    PreparedStatement prep=null;
    Connection conn=null;
    ResultSet rs=null;
    Collection c=null;
    try{
      conn=WorkflowDBConnectionManager.getInstance().getConnection();
      prep=conn.prepareStatement(sql);
      rs=prep.executeQuery();
      if(rs!=null){
        c=RsToStringTool.getCollection(rs,8);
      }
    }
    catch(Exception e){
      throw new PurviewManageException("-取角色和活动关联信息异常--");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(rs);
      WorkflowDBConnectionManager.getInstance().close(prep,false);
      WorkflowDBConnectionManager.getInstance().close(conn);
    }
    return new ArrayList(c);

  }

  /**
   * 添加活动和角色管理信息
   * @param role_id String
   * @param act_id String
   * @return int
   */
  public int addRoleActivityInfo(Connection conn,String role_id,String atd_uid)
      throws PurviewManageException{
    int i=0;
    PreparedStatement prep=null;
    String sql="insert into wf_role_actide(role_id,atd_uid) values(?,?)";
    String sq="select * from wf_role_actide  where role_id='"+role_id+
        "' and atd_uid='"+atd_uid+"'";
    try{
      if(!check(conn,sq)){
        prep=conn.prepareStatement(sql);
        prep.setString(1,role_id);
        prep.setString(2,atd_uid);
        i=prep.executeUpdate();
        System.out.println("check(conn,sq)sq="+sq);
      }
      else{
        i=-2;
      }

    }
    catch(Exception e){
      throw new PurviewManageException("-添加活动和角色关联异常--");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(prep,false);
    }

    System.out.println("i------------------------="+i);
    return i;

  }

  /**
   * 删除角色和活动的关联信息
   * @param role_id String
   * @param act_id long
   * @return int
   * @throws PurviewManageException
   */
  public int deleteRoleActivityInfo(String role_id,String atd_uid)
      throws PurviewManageException{
    int i=0;
    PreparedStatement prep=null;
    Connection conn=null;
    String sql="delete wf_role_actide where role_id=? and atd_uid=?";
    try{
      conn=WorkflowDBConnectionManager.getInstance().getConnection();
      prep=conn.prepareStatement(sql);
      prep.setString(1,role_id);
      prep.setString(2,atd_uid);
      i=prep.executeUpdate();
    }
    catch(Exception e){
      throw new PurviewManageException("-删除活动和角色关联信息异常--");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(prep,false);
      WorkflowDBConnectionManager.getInstance().close(conn);
    }
    return i;
  }

  /**
   * 判断活动和角色
   * @param role_id String
   * @param act_id String
   * @return boolean
   */
  public static boolean check(Connection conn,String sql)
      throws PurviewManageException{
    PreparedStatement prep=null;
    ResultSet rs=null;
    boolean flag=false;
    try{
      prep=conn.prepareStatement(sql);
      rs=prep.executeQuery();
      while(rs.next()){
        flag=true;
      }

    }
    catch(SQLException e){
      e.printStackTrace();
      throw new PurviewManageException("-判断活动和角色关系异常-");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(rs);
      WorkflowDBConnectionManager.getInstance().close(prep,false);
    }

    return flag;

  }
}

⌨️ 快捷键说明

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