博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
activiti 核心API
阅读量:4626 次
发布时间:2019-06-09

本文共 1786 字,大约阅读时间需要 5 分钟。

1.获得一个流程引擎配置对象

//获得一个流程引擎配置对象
ProcessEngine pe = ProcessEngines.getDefaultProcessEngine(); 
调用ProcessEnginesgetDefaultProceeEngine方法时会自动加载classpath下名为activiti.cfg.xml文件。    

2.管理流程定义

RepositoryService repositoryService = processEngine.getRepositoryService();
DeploymentBuilder deployment = repositoryService.createDeployment();
                
 deployment.addClasspathResource("test1.bpmn");
 deployment.addClasspathResource("test1.png");
        
 Deployment deploy = deployment.deploy();
System.out.println(deploy.getId() + " " + deploy.getName() + " " + deploy.getDeploymentTime());
 
act_re_deployment表中插入一条数据:
844709-20170418135212290-522831297.png
 往act_re_procdef表中插入一条数据:
844709-20170418135213102-1215996902.png
 往act_ge_bytearray表中插入两条数据:
844709-20170418135214102-1921456720.png
 
 

3.開啟流程返回流程實例

RuntimeService runtimeService = 
processEngine
.getRuntimeService();
String processDefinitionId="test1:1:4";
//
開啟流程
返回流程實例
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId);
System.out.println(processInstance.getId() + " " + processInstance.getActivityId());  
往act_ru_execution(流程实例)表中插入一条数据:
844709-20170418135215602-2045156139.png
 往act_ru_task (任务)表中插入一条数据:
844709-20170418135217290-257498690.png
 往act_hi_taskinst (历史任务) 表中插入一条数据:
844709-20170418135219493-418720391.png
 

4.查询任务列表:

   
   
   
   
   
   
TaskService taskService = 
processEngine
.getTaskService();
                TaskQuery taskQuery = taskService.createTaskQuery();
                taskQuery.taskAssignee("张三");
//添加过滤条件,使用办理者查询
                taskQuery.orderByTaskId().desc();//添加排序条件
                taskQuery.listPage(0, 10);//添加分页条件
        List<Task> list = taskQuery.list();//发出sql,查询任务表
        for (Task task : list) {
            System.out.println(task.getId() + " " + task.getName() + " " + task.getAssignee());
        }  

5.办理任务:

   
   
   
   
   
TaskService taskService = 
processEngine
.getTaskService();
         String taskId="104";
      taskService.complete(taskId);
                
     
张三办理完任务后 ,
act_ru_task
 表中关于张三的那条任务记录将被删除,走到下个任务节点,到李四审批。
act_ru_task
 表中只保存当前在办理的任务,办理完成即被删除。
844709-20170418135222040-43674796.png
 李四办理完 ,就走到下个节点,表中也会删除李四那条任务记录。
844709-20170418135224993-1953766630.png
 
act_hi_taskinst
 历史任务表 中会保存每个节点,整个流程办理过程都在这里。
844709-20170418135227352-2067720136.png
 

转载于:https://www.cnblogs.com/fjson/p/6727423.html

你可能感兴趣的文章
android---简单的拨号器
查看>>
linux crontab & 每隔10秒执行一次
查看>>
angular路由好伙伴儿ui-router
查看>>
工作中vue项目前后端分离,调用后端本地接口出现跨域问题的完美解决
查看>>
MFC(四)文本编程
查看>>
Mmc编程
查看>>
MySQL之路 ——2、步履维艰的建表
查看>>
【原】 COCOS2D—LUA 获取剪贴板内容
查看>>
Spring Cloud(四):服务容错保护 Hystrix【Finchley 版】
查看>>
寻找最大数(三)
查看>>
0924 java学习记录
查看>>
flume source,sinks类型官方翻译
查看>>
canal架构原理
查看>>
HTTP隧道工具HTTPTunnel
查看>>
字符编码常识及问题解析
查看>>
hbase的缺陷
查看>>
Makefile文本处理函数
查看>>
BZOJ4650: [Noi2016]优秀的拆分
查看>>
BZOJ1058: [ZJOI2007]报表统计
查看>>
BZOJ3894: 文理分科
查看>>