当前位置: 首页 > wzjs >正文

网站生成器下载北京建筑设计公司有哪些

网站生成器下载,北京建筑设计公司有哪些,怎样看一个网站是谁做的,北京市网站开发公司Flowable工作流的原理可以概括为以下几个步骤: 1. 流程定义:使用BPMN 2.0规范进行流程定义,将业务过程可视化地描述出来。Flowable提供了可视化的流程设计工具,方便用户进行流程定义。 **生成符合BPMN 2.0规范的流程文件的方式有…

Flowable工作流的原理可以概括为以下几个步骤:

1. 流程定义:使用BPMN 2.0规范进行流程定义,将业务过程可视化地描述出来。Flowable提供了可视化的流程设计工具,方便用户进行流程定义。

**生成符合BPMN 2.0规范的流程文件的方式有很多,此处列举两种方式:

1.使用Flowable自带的Flowable-UI来生成BPMN文件:

首先下载官方demo代码:https://github.com/flowable/flowable-engine/releases
解压后找到flowable-rest.war和flowable-ui.war两个war包,放到tomcat里面运行起来。
成功运行后,访问本地地址 http://localhost:8080/flowable-ui
在网页中找到“新建流程”,定义好相关名称,就可以开始创建流程了:
在这里插入图片描述
在这里插入图片描述
详细绘制步骤可参考:https://blog.csdn.net/java_mindmap/article/details/135027471
绘制完成后,保存,然后下载,即可获得:

在这里插入图片描述

这样一个bpmn20标准的流程图文件。

2.使用IDEA插件“Flowable BPMN visualizer”来生成BPMN文件:

IDEA插件市场中搜索Flowable BPMN visualizer安装该插件。
在这里插入图片描述

安装完成后,在文档目录下右键新建,即可创建bpmn20标准的流程图文件:
在这里插入图片描述

创建好文件后,右键点击即可对流程进行编辑
在这里插入图片描述

具体操作可参考:https://blog.csdn.net/Demo_00/article/details/135413840

2. 流程部署:将流程定义文件部署到Flowable引擎中,引擎解析流程定义并生成执行实例。

新建一个springBoot项目或者在原有的springBoot项目中引入Flowable框架:

<!-- flowable -->
<dependency><groupId>org.flowable</groupId><artifactId>flowable-spring-boot-starter</artifactId><version>6.7.1</version>
</dependency>

在数据库连接中添加配置:
&nullCatalogMeansCurrent=true
然后将上一步下载的流程图文件放到项目中:
在这里插入图片描述

然后使用代码将流程注册到流程引擎中,即可使用:

@Test
public void deploy(){ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();RepositoryService repositoryService = processEngine.getRepositoryService();Deployment deploy = repositoryService.createDeployment().addClasspathResource("processes/leave.bpmn20.xml").name("请假流程...").category("请假") // 分类.tenantId("dpb") // 租户id.deploy();System.out.println("deploy.getId() = " + deploy.getId());System.out.println("deploy.getName() = " + deploy.getName());System.out.println("deploy.getCategory() = " + deploy.getCategory());
}

3. 任务分配:根据流程实例的执行情况,将任务分配给相应的参与者。Flowable支持多种任务分配方式,如手动分配、自动分配等。

发起一个流程:

Map<String, Object> map = new HashMap<>();
map.put("day", 5);
map.put("user1", "小明");
ProcessInstance studentLeave = runtimeService.startProcessInstanceByKey("leave", map);
Task task = taskService.createTaskQuery().processInstanceId(studentLeave.getId()).singleResult();
taskService.complete(task.getId());

处理第一阶段流程:

// 领导审批
List<Task> teacherTaskList = taskService.createTaskQuery().taskCandidateGroup("a").list();
Map<String, Object> teacherMap = new HashMap<>();
teacherMap.put("outcome", "通过");
for (Task teacherTask : teacherTaskList) {taskService.complete(teacherTask.getId(), teacherMap);
}

处理第二阶段流程:

List<Task> principalTaskList = taskService.createTaskQuery().taskCandidateGroup("b").list();
Map<String, Object> principalMap = new HashMap<>();
principalMap.put("bosspass", "通过");
for (Task principalTask : principalTaskList) {taskService.complete(principalTask.getId(), principalMap);
}

查询整个流程的流转过程:

List<HistoricActivityInstance> activities = historyService.createHistoricActivityInstanceQuery().processInstanceId(studentLeave.getId()).finished().orderByHistoricActivityInstanceEndTime().asc().list();
for (HistoricActivityInstance activity : activities) {System.out.println(activity.getActivityName());
}

运行结束:

在这里插入图片描述

实际案例

以告警图片识别并下发巡查任务流程为例:
首先设计并导出流程文件:
在这里插入图片描述

将流程注册到系统中:

	@Testpublic void deployImg(){ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();RepositoryService repositoryService = processEngine.getRepositoryService();Deployment deploy = repositoryService.createDeployment().addClasspathResource("processes/img.bpmn20.xml").name("告警图片审核巡查流程...").category("告警") // 分类.tenantId("dpb") // 租户id.deploy();System.out.println("deploy.getId() = " + deploy.getId());System.out.println("deploy.getName() = " + deploy.getName());System.out.println("deploy.getCategory() = " + deploy.getCategory());}

模拟巡查任务流转过程:

@Testvoid TestImg() {// 发起请假Map<String, Object> map = new HashMap<>();map.put("img", "https://obs-dzwlproject.obs.cn-south-1.myhuaweicloud.com/group/GX0153/20210526104731.png");map.put("robot", "xxlJob");map.put("robotFlow", "通过");ProcessInstance studentLeave = runtimeService.startProcessInstanceByKey("task", map);Task task = taskService.createTaskQuery().processInstanceId(studentLeave.getId()).singleResult();taskService.complete(task.getId());// 运营中心审核List<Task> teacherTaskList = taskService.createTaskQuery().taskCandidateGroup("server").list();Map<String, Object> teacherMap = new HashMap<>();teacherMap.put("serverFlow", "通过");for (Task teacherTask : teacherTaskList) {taskService.complete(teacherTask.getId(), teacherMap);}// 市级管理分配任务--指派给张三List<Task> principalTaskList = taskService.createTaskQuery().taskCandidateGroup("manager").list();Map<String, Object> principalMap = new HashMap<>();principalMap.put("managerPassFlow", "通过");principalMap.put("user", "张三");for (Task principalTask : principalTaskList) {taskService.complete(principalTask.getId(), principalMap);}// 开始巡查任务---张三发现不是自己区域的任务List<Task> userTaskList = taskService.createTaskQuery().taskCandidateUser("张三").list();Map<String, Object> userMap = new HashMap<>();userMap.put("userBackFlow", "转办");for (Task userTask : userTaskList) {taskService.complete(userTask.getId(), userMap);}// 市级管理分配任务--重新指派给李四List<Task> principalTaskList1 = taskService.createTaskQuery().taskCandidateGroup("manager").list();Map<String, Object> principalMap1 = new HashMap<>();principalMap1.put("managerPassFlow", "通过");principalMap1.put("user", "李四");for (Task principalTask : principalTaskList1) {taskService.complete(principalTask.getId(), principalMap1);}// 开始巡查任务---李四巡查任务List<Task> userTaskList1 = taskService.createTaskQuery().taskCandidateUser("李四").list();Map<String, Object> userMap1 = new HashMap<>();userMap1.put("userBackFlow", "巡查");for (Task userTask : userTaskList1) {//获取违规图片地址String img = (String) taskService.getVariable(userTask.getId(), "img");System.out.println("巡查员获取违规图片地址:"+img);taskService.complete(userTask.getId(), userMap1);}// 查看历史List<HistoricActivityInstance> activities = historyService.createHistoricActivityInstanceQuery().processInstanceId(studentLeave.getId()).finished().orderByHistoricActivityInstanceEndTime().asc().list();for (HistoricActivityInstance activity : activities) {System.out.println(activity.getActivityName());}}

执行完成,打印当前流程执行记录:
在这里插入图片描述


文章转载自:

http://gPjqP1tk.dkmzr.cn
http://gkw8X5Os.dkmzr.cn
http://4f4CUhEw.dkmzr.cn
http://NST5529l.dkmzr.cn
http://eGu7BcG8.dkmzr.cn
http://2kPigoeC.dkmzr.cn
http://dpNTR0qv.dkmzr.cn
http://ipq7BLiz.dkmzr.cn
http://xjqfT8NB.dkmzr.cn
http://3g5syPCS.dkmzr.cn
http://uYIoJ4Kk.dkmzr.cn
http://3uz4r2Lh.dkmzr.cn
http://Iwa0aJi8.dkmzr.cn
http://wnpoJa12.dkmzr.cn
http://CGYD7tnu.dkmzr.cn
http://5pJn77xs.dkmzr.cn
http://BcGFFYwC.dkmzr.cn
http://OEzzEp0F.dkmzr.cn
http://XaUJ5Q6h.dkmzr.cn
http://Sdl77nDW.dkmzr.cn
http://NE5bKGP7.dkmzr.cn
http://ztGmMuat.dkmzr.cn
http://JbyaiZPL.dkmzr.cn
http://a6jfQV9d.dkmzr.cn
http://AZyj9KQa.dkmzr.cn
http://ntdi7wQy.dkmzr.cn
http://LPpSQuyP.dkmzr.cn
http://Kwh023nN.dkmzr.cn
http://TfXpFtB3.dkmzr.cn
http://v4Lifv9R.dkmzr.cn
http://www.dtcms.com/wzjs/727849.html

相关文章:

  • 电子商务网站建设方案范文注册域名的官方网站
  • 音乐网站设计wordpress设置登录页面模板
  • 全网营销型网站建设青岛慧思网站建设
  • 免费云服务器网站有哪些wordpress做一个网站404引导
  • wordpress采集网站品牌推广案例及方案
  • 宜昌市住房和城乡建设官方网站建设电商平台方案
  • 太仓做网站公司学网页制作需要学什么
  • 网站建设与管理专业好找工作吗关键词排名零芯互联关键词
  • 商城网站建设服务器wordpress显示全文
  • 网站空间到期php做二手商城网站源码
  • 江苏建设考试培训网seo新闻
  • wordpress外贸建站 视频教程建筑公司网站排名
  • 绝对域名做网站青海网站建设企业
  • 有没有专业做steam创客的网站手机网站全屏代码
  • wordpress 怎么样株洲网站推广优化
  • 汽车行业做网站找人做网站要注意什么
  • 宁晋网站开发搭建wordpress课程管理系统
  • 做网站网页挣钱不电影网站建设的意义
  • 网站架构设计图怎么做应用制作下载
  • 番禺做网站设计什么是用户主导的网络营销方式
  • 个人网站开发要多久杭州萧山区抖音seo排行榜
  • 做阿里巴巴小企业网站网页设计购物网站建设
  • 谷歌网站英文含山县住房和城乡建设局网站
  • 潍坊网站建设求职简历企业网站推广费用
  • 网站icp备案查询截图wordpress 更好 知乎
  • 网站标题关键字湛江做网站从
  • 网站建设网络推广微信网站公司备案证查询网站查询
  • 城乡建设厅建筑特种作业证书查询商城网站怎么做优化
  • 网站运营合同wordpress怎么上传音频
  • 查备案怎么查询宁波seo推广报价多少