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

做内衣的网站好软件开发工程师考核指标

做内衣的网站好,软件开发工程师考核指标,用电脑建设个人网站 并用手机访问,成都住建局官网报名入口网址在多种工作流引擎中,Camunda框架对流程的处理控制更为强大、灵活。 在应对流程节点按业务需要进行自由跨节点跳转的需求时,通过代码自由控制节点的跳转在Camunda中是支持的,并且提供了编码方法,其中多实例的处理上有一些区别要特…

在多种工作流引擎中,Camunda框架对流程的处理控制更为强大、灵活。

在应对流程节点按业务需要进行自由跨节点跳转的需求时,通过代码自由控制节点的跳转在Camunda中是支持的,并且提供了编码方法,其中多实例的处理上有一些区别要特别注意:

1、单实例节点,或者不是基于集合配置的多实例节点。

2、多实例 userTask 节点,在 <multiInstanceLoopCharacteristics ...> 中通过配置 collectionelementVariableuserTask 提供 assignee 变量引用的。

其中第1点,跳转节点的主要代码片段如下:

ProcessInstance processInstance = ...;
runtimeService.createProcessInstanceModification(processInstance.getId()).cancelAllForActivity("Activity_8dsxc8ds") // 取消当前节点所有活动中的Task任务(可选使用).startBeforeActivity("Activity_0qsw8c1") // 目标节点Id,在流程图中看,固定值(一般起一个正规的名字).setVariable("带入所需变量key", "变量值Object类型").execute();

如果多实例活动是基于集合配置的,则执行 startBeforeActivity 指令时不会考虑集合,并且不会为附加实例填充集合元素变量,针对这种情况,需要使用下面的处理方法。

第2点,基于集合的多实例跳转节点的跳转时,需要在节点Id后追加特定字符串 #multiInstanceBody,示例如下:

ProcessInstance processInstance = ...;
runtimeService.createProcessInstanceModification(processInstance.getId()).cancelAllForActivity("Activity_8dsxc8ds").startBeforeActivity("Activity_0qsw8c1#multiInstanceBody") // 目标节点是多实例节点,节点Id后面必须增加后缀 #multiInstanceBody.setVariable("带入所需变量key", "变量值Object类型").execute();

注:对于目标节点是多实例的节点,如果不在节点Id后面追加框架约定的字符串 #multiInstanceBody,则不能自动执行触发多实例节点配置的 <multiInstanceLoopCharacteristics .... > 中的集合变量处理。

对于如何判断一个节点是多实例节点,可以参考使用下面我写好的一个判断方法:

    /*** 判断一个节点是否为多实例节点* * @param repositoryService 可以注入Camunda对象直接使用* @param processDefinitionId 流程定义Id* @param activityId 节点Id* @return 是否多实例节点*/public boolean isMultiInstanceActivity(RepositoryService repositoryService, String processDefinitionId, String activityId){boolean isMultiInstanceActivity = false;BpmnModelInstance bpmnModelInstance = repositoryService.getBpmnModelInstance(processDefinitionId);Optional<Process> processOptional =bpmnModelInstance.getModelElementsByType(Process.class).stream().filter(p -> p.getId().equals(processDefinitionId)).findFirst();if(processOptional.isPresent()){Process process = processOptional.get();Optional<FlowElement> activityOptional = process.getFlowElements().stream().filter(flowElement -> flowElement.getId().equals(activityId)).findFirst();if(activityOptional.isPresent()){isMultiInstanceActivity =CollectionUtils.isEmpty(activityOptional.get().getChildElementsByType(MultiInstanceLoopCharacteristics.class));}}return isMultiInstanceActivity;}

官方参考文档:https://docs.camunda.org/manual/7.19/user-guide/process-engine/process-instance-modification/#modify-multi-instance-activity-instances


(END)

http://www.yayakq.cn/news/683786/

相关文章:

  • 江门市做网站网站开发框架 Wordpress
  • 万户网站天下廊坊论坛网站建设
  • 网站制作上哪学校个人网站建设营销推广
  • 网络站点推广的方法有哪些画册设计规范
  • 常州网站开发公司怎么样分析一个网站
  • 建设一个网站多钱推广计划描述
  • 海淀网站建设wzjs51沧州网页制作
  • 家居设计网站推荐深圳做网站设计
  • 网站模板怎么打开网站页面布局模板
  • 建设网站需要的资质证书公司排名100强
  • 网站建设中文百在线制作logo设计
  • 家政的网站怎么做电子商务网站建设 教学大纲
  • 番禺建设网站企业购物网站开发教程+视频
  • 手机网站与微信结合昆明做网站建设价位
  • 互联网怎么做网站财务公司管理办法
  • 电子商务网站建设外包服务免费建电子商务网站
  • html网站头部如何制作哪里的网站建设
  • 深圳网站建设哪个最好万网主机网站建设视频
  • 时光轴网站模板国外wordpress模板下载
  • 我的世界做弊端网站应用商店下载免费
  • 国外做仿牌网站中文域名注册收费标准
  • 为什么我有的网站打不开绿色模板网站
  • 自考都到哪个网站找题做北京公司网站建
  • 网站安全防护网站推广公司排行榜
  • 福州网站建设思企副标题wordpress
  • 织梦网站怎么关闭嘉兴做网站的公司
  • 网站建设宣传wordpress文章静态化
  • 网站 如何添加备案号芜湖网站开发公司
  • 宁波网站建设公司立找亿企邦外贸seo网站大全
  • 承德网站建设电话wordpress模板游戏推广