jbpm4.4 demo1

package cn.itcast.a_helloworld;

import java.util.List;

import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.task.Task;
import org.junit.Test;

public class HelloWorld_API {

	private static ProcessEngine processEngine;
	static {
		Configuration cfg = new Configuration();
		cfg.setResource("jbpm.cfg.xml");
		processEngine = cfg.buildProcessEngine();
	}

	// 1,部署流程定义文档
	@Test
	public void testDeployProcessDefinition() throws Exception {
		String id = processEngine.getRepositoryService()//
				.createDeployment()//
				.addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//
				.addResourceFromClasspath("helloworld/helloworld.png")//
				.deploy();
		System.out.println(id);
	}

	// 2,启动流程实例
	/**
	  * 根据pdkey启动流程实例,是该key下,最高版本
	  */
	@Test
	public void testStartProcessInstance() throws Exception {
		ProcessInstance instance = processEngine.getExecutionService().startProcessInstanceByKey("hellokey");
		System.out.println(instance.toString());
		System.out.println(instance.getId() + "  " + instance.getKey() + "  " + instance.getName() + "  " + instance.getPriority() + "  " + instance.getProcessDefinitionId() + "  " + instance.getState()
				+  "  " + instance.getProcessInstance().toString() ) ;
	}

	// 3,查询我的任务列表
	@Test
	public void testFindMyTaskList() throws Exception {
		// 查询
		// String userId = "员工";
		 String userId = "部门经理";
		//String userId = "总经理";
		List<Task> list = processEngine.getTaskService().findPersonalTasks(userId);
		// 显示
		for (Task task : list) {
			System.out.println("id=" + task.getId() + ", name=" + task.getName() + ", assignee=" + task.getAssignee() + " " + task.getActivityName());
			System.out.println(task.getDescription() + "  " +  task.getFormResourceName() + "  " + task.getPriority() + "  " + task.getDuedate() + "  " + task.getCreateTime());
			System.out.println();
		}
	}

	// 4,办理任务
	@Test
	public void testCompleteTask() throws Exception {
		String taskId = "160002";
		processEngine.getTaskService().completeTask(taskId);
	}
}

 

<?xml version="1.0" encoding="UTF-8"?>

<process name="hellokey" key="hellokey" xmlns="http://jbpm.org/4.4/jpdl">
   <start g="115,21,48,48" name="start1">
      <transition g="-71,-17" name="to 提交申请" to="提交申请"/>
   </start>
   <end g="115,353,48,48" name="end1"/>
   <task assignee="员工" g="81,101,117,52" name="提交申请">
      <transition g="-78,-15" name="to 部门经理[审批]" to="部门经理[审批]"/>
   </task>
   <task assignee="部门经理" g="81,185,117,52" name="部门经理[审批]">
      <transition g="-95,-17" name="to 总经理[审批]" to="总经理[审批]"/>
   </task>
   <task assignee="总经理" g="81,269,117,52" name="总经理[审批]">
      <transition g="-47,-17" name="to end1" to="end1"/>
   </task>
</process>

 

 下载demo

转载于:https://www.cnblogs.com/a757956132/p/4774907.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值