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

常用的网站推广方法优秀网剧

常用的网站推广方法,优秀网剧,推广方式有哪些,精品成品网站入口#x1f496;专栏简介 ✔️本专栏将从Camunda(卡蒙达) 7中的关键概念到实现中国式工作流相关功能。 ✔️文章中只包含演示核心代码及测试数据#xff0c;完整代码可查看作者的开源项目snail-camunda ✔️请给snail-camunda 点颗星吧#x1f618; #x1f496;说在前面 … 专栏简介 ✔️本专栏将从Camunda(卡蒙达) 7中的关键概念到实现中国式工作流相关功能。 ✔️文章中只包含演示核心代码及测试数据完整代码可查看作者的开源项目snail-camunda ✔️请给snail-camunda 点颗星吧 说在前面 请无视标题无论是或签还是比例签都是会签只是该节点通过的规则不同。本文将演示会签通过的三种规则【所有人审批通过】、【一人审批通过】、【按比例投票】。 注意设置的是通过规则对于驳回操作均为一人驳回则驳回。 设计流程定义 在《认识BPMN2.0》中提及用户任务可以直接分配给单个用户、用户列表或组列表本文将演示分配给单个用户、用户列表两种方式用户组在后续文章中也会演示。 以下变量名是在整个过程中比较重要的结合示例理解并使用 nrOfInstances : 实例总数nrOfActiveInstances当前活动的实例的数量。对于串行而言该值始终为1nrOfCompletedInstances已经完成的实例数loopCounter 循环计数器Loop cardinality循环基数Collection会签人数的集合Element variable变量元素。选择Collection时必选为collection集合每次遍历的元素。Completion condition完成条件 用户任务分配给单个用户可按如下图所示设置 一人通过 通常被称为【或签】设置完成条件 ${nrOfCompletedInstances 1} 还需注意变量元素名和Assignee中设置的变量名保持一致。类似于在Java中的fori循环变量名是i使用该变量时也应该用i。 比例通过和全部通过就不截图了完成条件分别改为 //已完成的实例数占总实例数的三成以上就算通过 ${nrOfCompletedInstances/nrOfInstances 0.3} //已完成的实例数 等于 总实例数才算通过 ${nrOfCompletedInstances nrOfInstances} 好吧直接把流程定义放上来 ?xml version1.0 encodingUTF-8? bpmn:definitions xmlns:bpmnhttp://www.omg.org/spec/BPMN/20100524/MODEL xmlns:bpmndihttp://www.omg.org/spec/BPMN/20100524/DI xmlns:dchttp://www.omg.org/spec/DD/20100524/DC xmlns:camundahttp://camunda.org/schema/1.0/bpmn xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:dihttp://www.omg.org/spec/DD/20100524/DI xmlns:modelerhttp://camunda.org/schema/modeler/1.0 idDefinitions_1o78fuh targetNamespacehttp://bpmn.io/schema/bpmn exporterCamunda Modeler exporterVersion5.19.0 modeler:executionPlatformCamunda Platform modeler:executionPlatformVersion7.20.0bpmn:process idProcess_19w1rrm isExecutabletrue camunda:historyTimeToLive180bpmn:startEvent idStartEvent_1bpmn:outgoingFlow_0g1nmt1/bpmn:outgoing/bpmn:startEventbpmn:sequenceFlow idFlow_0g1nmt1 sourceRefStartEvent_1 targetRefroot /bpmn:userTask idroot name发起人 camunda:assignee${initiator}bpmn:incomingFlow_0g1nmt1/bpmn:incomingbpmn:outgoingFlow_178rknz/bpmn:outgoing/bpmn:userTaskbpmn:sequenceFlow idFlow_178rknz sourceRefroot targetRefActivity_0163wxf /bpmn:userTask idActivity_0163wxf name一人通过 camunda:assignee${assignee}bpmn:incomingFlow_178rknz/bpmn:incomingbpmn:outgoingFlow_1t1uand/bpmn:outgoingbpmn:multiInstanceLoopCharacteristics camunda:collection${userOneList} camunda:elementVariableassigneebpmn:completionCondition xsi:typebpmn:tFormalExpression${nrOfCompletedInstances 1}/bpmn:completionCondition/bpmn:multiInstanceLoopCharacteristics/bpmn:userTaskbpmn:sequenceFlow idFlow_1t1uand sourceRefActivity_0163wxf targetRefActivity_1hgbacv /bpmn:userTask idActivity_1hgbacv name比例通过 camunda:assignee${assignee}bpmn:incomingFlow_1t1uand/bpmn:incomingbpmn:outgoingFlow_1giv9ue/bpmn:outgoingbpmn:multiInstanceLoopCharacteristics camunda:collection${userTwoList} camunda:elementVariableassigneebpmn:completionCondition xsi:typebpmn:tFormalExpression${nrOfCompletedInstances/nrOfInstances gt; 0.3 }/bpmn:completionCondition/bpmn:multiInstanceLoopCharacteristics/bpmn:userTaskbpmn:userTask idActivity_14cwgmh name全部通过 camunda:assignee${assignee}bpmn:incomingFlow_1giv9ue/bpmn:incomingbpmn:outgoingFlow_0xb5gog/bpmn:outgoingbpmn:multiInstanceLoopCharacteristics camunda:collection${userThreeList} camunda:elementVariableassigneebpmn:completionCondition xsi:typebpmn:tFormalExpression${nrOfCompletedInstances nrOfInstances}/bpmn:completionCondition/bpmn:multiInstanceLoopCharacteristics/bpmn:userTaskbpmn:endEvent idEvent_0a7muzcbpmn:incomingFlow_0xb5gog/bpmn:incoming/bpmn:endEventbpmn:sequenceFlow idFlow_0xb5gog sourceRefActivity_14cwgmh targetRefEvent_0a7muzc /bpmn:sequenceFlow idFlow_1giv9ue sourceRefActivity_1hgbacv targetRefActivity_14cwgmh //bpmn:processbpmndi:BPMNDiagram idBPMNDiagram_1bpmndi:BPMNPlane idBPMNPlane_1 bpmnElementProcess_19w1rrmbpmndi:BPMNShape id_BPMNShape_StartEvent_2 bpmnElementStartEvent_1dc:Bounds x179 y99 width36 height36 //bpmndi:BPMNShapebpmndi:BPMNShape idActivity_0fh3xaa_di bpmnElementrootdc:Bounds x270 y77 width100 height80 /bpmndi:BPMNLabel //bpmndi:BPMNShapebpmndi:BPMNShape idActivity_06ae8hl_di bpmnElementActivity_0163wxfdc:Bounds x430 y77 width100 height80 /bpmndi:BPMNLabel //bpmndi:BPMNShapebpmndi:BPMNShape idActivity_0edrq19_di bpmnElementActivity_1hgbacvdc:Bounds x590 y77 width100 height80 /bpmndi:BPMNLabel //bpmndi:BPMNShapebpmndi:BPMNShape idActivity_1j25q3g_di bpmnElementActivity_14cwgmhdc:Bounds x760 y77 width100 height80 /bpmndi:BPMNLabel //bpmndi:BPMNShapebpmndi:BPMNShape idEvent_0a7muzc_di bpmnElementEvent_0a7muzcdc:Bounds x912 y99 width36 height36 //bpmndi:BPMNShapebpmndi:BPMNEdge idFlow_0g1nmt1_di bpmnElementFlow_0g1nmt1di:waypoint x215 y117 /di:waypoint x270 y117 //bpmndi:BPMNEdgebpmndi:BPMNEdge idFlow_178rknz_di bpmnElementFlow_178rknzdi:waypoint x370 y117 /di:waypoint x430 y117 //bpmndi:BPMNEdgebpmndi:BPMNEdge idFlow_1t1uand_di bpmnElementFlow_1t1uanddi:waypoint x530 y117 /di:waypoint x590 y117 //bpmndi:BPMNEdgebpmndi:BPMNEdge idFlow_0xb5gog_di bpmnElementFlow_0xb5gogdi:waypoint x860 y117 /di:waypoint x912 y117 //bpmndi:BPMNEdgebpmndi:BPMNEdge idFlow_1giv9ue_di bpmnElementFlow_1giv9uedi:waypoint x690 y117 /di:waypoint x760 y117 //bpmndi:BPMNEdge/bpmndi:BPMNPlane/bpmndi:BPMNDiagram /bpmn:definitions 部署流程定义 在resources下新建目录bpmn用于存放流程定义文件启动项目后调用部署接口 /*** 流程定义相关接口* author lonewalker*/ RequestMapping(/process/definition) AllArgsConstructor RestController public class ProcessDefinitionController {private final RepositoryService repositoryService;/*** 部署流程定义** return 提示信息*/PostMapping(/deploy)public String deployProcessDefinition(){repositoryService.createDeployment().addClasspathResource(bpmn/2.bpmn).name(演示).deploy();return 部署成功;} } 流程实例测试 /*** 流程实例相关接口** author lonewalker*/ RequestMapping(/process/instance) RequiredArgsConstructor RestController public class ProcessInstanceController {private final RuntimeService runtimeService;private final TaskService taskService;/*** 根据流程定义key发起流程实例** param requestParam 请求参数* return 流程实例id*/PostMapping(/startProcessInstanceByKey)public String startProcessInstanceByKey(RequestBody StartProcessRequest requestParam) {MapString, Object paramMap new HashMap(8);ListString userOneList new ArrayList();ListString userTwoList new ArrayList();ListString userThreeList new ArrayList();//一人通过节点的审批人userOneList.add(10086);userOneList.add(10087);//比例通过节点的审批人userTwoList.add(10087);userTwoList.add(10088);userTwoList.add(10089);userTwoList.add(10090);userTwoList.add(10091);//全部通过节点的审批人userThreeList.add(10090);userThreeList.add(10091);paramMap.put(initiator, 10086);paramMap.put(userOneList, userOneList);paramMap.put(userTwoList, userTwoList);paramMap.put(userThreeList, userThreeList);ProcessInstance processInstance runtimeService.startProcessInstanceByKey(requestParam.getProcessDefinitionKey(), requestParam.getBusinessKey(), paramMap);return processInstance.getProcessInstanceId();}/*** 完成单个任务** param requestParam 请求参数* return 任务所在节点信息*/PostMapping(/completeSingleTask)public Boolean completeSingleTask(RequestBody Validated CompleteTaskRequest requestParam) {taskService.complete(requestParam.getTaskId());return true;} } 发起流程实例后让流程来到【一人通过】节点 在【比例通过】节点设置完成条件是通过人数占总人数的三成所以只需两个人审批通过即通过 两人审批通过后是符合预期来到最后一个节点 查看任务的历史表【act_hi_taskinst】两个任务被完成其他任务则被删除了。 扩展 多实例节点可以配置串行或并行。三条垂直线表示实例将并行执行而三条水平线表示顺序执行。 该部分就不单独做演示了。
http://www.zqtcl.cn/news/703268/

相关文章:

  • 传媒公司取名seo网站推广怎么收费
  • 网站建设具体详细过程WordPress usdt收款
  • 网站标题应怎设置生产备案号怎么查询网站
  • 怎样建立网站目录结构网站 项目方案
  • jsp做网站还响应式科技公司网站模板
  • 杭州网站建设设计公司做阀门网站
  • 用模板建站青岛企业网站制作公司
  • 网站建设经费预算表辽宁工程建设招标网
  • sql数据库查询网站模板谷歌浏览器网页版入口
  • 成都h5建站市场监督管理局举报电话
  • 百度推广弄个网站头像要钱吗?最新新闻热点素材
  • 江苏做网站找谁wordpress主题设置插件
  • 郑州微信网站开发建筑网招工平台
  • 给网站挂黑链普工招聘最新招聘信息
  • 重庆推广网站排名价格上海房产信息网官网
  • 深圳网站公司制作网络公司排名
  • 郑州高端做网站网页制作与网站建设实战大全光盘
  • 科技网站制作公司免费模板建站网站
  • 网页排版精美的中文网站单页设计软件
  • 图书馆网站建设情况会员卡管理系统价格
  • 网站建设的通知沈阳品牌设计公司
  • html5网站框架宝安网站建设深圳信科
  • 做网站单页分销电商平台开发
  • 吉林网站备案南京网站开发选南京乐识好
  • 某网站建设方案纯文本网站连接
  • 怎样做网页游戏网站智通人才网东莞最新招聘信息官网
  • 中英文网站建设wordpress 旅行
  • ic商城网站建设南大资源分享wordpress
  • 永兴集团网站织梦网站模板下载
  • html怎么做网站地图柳州小程序制作公司