📄 workflowengineclient.java
字号:
package cn.com.iaspec.workflow.client;
import cn.com.iaspec.workflow.helper.*;
import cn.com.iaspec.workflow.util.*;
import cn.com.iaspec.workflow.vo.workflow.*;
//import org.apache.axis.encoding.ser.ArrayDeserializer.ArrayListExtension;
import java.util.ArrayList;
/**
* 工作流引擎客户端
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: IASPEC Technologies</p>
* @author xiesonglin
* @version 1.0
*/
public class WorkflowEngineClient{
public WorkflowEngineClient(){
}
/**
* 根据工作流流程定义id启动工作流
* @param processDefineId long 流程定义id
* @param businessName String 业务名称
* @param businessType String 业务类型
* @param userInfo UserInfo 用户信息
* @param prcesseVars 流程参数信息
* @return StartedProcessInfo 工作流启动返回信息
*/
public StartedProcessInfo createAndStartProcess(long processDefineId,
String businessName,String businessType,UserInfo userInfo,ArrayList prcesseVars)
throws Exception{
WorkflowHelper helper=new WorkflowHelper();
return helper.createAndStartProcess(processDefineId,businessName,
businessType,userInfo,prcesseVars);
}
/**
* 根据工作流流程定义名称启动工作流
* @param processDefineName String 流程定义id
* @param businessName String 业务名称
* @param businessType String 业务类型
* @param userInfo UserInfo 用户信息
* @return StartedProcessInfo 工作流启动返回信息
*/
public StartedProcessInfo createAndStartProcess(String processDefineName,
String businessName,String businessType,UserInfo userInfo,ArrayList prcesseVars)
throws Exception{
WorkflowHelper helper=new WorkflowHelper();
return helper.createAndStartProcess(processDefineName,businessName,
businessType,userInfo,prcesseVars);
}
/**
* 更新流程对应的标题
* @param title String 标题
* @param processInstanceId String 流程实例id
*/
public void updateProcessTitle(String title,long processInstanceId)
throws Exception{
WorkflowHelper helper=new WorkflowHelper();
helper.updateProcessTitle(title,processInstanceId);
}
/**
* 更新流程对应的标题
* @param wfInfo WorkflowProcessInfo 工作流处理对象
* @param title String 标题
* @throws Exception
*/
public void updateProcessTitle(WorkflowProcessInfo wfInfo,String title)
throws Exception{
//取得projectId
String projectId=wfInfo.getProjectId();
if(projectId==null||projectId.equals("")||projectId.equals("")||
projectId.equals("null")){
throw new Exception("项目id为空。");
}
WorkflowHelper helper=new WorkflowHelper();
helper.updatePublicProjectTitle(title,Long.parseLong(projectId));
}
/**
* 将格式为“工作日”的毫秒时间转化为工作日,单位为“工作日”。
* @param date long 需要转化的“工作日”的毫秒时间
* @return String
*/
public static double getLocalWorkDatetimeToWorkDate(long date){
return ConvertWorkitemDatetime.getLocalWorkDatetimeToWorkDate(date);
}
/**
* 提交处理工作流。提交工作项,指定参与者,往工作流表与业务的关联信息表中插入数据。
* @param wfInfo WorkflowProcessInfo 工作流处理对象
* @param businessId String 业务信息id
*/
public void processWorkflow(WorkflowProcessInfo wfInfo,String businessId)
throws Exception{
//取得用户信息
UserInfo userInfo=wfInfo.getUserInfo();
CaseWorkflowHelper helper=new CaseWorkflowHelper(userInfo);
helper.dealWithWorkflow(wfInfo,businessId);
}
/**
* 启动流程时暂存工作流。创建工作流后对工作流进行保存,将业务与工作流建立起关联
* @param wfProInfo WorkflowProcessInfo 工作流处理信息对象
* @param businessId String 业务id
*/
public void newAndSaveWorkflow(WorkflowProcessInfo wfProInfo,
String businessId)
throws Exception{
//取得用户信息
UserInfo userInfo=wfProInfo.getUserInfo();
CaseWorkflowHelper helper=new CaseWorkflowHelper(userInfo);
helper.newAndSaveWorkflow(wfProInfo,businessId);
}
/**
* 修改工作项变量
*
* @param workitemId long 工作项ID
* @param vars ActivityVariable[] 将要修改的变量数组
* @param userInfo UserInfo 登录用户信息
* @throws Exception
*/
public void updateWorkitemReleData(long workitemId,ActivityVariable[] vars,UserInfo userInfo)
throws Exception{
CaseWorkflowHelper helper=new CaseWorkflowHelper(userInfo);
helper.updateWorkitemReleData(workitemId,vars);
}
public void setEngineConnectInfo(String hostName,String portName,String dbType){
try{
WorkflowHelper helper = new WorkflowHelper();
helper.setEngineConnectInfo(hostName,portName,dbType);
}catch(Exception e){
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -