•流程圖
•建表並建立流程引擎對象(核心對象)
// 建表@Testpublic void testCreateSchema() { // hbm2ddl.auto=updatenew org.hibernate.cfg.Configuration().configure("jbpm.hibernate.cfg.xml").buildSessionFactory();}private ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();
// 1,部署流程定義@Testpublic void testDeployProcessDefinition() throws Exception {processEngine.getRepositoryService()//.createDeployment()//.addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//.addResourceFromClasspath("helloworld/helloworld.png")//.deploy();}
// 2,啟動流程執行個體@Testpublic void testStartProcessInstance() throws Exception {ProcessInstance pi = processEngine.getExecutionService().startProcessInstanceByKey("helloworld");System.out.println("流程執行個體啟動成功!id="+pi.getId() +"name="+pi.getName() +"key="+pi.getKey()+"getProcessDefinitionId="+pi.getProcessDefinitionId());}
// 3,查詢我的未辦理的工作清單@Testpublic void testFindMyTaskList() throws Exception {// 查詢// String userId = "員工";// String userId = "部門經理";String userId = "總經理";List<Task> taskList = processEngine.getTaskService().findPersonalTasks(userId);// 顯示System.out.println("=========== 【" + userId + "】的工作清單 ===========");for (Task task : taskList) {System.out.println("id=" + task.getId() + ", name=" + task.getName() + ", assignee=" + task.getAssignee());}}
// 4,辦理任務@Testpublic void testCompleteTask() throws Exception {String taskId = "50001";processEngine.getTaskService().completeTask(taskId);}