0hi猿团提供了移动跨平台开发视频,包括html5,apicloud appcan,dcloud,具体请看http://www.9y.cm
工作流程!什么是jbmp进行了解释!
JBPM基本用法
工作流基本知识
JBPM基本用法
JBPM高级用法
各种类型节点的用法及应用场景
JBPM实现原理
系统架构和数据结构
基于JBPM的工作流应用平台开发
工作流应用平台介绍
设计和实现策略
工作流基本知识
概念和术语
JBPM基本概况
jBPM中与工作流领域对应的概念
JBPM基本用法
基本API的用法以及应用策略
实例开发
实例编写一个报销审批流程的相关代码
课堂交流和答疑
请假条得实例:
package cn.itcast.jbpm.init;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
public class CreateSchema {
/**
* 建表
*/
@Test
public void createSchema(){
new Configuration().configure().buildSessionFactory();
}
}
/**
* <pre>
* 任务实例的状态:已创建、已开始、已完成
* </pre>
*/
// 3,获取任务列表(未完成的任务实例列表)
@SuppressWarnings("unchecked")
@Test
public void getTaskList() {
// String actorId = "员工(张三)";
String actorId = "部门经理(李四)";
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
// List<TaskInstance> taskList = jbpmContext.getTaskList(actorId);
List<TaskInstance> taskList = jbpmContext.getTaskMgmtSession().findTaskInstances(actorId);
for (TaskInstance ti : taskList) {
System.out.println("id=" + ti.getId()//
+ ",name=" + ti.getName()//
+ ",actorId=" + ti.getActorId()//
+ ",create=" + ti.getCreate()//
+ ",start=" + ti.getStart()//
+ ",end=" + ti.getEnd());
}
jbpmContext.close();
}
private long taskInstanceId = 2;
// 4-1,办理任务_开始任务
@Test
public void startTask() {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
ti.start();
jbpmContext.close();
}
// 4-2,办理任务_结束任务
@Test
public void endTask() {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
ti.end();
jbpmContext.close();
}
}
package cn.itcast.jbpm.variable;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.junit.Test;
public class VariableTest {
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
// 0,部署流程定义
@Test
public void deploy() {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务
String xmlResource = "cn/itcast/jbpm/variable/leave/processdefinition.xml";
ProcessDefinition pd = ProcessDefinition.parseXmlResource(xmlResource);
jbpmContext.getGraphSession().deployProcessDefinition(pd);
jbpmContext.close(); // 提交/回滚 事务,关闭Session
}
// 1,启动流程实例
@Test
public void startProcess() {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
ProcessDefinition pd = jbpmContext.getGraphSession().findLatestProcessDefinition("leave");
ProcessInstance pi = pd.createProcessInstance(); // new ProcessInstance(pd);
// jbpmContext.save(pi);
// 设置变量
pi.getContextInstance().setVariable("employee", "张三");
pi.getContextInstance().setVariable("manager", "李四");
// 离开开始节点
Token token = pi.getRootToken(); // 根令牌
token.signal();
jbpmContext.close();
}
private long taskInstanceId = 6;
// 2,办理任务:提交申请
@Test
public void submit() {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
ti.start();
ProcessInstance pi = ti.getProcessInstance();
pi.getContextInstance().setVariable("days", 3); // 请假天数
ti.end();
jbpmContext.close();
}
// 2,办理任务:部门经理审批
@Test
public void audit() {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId + 1);
ti.start();
ProcessInstance pi = ti.getProcessInstance();
int days = (Integer) pi.getContextInstance().getVariable("days");
System.out.println("请假的天数为:" + days + "天");
ti.end();
jbpmContext.close();
}
}