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

📄 getprocdefinfodao.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.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 GetProcDefInfoDAO{
  /**
   * 取得流程和角色信息
   * @return ArrayList
   * @throws PurviewManageException
   */
  public ArrayList getProcdefInfo()
      throws PurviewManageException{
    PreparedStatement prep=null;
    Connection conn=null;
    ResultSet rs=null;
    Collection c=null;
    String sql=
        "select distinct t.role_id,a.atd_prdid,a.atd_prdename,a.prd_uid from "+" la_startable_process_user t,wf_actidefinition a where t.process_define_uid=a.prd_uid";
    try{
      conn=WorkflowDBConnectionManager.getInstance().getConnection();
      prep=conn.prepareStatement(sql);
      rs=prep.executeQuery();
      if(rs!=null){
        c=RsToStringTool.getCollection(rs,9);
      }

    }
    catch(Exception e){
      throw new PurviewManageException("-取得流程和角色信息异常-");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(rs);
      WorkflowDBConnectionManager.getInstance().close(prep,false);
      WorkflowDBConnectionManager.getInstance().close(conn);
    }

    return new ArrayList(c);
  }

  /**
   * 取得所有的流程信息
   * @return ArrayList
   */
  public ArrayList getProcessDefInfo()
      throws PurviewManageException{
    PreparedStatement prep=null;
    Connection conn=null;
    ResultSet rs=null;
    ArrayList list=new ArrayList();
    String sql="select distinct atd_prdid,atd_prdename,prd_uid,prd_description from wf_actidefinition";
    try{
      conn=WorkflowDBConnectionManager.getInstance().getConnection();
      prep=conn.prepareStatement(sql);
      rs=prep.executeQuery();
      while(rs.next()){
        WfProcessDef la_ProcessDef=new WfProcessDef();
        la_ProcessDef.setProcessDefineId(rs.getLong("atd_prdid"));
        la_ProcessDef.setProcessDefineUID(rs.getString("prd_uid"));
        la_ProcessDef.setProcessDefineName(rs.getString("atd_prdename"));
        la_ProcessDef.setPrd_description(rs.getString("prd_description"));
        list.add(la_ProcessDef);
      }

    }
    catch(Exception e){
      throw new PurviewManageException("-取得最新流程信息异常-");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(rs);
      WorkflowDBConnectionManager.getInstance().close(prep,false);
      WorkflowDBConnectionManager.getInstance().close(conn);
    }

    return list;
  }

  /**
   * 添加角色和流程的关系信息(能启动的流程)
   * @param wf_role_Process wf_role_Process
   * @return int
   */
  public int addRoleProcessdefInfo(Connection conn,
      WfRoleProcess wf_role_Process)
      throws PurviewManageException{
    int i=0;
    GetActivityInfoDAO activityInfoDAO=new GetActivityInfoDAO();
    PreparedStatement prep=null;
    boolean flag=false;
    String sql=
        "insert into la_startable_process_user(role_id,process_define_uid) values(?,?)";
    String sq="select * from la_startable_process_user where role_id='"+
        wf_role_Process.getRole_id()+"' and"+" process_define_uid='"+
        wf_role_Process.getPro_uid()+"'";
    flag=activityInfoDAO.check(conn,sq); //判断是否存在
    try{
      if(!flag){
        prep=conn.prepareStatement(sql);
        prep.setString(1,wf_role_Process.getRole_id());
        prep.setString(2,wf_role_Process.getPro_uid());
        i=prep.executeUpdate();
      }
      else{
        i=1;
      }
    }
    catch(Exception e){
      e.printStackTrace();
      throw new PurviewManageException("-添加角色和流程的关系信息异常-");
    }
    finally{
      WorkflowDBConnectionManager.getInstance().close(prep,false);
    }
    return i;
  }

  /**
   * 删除角色和流程的信息
   * @param wf_role_Process wf_role_Process
   * @return int
   */
  public int deleteRoleProcessInfo(WfRoleProcess wf_role_Process)
      throws PurviewManageException{
    String sql=
        "delete la_startable_process_user where role_id=? and process_define_uid=?";
    int i=0;
    PreparedStatement prep=null;
    Connection conn=null;
    try{
      conn=WorkflowDBConnectionManager.getInstance().getConnection();
      prep=conn.prepareStatement(sql);
      prep.setString(1,wf_role_Process.getRole_id());
      prep.setString(2,wf_role_Process.getPro_uid());
      i=prep.executeUpdate();

    }
    catch(Exception e){
      throw new PurviewManageException("-删除角色和流程的信息异常-");
    }
    return i;
  }
}

⌨️ 快捷键说明

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