Flowable6.7.1流程部署

Flowable6.7.1流程部署

2023年8月1日发(作者:)

Flowable6.7.1流程部署 流程图内容:

部署流程模版时参与到的表:ACT_RE_DEPLOYMENTACT_RE_PROCDEF流程部署表--DeploymentEntityImpl流程定义信息表--ProcessDefinitionEntityImplACT_GE_BTYEARRAY资源表(存储流程定义相关的资源)--ByteArrayEntityImpl流程定义部署

代码编写FlowDefinitionController:package ller;import edArgsConstructor;import sEngine;import toryService;import ment;import ping;import tMapping;import ntroller;/** * @author: wtl * @License: (C) Copyright 2021, wtl Corporation Limited. * @Contact: 1050100468@ * @Date: 2021/12/12 4:37 下午 * @Version: 1.0 * @Description: */@RestController@RequiredArgsConstructor@RequestMapping("/flowable")public class FlowDefinitionController { private final ProcessEngine processEngine; /** * 流程定义部署 * @return String */ @GetMapping("/flowDefinitionDeployment") public String flowDefinitionDeployment(){ RepositoryService repositoryService = ositoryService(); Deployment deployment = Deployment() .addClasspathResource("leave_") .name("流程定义部署") .category("部署category") .deploy(); return "Success"; }}ACT_RE_DEPLOYMENTACT_RE_PROCDEF流程部署表--DeploymentEntityImpl流程定义信息表--ProcessDefinitionEntityImpl请求接⼝:

再次请求接⼝: version会增加。即版本会加1。

流程定义分页查询:/** * 流程定义分页 * @param start 开始 * @param size ⼤⼩ */ @GetMapping("/processDefinitionsByPage/{start}/{size}") public void processDefinitionsByPage( @PathVariable("start") int start, @PathVariable("size") int size){ RepositoryService repositoryService = ositoryService(); List processDefinitions = ProcessDefinitionQuery().listPage(start, size); h(::println); }请求:运⾏结果:获取流程定义XML:代码:/** * 获取流程定义的XML * @param httpServletResponse response * @throws Exception 异常 */ @GetMapping("/getProcessDefinitionXML") public void getProcessDefinitionXML(HttpServletResponse httpServletResponse) throws Exception { RepositoryService repositoryService = ositoryService(); ProcessDefinition processDefinition = ProcessDefinitionQuery().deploymentId("10001").singleResult(); InputStream resourceAsStream = ourceAsStream(loymentId(), ourceName()); (resourceAsStream,putStream()); putStream().close(); }运⾏结果: 获取流程定义图⽚:代码:/** * 获取流程定义的图⽚ * @param httpServletResponse response * @throws Exception 异常 */ @GetMapping("/getProcessDefinitionImage") public void getProcessDefinitionImage(HttpServletResponse httpServletResponse) throws Exception { RepositoryService repositoryService = ositoryService(); ProcessDefinition processDefinition = ProcessDefinitionQuery().deploymentId("10001").singleResult(); InputStream resourceAsStream = ourceAsStream(loymentId(), gramResourceNam (resourceAsStream,putStream()); putStream().close(); }运⾏结果:获取所有的流程定义表数据:定义⽇志打印(包名):logging: level: lelearn: debug le: debugpackage ller;import edArgsConstructor;import sEngine;import toryService;import ment;import sDefinition;import ping;import tMapping;import ntroller;import ;/** * @author: wtl * @License: (C) Copyright 2021, wtl Corporation Limited. * @Contact: 1050100468@ * @Date: 2021/12/12 4:37 下午 * @Version: 1.0 * @Description: */@RestController@RequiredArgsConstructor@RequestMapping("/flowable")public class FlowDefinitionController { private final ProcessEngine processEngine; /** * 流程定义部署 * @return String */ @GetMapping("/flowDefinitionDeployment") public String flowDefinitionDeployment(){ RepositoryService repositoryService = ositoryService(); Deployment deployment = Deployment() .addClasspathResource("leave_") .name("流程定义部署") .category("部署category") .deploy(); return "Success"; } /** * 获取所有的流程定义表数据 * @return List */ @GetMapping("/getProcessDefinitions") public String getProcessDefinitions(){ RepositoryService repositoryService = ositoryService(); List processDefinitions = ProcessDefinitionQuery() .list(); n(processDefinitions); return "查询所有"; }}查询结果:启动流程实例

代码:/** * 启动处理流程实例 * @return String */ @GetMapping("/startProcessInstance") public String startProcessInstance(){ RuntimeService runtimeService = timeService(); Map variables = new HashMap(); ("employee", "wtl"); ("nrOfHolidays", "8"); ("description", "请假流程"); ProcessInstance processInstance = rocessInstanceByKey("leave", variables); return "Success"; }运⾏结果: 正在运⾏的任务:任务调度时使⽤的变量:查询与完成任务代码:/** * 可以使⽤任务获取特定流程实例的变量 * @return Map */ @GetMapping("/getTaskVariables") public Map getTaskVariables(){ TaskService taskService = kService(); Task task = TaskQuery().taskAssignee("张三").singleResult(); return iables(()); } 查询结果: 完成任务代码:/** * 完成任务 * @return String */ @GetMapping("/completeTask") public String completeTask(){ TaskService taskService = kService(); Map variables = new HashMap<>(); ("approved", true); Task task = TaskQuery().taskAssignee("张三").singleResult(); te((), variables); return "Success"; } 运⾏结果: ACT_RU_TASK、ACT_RU_VARIABLE针对于该任务的数据清空,ACT_HI_TASKINST会增加⼀条历史记录。查询历史任务:代码:/** * 查询历史任务 */ @GetMapping("/queryHistoryTasks") public void queryHistoryTasks(){ HistoryService historyService = toryService(); List historicActivityInstances = HistoricActivityInstanceQuery().taskAssignee("张三").list(); for (HistoricActivityInstance historicActivityInstance : historicActivityInstances) { } } n(ivityName() + "=>" + rtTime() + "===" + Time(运⾏结果:

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690873512a452076.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信