📄 getactivityinfodao.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 + -