ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

activiti7---工作流activiti的创建步骤

2020-12-24 09:02:49  阅读:546  来源: 互联网

标签:task activiti System --- 任务 activiti7 act println out


1.使用activiti的插件actiBPM画一个流程图

2.流程定义与部署

       //创建ProcessEngine对象
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        //得到RepositoryService,用于加载流程图,部署流程图
        RepositoryService repositoryService = processEngine.getRepositoryService();
        //部署
        Deployment deployment = repositoryService.createDeployment().addClasspathResource("process/ServiceTaskTest.bpmn").name("test").deploy();
涉及的表:
act_re_deployment  部署信息
act_re_procdef     流程定义的一些信息
act_ge_bytearray   流程定义的bpmn文件及png文件

3.执行流程实例

 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
 ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey("myProcess_1");

processInstanceKey可在流程图中获取:

涉及的表:

 act_ru_execution   流程实例执行表,记录当前流程的执行情况
act_ru_task        任务执行表,记录当前执行的任务
act_ru_identitylink  任务参与者,记录当前参与任务的用户或组
act_hi_taskinst:已经执行完的历史任务信息
act_hi_procinst:流程实例的历史表,存放执行完毕的流程实例信息
act_hi_actinst:历史任务表,记录所有任务

注意:act_ru_*记录正在执行的任务,执行完则删除,确保小表操作

4.获取当前任务列表

 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//执行流程时获取的processInstance
List<Task> list= taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();
        list.forEach(task -> {
            System.out.println("任务ID:" + task.getId());
            System.out.println("任务名称:" + task.getName());
            System.out.println("任务创建时间:" + task.getCreateTime());
            System.out.println("任务的处理人:" + task.getAssignee());
            System.out.println("任务的实例ID:" + task.getProcessDefinitionId());
            System.out.println("执行对象的ID:" + task.getExecutionId());
            System.out.println("任务的班里人:" + task.getAssignee());
            System.out.println("流程定义ID:" + task.getProcessInstanceId());
        });

5.获取指定用户当前任务列表

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
String asssignee = "admin";
List<Task> list = processEngine.getTaskService().createTaskQuery().taskAssignee(asssignee).list();

list.forEach(task -> {
            System.out.println("任务ID:" + task.getId());
            System.out.println("任务名称:" + task.getName());
            System.out.println("任务创建时间:" + task.getCreateTime());
            System.out.println("任务的处理人:" + task.getAssignee());
            System.out.println("任务的实例ID:" + task.getProcessDefinitionId());
            System.out.println("执行对象的ID:" + task.getExecutionId());
            System.out.println("任务的班里人:" + task.getAssignee());
            System.out.println("流程定义ID:" + task.getProcessInstanceId());
        });

6.完成任务

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
 //创建tastServervice
TaskService taskService = processEngine.getTaskService();
taskService.complete(taskId);

 

标签:task,activiti,System,---,任务,activiti7,act,println,out
来源: https://blog.csdn.net/qq_40823910/article/details/111603449

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有