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

宁波正规网站seo公司技术培训ui设计

宁波正规网站seo公司,技术培训ui设计,WordPress国外音乐播放器,办公网新闻上传网站开发网关#xff08;ExclusiveGateWay#xff09; 作者#xff1a;邓家海2018年3月11日 00:13:25 情景:某一家公司最近在给一个单位做一个财务审批的OA。具体需求是这样的#xff1a;当部门申请的金额小于一万块的时候#xff0c;财务部可以直接决策。当部分申请的金额大于一万…网关ExclusiveGateWay 作者邓家海2018年3月11日 00:13:25 情景:某一家公司最近在给一个单位做一个财务审批的OA。具体需求是这样的当部门申请的金额小于一万块的时候财务部可以直接决策。当部分申请的金额大于一万块并且小于三十万的时候财务部经理决策当金额超出了或者等于三十万的时候需要财务主管来决策。那么我们的工作流应该如何设计呢也许有人会说这不简单小于一万直接发送到财务部大于一万小于三十直接给财务经理。其他就发给财务主管。你是否注意到其实这样字可以存在审批漏洞。打个比方我跟部门一个哥们非常好我又想申请大于一万的经费。我是不是可以直接越过领导发送给我哥们让他给我放款。再或者来了一个新人新人并不知道这个申请的规则申请几块钱也发给了财务主管财务主管非常生气的说我很忙的没空给你处理这些蒜皮小事。分析工作流的作用无非就是自动化规范化。形成一整套的流程。制定好一些列规则后能够严格遵守这些规则来处理任务。很多一些国产的工作流很灵活但是审核机制或者工作机制很不严谨。我是不怎么理解这些工作流中国化的。当然客户是上帝客户说了算。我们这里以BPMN2.0的标准。就可以使用排他网关来实现我们的需求。关于排他网关1 排他网关exclusive gateway 经常使用流程变量决定流程下一步要选择的路径2 排他网关也叫异或网关 XOR gateway或者更专业的基于数据的排他网关 exclusive data¬based gateway用于为流程中的决策建模。3 当执行到达这个网关时所有出口顺序流会按照它们定义的顺序进行计算。条件计算为true的顺序流当没有设置条件时认为顺序流定义为true会被选择用于继续流程。4 用排他网关时只会选择一条顺序流。当多条顺序 流的条件都计算为true时其中在XML中定义的第一条也只有这条会被选择用于继续流程。如果没有可选的顺序流会抛出异常。5 排他网关用内部带有’X’图标的标准网关菱形表示X’图标代表异或XOR的含义。请注意内部没有图标的网关默认为排他网关。BPMN 2.0规范不允许在同一个流程中混合使用带有及没有X的菱形标志6 一个排他网关对应一个以上的顺序流 图1 排他网关 说明网关是一个菱形◇排他网关就是菱形里面加个X’X’图标代表异或XOR的含义 图2 默认顺序流 说明默认顺序流用起点带有“斜线”标记的一般顺序流表示。活动的默认顺序流由该活动的default属性定义。当其他连线计算都为false的时候才会走默认顺序流。 排他网关的实现 关于资金申请审批流程。步骤一设计流程图 我们这里设置一个发起部门就是资金发起申请部门流程申请的流程1 小于或者等于一万的直接走财务审批即可2 大于一万小于三十万的需要财务经理审批。3 大于或者等于三十万的需要爱财务主管审批。 图3 排他网关设计 步骤二并设置表达式 Activiti里面设置表达式可以用ELExpression Language表达式。。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言它提供了在 JSP 中简化表达式的方法让Jsp的代码更加简化。EL不在本章节的讨论范围内需要了解的可以自行找资料。1、语法结构${expression}2、[ ]与.运算符EL 提供“.“和“[ ]“两种运算符来存取数据。当要存取的属性名称中包含一些特殊字符如 . 或 - 等并非字母或数字的符号就一定要使用“[ ]“。例如${ user. My-Name}应当改为${user[My-Name]}如果要动态取值时就可以用“[ ]“来做而“.“无法做到动态取值。例如${sessionScope.user[data]}中data 是一个变量 表达式一${money1money30}   图4 设置表达式 表达式二${money30}   图6 设置表达式 无表达式默认默认是指其他其他条件都不满足的条件下走默认路线。   图7 设置表达式 流程图代码 1 ?xml version1.0 encodingUTF-8?2 definitions xmlnshttp://www.omg.org/spec/BPMN/20100524/MODEL xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:xsdhttp://www.w3.org/2001/XMLSchema xmlns:activitihttp://activiti.org/bpmn xmlns:bpmndihttp://www.omg.org/spec/BPMN/20100524/DI xmlns:omgdchttp://www.omg.org/spec/DD/20100524/DC xmlns:omgdihttp://www.omg.org/spec/DD/20100524/DI typeLanguagehttp://www.w3.org/2001/XMLSchema expressionLanguagehttp://www.w3.org/1999/XPath targetNamespacehttp://www.activiti.org/processdef3 process idprocess isExecutabletrue4 startEvent idsid-7FF420A9-E0A3-435A-8C64-17F4948E169F /5 userTask idsid-77BDF7D7-590C-421B-AE15-8BA17A6C37BB name部门 activiti:assigneeadmin /6 exclusiveGateway idsid-8E4A81E5-2B71-4397-A8F1-242C7B0F4DC9 defaultsid-21324A76-AD4C-4B76-989A-4870D2AACA3C /7 userTask idsid-E53B2318-C85B-442F-9DA7-56E96341FB79 name财务经理 activiti:assigneeadmin /8 userTask idsid-E974CD46-11DC-4860-B277-E452C97D4487 name财务主管 activiti:assigneeadmin /9 endEvent idsid-6E6E0074-2729-4217-B273-938DE98CF5BE / 10 sequenceFlow idsid-48D646A3-2C45-4F83-9BAF-0ABECFE842D0 sourceRefsid-E53B2318-C85B-442F-9DA7-56E96341FB79 targetRefsid-6E6E0074-2729-4217-B273-938DE98CF5BE / 11 sequenceFlow idsid-B8EA0191-9F35-4D09-BEA6-EF41420A86ED sourceRefsid-7FF420A9-E0A3-435A-8C64-17F4948E169F targetRefsid-77BDF7D7-590C-421B-AE15-8BA17A6C37BB / 12 sequenceFlow idsid-4298366E-F857-4818-8570-DDF1DA7F41AF sourceRefsid-77BDF7D7-590C-421B-AE15-8BA17A6C37BB targetRefsid-8E4A81E5-2B71-4397-A8F1-242C7B0F4DC9 / 13 userTask idsid-8DE1277A-5CAA-4576-A7CD-55E6272B0A6C name财务 activiti:assigneeadmin / 14 sequenceFlow idsid-4C05BAAF-2FBC-4220-B832-52FFEED2A855 sourceRefsid-8DE1277A-5CAA-4576-A7CD-55E6272B0A6C targetRefsid-6E6E0074-2729-4217-B273-938DE98CF5BE / 15 sequenceFlow idsid-21324A76-AD4C-4B76-989A-4870D2AACA3C name默认 sourceRefsid-8E4A81E5-2B71-4397-A8F1-242C7B0F4DC9 targetRefsid-8DE1277A-5CAA-4576-A7CD-55E6272B0A6C / 16 sequenceFlow idsid-8D92C614-D1B7-4AF9-9489-F7AAA9732868 sourceRefsid-E974CD46-11DC-4860-B277-E452C97D4487 targetRefsid-6E6E0074-2729-4217-B273-938DE98CF5BE / 17 sequenceFlow idsid-838AEA2C-C494-4830-B78F-20EBA96ECB43 name金额lt;30万且大于1万 sourceRefsid-8E4A81E5-2B71-4397-A8F1-242C7B0F4DC9 targetRefsid-E53B2318-C85B-442F-9DA7-56E96341FB79 18 conditionExpression xsi:typetFormalExpression![CDATA[${money1money30}]]/conditionExpression 19 /sequenceFlow 20 sequenceFlow idsid-D916A9B9-DC9A-4FC1-BB6B-377520F5F7FC name金额30万 sourceRefsid-8E4A81E5-2B71-4397-A8F1-242C7B0F4DC9 targetRefsid-E974CD46-11DC-4860-B277-E452C97D4487 21 conditionExpression xsi:typetFormalExpression![CDATA[${money30}]]/conditionExpression 22 /sequenceFlow 23 /process 24 bpmndi:BPMNDiagram idBPMNDiagram_process 25 bpmndi:BPMNPlane bpmnElementprocess idBPMNPlane_process 26 bpmndi:BPMNShape bpmnElementsid-7FF420A9-E0A3-435A-8C64-17F4948E169F idBPMNShape_sid-7FF420A9-E0A3-435A-8C64-17F4948E169F 27 omgdc:Bounds height30.0 width30.0 x105.0 y155.0 / 28 /bpmndi:BPMNShape 29 bpmndi:BPMNShape bpmnElementsid-77BDF7D7-590C-421B-AE15-8BA17A6C37BB idBPMNShape_sid-77BDF7D7-590C-421B-AE15-8BA17A6C37BB 30 omgdc:Bounds height80.0 width100.0 x202.0 y130.0 / 31 /bpmndi:BPMNShape 32 bpmndi:BPMNShape bpmnElementsid-8E4A81E5-2B71-4397-A8F1-242C7B0F4DC9 idBPMNShape_sid-8E4A81E5-2B71-4397-A8F1-242C7B0F4DC9 33 omgdc:Bounds height40.0 width40.0 x360.0 y150.0 / 34 /bpmndi:BPMNShape 35 bpmndi:BPMNShape bpmnElementsid-E53B2318-C85B-442F-9DA7-56E96341FB79 idBPMNShape_sid-E53B2318-C85B-442F-9DA7-56E96341FB79 36 omgdc:Bounds height80.0 width100.0 x525.0 y0.0 / 37 /bpmndi:BPMNShape 38 bpmndi:BPMNShape bpmnElementsid-E974CD46-11DC-4860-B277-E452C97D4487 idBPMNShape_sid-E974CD46-11DC-4860-B277-E452C97D4487 39 omgdc:Bounds height80.0 width100.0 x540.0 y130.0 / 40 /bpmndi:BPMNShape 41 bpmndi:BPMNShape bpmnElementsid-6E6E0074-2729-4217-B273-938DE98CF5BE idBPMNShape_sid-6E6E0074-2729-4217-B273-938DE98CF5BE 42 omgdc:Bounds height28.0 width28.0 x735.0 y156.0 / 43 /bpmndi:BPMNShape 44 bpmndi:BPMNShape bpmnElementsid-8DE1277A-5CAA-4576-A7CD-55E6272B0A6C idBPMNShape_sid-8DE1277A-5CAA-4576-A7CD-55E6272B0A6C 45 omgdc:Bounds height80.0 width100.0 x529.0 y254.0 / 46 /bpmndi:BPMNShape 47 bpmndi:BPMNEdge bpmnElementsid-4298366E-F857-4818-8570-DDF1DA7F41AF idBPMNEdge_sid-4298366E-F857-4818-8570-DDF1DA7F41AF 48 omgdi:waypoint x302.0 y170.0 / 49 omgdi:waypoint x360.0 y170.0 / 50 /bpmndi:BPMNEdge 51 bpmndi:BPMNEdge bpmnElementsid-D916A9B9-DC9A-4FC1-BB6B-377520F5F7FC idBPMNEdge_sid-D916A9B9-DC9A-4FC1-BB6B-377520F5F7FC 52 omgdi:waypoint x399.54545454545456 y170.45454545454547 / 53 omgdi:waypoint x540.0 y170.11933174224345 / 54 /bpmndi:BPMNEdge 55 bpmndi:BPMNEdge bpmnElementsid-21324A76-AD4C-4B76-989A-4870D2AACA3C idBPMNEdge_sid-21324A76-AD4C-4B76-989A-4870D2AACA3C 56 omgdi:waypoint x392.2127329192547 y177.78726708074535 / 57 omgdi:waypoint x529.0 y262.89168765743074 / 58 /bpmndi:BPMNEdge 59 bpmndi:BPMNEdge bpmnElementsid-8D92C614-D1B7-4AF9-9489-F7AAA9732868 idBPMNEdge_sid-8D92C614-D1B7-4AF9-9489-F7AAA9732868 60 omgdi:waypoint x640.0 y170.0 / 61 omgdi:waypoint x735.0 y170.0 / 62 /bpmndi:BPMNEdge 63 bpmndi:BPMNEdge bpmnElementsid-838AEA2C-C494-4830-B78F-20EBA96ECB43 idBPMNEdge_sid-838AEA2C-C494-4830-B78F-20EBA96ECB43 64 omgdi:waypoint x392.46923076923076 y162.46923076923076 / 65 omgdi:waypoint x525.0 y73.54755784061696 / 66 /bpmndi:BPMNEdge 67 bpmndi:BPMNEdge bpmnElementsid-4C05BAAF-2FBC-4220-B832-52FFEED2A855 idBPMNEdge_sid-4C05BAAF-2FBC-4220-B832-52FFEED2A855 68 omgdi:waypoint x629.0 y257.52941176470586 / 69 omgdi:waypoint x737.6892144673815 y178.25022003555705 / 70 /bpmndi:BPMNEdge 71 bpmndi:BPMNEdge bpmnElementsid-48D646A3-2C45-4F83-9BAF-0ABECFE842D0 idBPMNEdge_sid-48D646A3-2C45-4F83-9BAF-0ABECFE842D0 72 omgdi:waypoint x625.0 y77.35632183908046 / 73 omgdi:waypoint x737.7845494056976 y161.6206403605787 / 74 /bpmndi:BPMNEdge 75 bpmndi:BPMNEdge bpmnElementsid-B8EA0191-9F35-4D09-BEA6-EF41420A86ED idBPMNEdge_sid-B8EA0191-9F35-4D09-BEA6-EF41420A86ED 76 omgdi:waypoint x135.0 y170.0 / 77 omgdi:waypoint x202.0 y170.0 / 78 /bpmndi:BPMNEdge 79 /bpmndi:BPMNPlane 80 /bpmndi:BPMNDiagram 81 /definitions   步骤三测试 1.如果是大于1万小于30万完成任务代码 1 /**完成我的任务*/2 Test3 public void completeMyPersonalTask(){4 ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();5 String taskId377542;6 MapString,Object variablesnew HashMapString,Object();7 variables.put(money, 20);8 processEngine.getTaskService()//与正在执行的案例管理相关的Service9 .complete(taskId,variables); 10 11 System.out.println(完成任务任务IDtaskId); 12 }     图8 测试流程跟踪 2).如果是大于或者等于30万 1 /**完成我的任务*/2 Test3 public void completeMyPersonalTask(){4 ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();5 String taskId385053;6 MapString,Object variablesnew HashMapString,Object();7 variables.put(money, 40);8 processEngine.getTaskService()//与正在执行的案例管理相关的Service9 .complete(taskId,variables); 10 11 System.out.println(完成任务任务IDtaskId); 12 }     图9 测试流程跟踪 3).如果是小于1万没有满足条件的走默认路径财务 1 /**完成我的任务*/2 Test3 public void completeMyPersonalTask(){4 ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();5 String taskId385048;6 MapString,Object variablesnew HashMapString,Object();7 variables.put(money, 0.2);8 processEngine.getTaskService()//与正在执行的案例管理相关的Service9 .complete(taskId,variables); 10 11 System.out.println(完成任务任务IDtaskId); 12 }     图10 测试流程跟踪 4).如果没有设置金额 1 /**完成我的任务*/2 Test3 public void completeMyPersonalTask(){4 ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();5 String taskId385048;6 //MapString,Object variablesnew HashMapString,Object();7 //variables.put(money, 0.2);8 processEngine.getTaskService()//与正在执行的案例管理相关的Service9 .complete(taskId); 10 11 System.out.println(完成任务任务IDtaskId);   会抛一个异常Unknown property used in expression: ${money1money30} org.activiti.engine.ActivitiException: Unknown property used in expression: ${money1money30} 5.如果没有默认顺序流又没有满足的条件2000   图11 测试流程图设计   1 /**完成我的任务*/2 Test3 public void completeMyPersonalTask(){4 ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();5 String taskId385022;6 MapString,Object variablesnew HashMapString,Object();7 variables.put(money, 0.2);8 processEngine.getTaskService()//与正在执行的案例管理相关的Service9 .complete(taskId,variables); 10 11 System.out.println(完成任务任务IDtaskId); 12 }   会抛异常No outgoing sequence flow of the exclusive gateway org.activiti.engine.ActivitiException: No outgoing sequence flow of the exclusive gateway sid-8E4A81E5-2B71-4397-A8F1-242C7B0F4DC9 could be selected for continuing the process 扩展 假如我部门是确定了但是我的金额可能是随时变动的那么有两种方案第一种全部动态表达式财务经理${moneynum2moneynum3}财务主管${moneynum1}财务${moneynum4} 1 /**完成我的任务*/2 Test3 public void completeMyPersonalTask(){4 ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();5 String taskId385063;6 MapString,Object variablesnew HashMapString,Object();7 variables.put(money, 40);8 variables.put(num1, 30);9 variables.put(num2, 1); 10 variables.put(num3, 30); 11 variables.put(num3, 1); 12 processEngine.getTaskService()//与正在执行的案例管理相关的Service 13 .complete(taskId,variables); 14 15 System.out.println(完成任务任务IDtaskId); 16 }     图12 测试流程跟踪 第二种后台判断设置表达式财务经理${flow”1” }财务主管${flow”2” }财务${flow”3” } 1 Test2 public void completeMyPersonalTask(){3 ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();4 String taskId385072;5 MapString,Object variablesnew HashMapString,Object();6 int money40;7 if(money30){8 variables.put(flow, 1);9 }else if(money1money30){ 10 variables.put(flow, 2); 11 }else{ 12 variables.put(flow, 3); 13 } 14 processEngine.getTaskService()//与正在执行的案例管理相关的Service 15 .complete(taskId,variables); 16 17 System.out.println(完成任务任务IDtaskId); 18 }   图13 测试流程跟踪   Activiti交流QQ群634320089转载于:https://www.cnblogs.com/dengjiahai/p/8542929.html
http://www.zqtcl.cn/news/357373/

相关文章:

  • 杭州做公司网站aso搜索优化
  • 南京越城建设集团网站网站空间续费多少钱
  • 深圳nft网站开发公司如何制作微信公众号里的小程序
  • 做网站美工要学什么聊城网站建设电话
  • 南通个人网站建设快手秒刷自助网站
  • html5 做网站网站开发找工作
  • 聚成网站建设艺术公司网站定制中心
  • 阿里云上可以做网站吗十六局集团门户网
  • 门户网站建设询价函有哪些网站可以做设计挣钱
  • 如何建立自己网站奔奔网站建设
  • 自由做图网站做网站所用的工具
  • 广西南宁做网站专业网站建设案例
  • 视屏网站的审核是怎么做的群辉 搭建wordpress
  • 嘉兴网站快速排名优化衡阳网站建设制作
  • 建设公共资源交易中心网站成都APP,微网站开发
  • dede网站地图修改厦门百度seo
  • 可以做行程的网站网站详情怎么做的
  • 网站建设心得8000字营销型网站建设的注意事项
  • 织梦购物网站整站源码哈尔滨网站建设技术托管
  • 做推广的网站微信号企业免费网站制作
  • 做旅游网站的引言上海公司网站建设哪家好
  • 找项目去哪个网站网站建设一条龙全包
  • 网站 数据库 模板网站系统建设合作合同范本
  • 网站空间租赁费用企业网站建设需要多少钱知乎
  • 免费建网站哪个模板多浅谈学校网站建设
  • 精致的个人网站手机网站建设基本流程图
  • 优秀网站网页设计图片主机屋做网站视频
  • 安徽网站建设电话编程一个最简单游戏代码
  • 西宁圆井模板我自己做的网站在线平面设计图
  • 浦口区网站建设技术指导做软件需要网站吗