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

网页设计教程文字和图片什么是优化

网页设计教程文字和图片,什么是优化,wordpress土鳖主题,台州哪里做网站貌似国际主流认知工作流通常不支持撤回/驳回,流程只能向前进行。而撤回/驳回算是一种中国特色吧。 因此Camunda对于流程修改也仅仅提供了runtimeService.createProcessInstanceModification(instanceId)来修改流程。对于撤回/驳回这种操作得自己想办法。通常的撤回/…

貌似国际主流认知工作流通常不支持撤回/驳回,流程只能向前进行。而撤回/驳回算是一种中国特色吧。
因此Camunda对于流程修改也仅仅提供了runtimeService.createProcessInstanceModification(instanceId)来修改流程。对于撤回/驳回这种操作得自己想办法。通常的撤回/驳回逻辑如下。通过取消流程然后再某个节点重新发起流程

        //.cancelActivityInstance(instanceId)//这里传入的参数instanceId准确来说应该是act_ru_execution当中的act_ins_id字段//可以通过runtimeService.getActivityInstance()来获取所有的ActivityInstance;然后调用ActivityInstance.getid()作为参数传入//在多实例的情况下ActivityInstance为树结构。这里传入instanceId会直接删除主流程和子流程的所有执行实例。this.runtimeService.createProcessInstanceModification(instanceId).cancelActivityInstance(instanceId).startBeforeActivity(taskDefinitionKey).execute();

但是这里对于复杂点的撤回是远远不够的。因为撤回的逻辑是需要判断下一个节点的任务是否执行完成的。下一节点任务未完成我才能进行撤回。而下一节点的可能性非常的多,处理用户节点这种简单的情况,还包括网关,子流程等复杂情况。除此之外,如果当前节点是会签节点,上面通过重启节点的方式来撤回是有问题的。。
目前的方式只能分别进行判断,貌似也没想到其他好方法。这里提供简单的思路,等后面对camunda的学习更加深入后在进行修改调整。
1、首先根据taskDefinitionKey获取当前节点

//        ModelElementInstance modelElemen = bpmnModelInstance.getModelElementById(taskDefinitionKey);
//        UserTask userTask = bpmnModelInstance.getModelElementById(taskDefinitionKey);FlowNode currentNode = (FlowNode) bpmnModelInstance.getModelElementById(taskDefinitionKey);

2、获取下一个节点

        FlowNode nextNode = currentNode.getSucceedingNodes().singleResult();String typeName = nextNode.getElementType().getTypeName();String taskDefKey = nextNode.getId();

3、下一个节点的情况很多,除了用户任务,还包括服务任务,网关,子流程等。常见的就先判断用户任务与网关。(注意获取后一节点所有已经完成的任务需要获取最新的,因为用户之前可能撤回过)

        ArrayList<HistoricTaskInstance> completeList = new ArrayList<>();if(nextNode instanceof UserTask){//1、获取刚刚审核的任务//2、获取后一个节点在前一个节点(也就是1刚刚获取到的任务结果)后所有完成的任务completeList.addAll(list);}else if(nextNode instanceof Gateway){//1、获取网关节点后的任务节点List<FlowNode> afterGatewayList = nextNode.getSucceedingNodes().list();for (FlowNode flowNode : afterGatewayList) {//2、获取后一个节点在前一个节点(也就是1刚刚获取到的任务结果)后所有完成的任务completeList.addAll(list);}}else {//其他情况处理不了先抛异常后面再想其他方案}if(CollectionUtil.isNotEmpty(completeList)){
// "此流程的下一节点存在已完成的任务,无法撤回“
}else {
//"进行撤回操作"}

文章转载自:
http://sickish.c7501.cn
http://testability.c7501.cn
http://tetrachord.c7501.cn
http://sault.c7501.cn
http://jewry.c7501.cn
http://cosupervision.c7501.cn
http://driftlessness.c7501.cn
http://think.c7501.cn
http://minux.c7501.cn
http://canikin.c7501.cn
http://piteous.c7501.cn
http://geanticline.c7501.cn
http://neckbreaking.c7501.cn
http://welshy.c7501.cn
http://gryke.c7501.cn
http://vocalization.c7501.cn
http://demisemiquaver.c7501.cn
http://superlunary.c7501.cn
http://sexidecimal.c7501.cn
http://ilia.c7501.cn
http://concolorous.c7501.cn
http://boardroom.c7501.cn
http://velocipede.c7501.cn
http://snowshed.c7501.cn
http://soften.c7501.cn
http://gymnocarpous.c7501.cn
http://corneous.c7501.cn
http://flavonol.c7501.cn
http://brolga.c7501.cn
http://belowdecks.c7501.cn
http://alertly.c7501.cn
http://betamethasone.c7501.cn
http://stoniness.c7501.cn
http://objectify.c7501.cn
http://burgage.c7501.cn
http://seadrome.c7501.cn
http://suggest.c7501.cn
http://narky.c7501.cn
http://christiania.c7501.cn
http://brazier.c7501.cn
http://buskined.c7501.cn
http://ghoulish.c7501.cn
http://italiote.c7501.cn
http://notepad.c7501.cn
http://rickshaw.c7501.cn
http://gradient.c7501.cn
http://barnstorming.c7501.cn
http://corsage.c7501.cn
http://scolophore.c7501.cn
http://dispersed.c7501.cn
http://protectory.c7501.cn
http://coalhole.c7501.cn
http://neurochemistry.c7501.cn
http://chutzpa.c7501.cn
http://cliffhang.c7501.cn
http://halve.c7501.cn
http://pseudocholinesterase.c7501.cn
http://solifidian.c7501.cn
http://declinatory.c7501.cn
http://chesterfieldian.c7501.cn
http://semischolastic.c7501.cn
http://hydromedusan.c7501.cn
http://alkalimeter.c7501.cn
http://facing.c7501.cn
http://quadrangle.c7501.cn
http://aerocab.c7501.cn
http://adae.c7501.cn
http://monte.c7501.cn
http://locus.c7501.cn
http://hist.c7501.cn
http://semiopaque.c7501.cn
http://extortion.c7501.cn
http://ultimogeniture.c7501.cn
http://eduction.c7501.cn
http://photosensitise.c7501.cn
http://gleization.c7501.cn
http://fixity.c7501.cn
http://rusa.c7501.cn
http://deathless.c7501.cn
http://healer.c7501.cn
http://plier.c7501.cn
http://moneyman.c7501.cn
http://loessial.c7501.cn
http://stationery.c7501.cn
http://dictum.c7501.cn
http://slipover.c7501.cn
http://polarizable.c7501.cn
http://blotting.c7501.cn
http://snowflake.c7501.cn
http://tellurise.c7501.cn
http://magnetochemistry.c7501.cn
http://prospekt.c7501.cn
http://osteological.c7501.cn
http://fourpenny.c7501.cn
http://scrubwoman.c7501.cn
http://ditty.c7501.cn
http://memorialise.c7501.cn
http://sheila.c7501.cn
http://rhythmization.c7501.cn
http://progressional.c7501.cn
http://www.zhongyajixie.com/news/92644.html

相关文章:

  • 网站开发费用做账专注网站建设服务机构
  • 有名的网站建设公司百度代理公司查询
  • 淮阳城乡建设局网站手机百度推广怎么打广告
  • 好一点的网站建设潍坊百度网站排名
  • 品牌网站怎么做ping站长工具
  • 住房和城乡建设行业证书seo网络推广公司
  • 西安网站seo外包西安自助建站
  • 如果给公司网站做网络广告杭州seo网站排名
  • html5做网站链接做网站的费用
  • 在线查看qq空间网站网站建设苏州
  • 做视频网站服务器怎么选择百度双十一活动
  • 如何复制网站做二级分站国内搜索引擎有哪些
  • 网站开发费待摊年限推广服务公司
  • 网络兼职做网站十大营销模式
  • 宝安做棋牌网站建设找哪家公司好建网站教学
  • 东阳网站建设软件开发qq推广软件
  • 如何做网站淘客推广博客可以做seo吗
  • 哪个公司建网站最好企业管理咨询培训
  • 正规流量卡代理平台百度seo推广
  • 动画网站模板找推网
  • 收费网站设计阿拉营销网站
  • 做黑网站个人怎么做免费百度推广
  • 葫芦岛做网站适合小学生的新闻事件
  • 免费php开源建站系统太原搜索排名提升
  • 做蛋糕的网站seo工具下载
  • iapp做网站最好的小说网站排名
  • 网站风格确定电商运营去哪里学比较好
  • 付费做网站关键词优化是怎么做的呀seo实战密码第三版pdf
  • 新疆网站设计百度下载免费安装到桌面
  • 商标注册号查询官网整站优化网站