<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Flowable_波哥_b站 on 随记</title><link>https://blog.liuyi2026.asia/zh/tags/flowable_%E6%B3%A2%E5%93%A5_b%E7%AB%99/</link><description>Recent content in Flowable_波哥_b站 on 随记</description><generator>Hugo</generator><language>zh</language><lastBuildDate>Thu, 19 May 2022 16:13:44 +0000</lastBuildDate><atom:link href="https://blog.liuyi2026.asia/zh/tags/flowable_%E6%B3%A2%E5%93%A5_b%E7%AB%99/index.xml" rel="self" type="application/rss+xml"/><item><title>boge-03-其他</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/03-others/</link><pubDate>Thu, 19 May 2022 16:13:44 +0000</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/03-others/</guid><description>&lt;h2 id="会签">会签&lt;a class="anchor" href="#%e4%bc%9a%e7%ad%be">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>流程图绘制
&lt;img src="img/ly-20241212142115466.png" alt="ly-20241212142115466" />&lt;/p>
&lt;ul>
&lt;li>
&lt;p>注意上面几个参数&lt;/p>
&lt;ul>
&lt;li>多实例类型用来判断串行并行&lt;/li>
&lt;li>基数（有几个用户处理）&lt;/li>
&lt;li>元素变量&lt;/li>
&lt;li>集合（集合变量）&lt;/li>
&lt;li>完成条件&amp;ndash;这里填的是 ${nrOfCompletedInstances &amp;gt; 1 }&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>在任务监听器
&lt;img src="img/ly-20241212142115672.png" alt="ly-20241212142115672" />&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">package&lt;/span> org.flowable.listener;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> org.flowable.engine.ProcessEngine;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> org.flowable.engine.ProcessEngines;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> org.flowable.engine.TaskService;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> org.flowable.engine.delegate.TaskListener;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> org.flowable.task.api.Task;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">import&lt;/span> org.flowable.task.service.delegate.DelegateTask;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">class&lt;/span> &lt;span style="color:#a6e22e">MultiInstanceTaskListener&lt;/span> &lt;span style="color:#66d9ef">implements&lt;/span> TaskListener {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">@Override&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">notify&lt;/span>(DelegateTask delegateTask) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> System.&lt;span style="color:#a6e22e">out&lt;/span>.&lt;span style="color:#a6e22e">println&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;处理aaaa&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span>(delegateTask.&lt;span style="color:#a6e22e">getEventName&lt;/span>().&lt;span style="color:#a6e22e">equals&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;create&amp;#34;&lt;/span>)) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> System.&lt;span style="color:#a6e22e">out&lt;/span>.&lt;span style="color:#a6e22e">println&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;任务id&amp;#34;&lt;/span> &lt;span style="color:#f92672">+&lt;/span> delegateTask.&lt;span style="color:#a6e22e">getId&lt;/span>());
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> System.&lt;span style="color:#a6e22e">out&lt;/span>.&lt;span style="color:#a6e22e">println&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;哪些人需要会签&amp;#34;&lt;/span> &lt;span style="color:#f92672">+&lt;/span> delegateTask.&lt;span style="color:#a6e22e">getVariable&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;persons&amp;#34;&lt;/span>));
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> System.&lt;span style="color:#a6e22e">out&lt;/span>.&lt;span style="color:#a6e22e">println&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;任务处理人&amp;#34;&lt;/span> &lt;span style="color:#f92672">+&lt;/span> delegateTask.&lt;span style="color:#a6e22e">getVariable&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;person&amp;#34;&lt;/span>));
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ProcessEngine engine &lt;span style="color:#f92672">=&lt;/span> ProcessEngines.&lt;span style="color:#a6e22e">getDefaultProcessEngine&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> TaskService taskService &lt;span style="color:#f92672">=&lt;/span> engine.&lt;span style="color:#a6e22e">getTaskService&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Task task &lt;span style="color:#f92672">=&lt;/span> taskService.&lt;span style="color:#a6e22e">createTaskQuery&lt;/span>().&lt;span style="color:#a6e22e">taskId&lt;/span>(delegateTask.&lt;span style="color:#a6e22e">getId&lt;/span>()).&lt;span style="color:#a6e22e">singleResult&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> task.&lt;span style="color:#a6e22e">setAssignee&lt;/span>(delegateTask.&lt;span style="color:#a6e22e">getVariable&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;person&amp;#34;&lt;/span>).&lt;span style="color:#a6e22e">toString&lt;/span>());
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> taskService.&lt;span style="color:#a6e22e">saveTask&lt;/span>(task);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;ul>
&lt;li>
&lt;p>xml&lt;/p></description></item><item><title>boge-02-flowable进阶_6</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_6/</link><pubDate>Sun, 15 May 2022 16:57:08 +0000</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_6/</guid><description>&lt;h2 id="任务回退-串行回退">任务回退-串行回退&lt;a class="anchor" href="#%e4%bb%bb%e5%8a%a1%e5%9b%9e%e9%80%80-%e4%b8%b2%e8%a1%8c%e5%9b%9e%e9%80%80">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>流程图绘制
&lt;img src="img/ly-20241212142114607.png" alt="ly-20241212142114607" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>xml&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">&amp;lt;?&lt;/span>xml version&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;1.0&amp;#34;&lt;/span> encoding&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;UTF-8&amp;#34;&lt;/span>&lt;span style="color:#f92672">?&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">&amp;lt;&lt;/span>definitions xmlns&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/BPMN/20100524/MODEL&amp;#34;&lt;/span> xmlns:xsi&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34;&lt;/span> xmlns:xsd&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema&amp;#34;&lt;/span> xmlns:flowable&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/bpmn&amp;#34;&lt;/span> xmlns:bpmndi&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/BPMN/20100524/DI&amp;#34;&lt;/span> xmlns:omgdc&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/DD/20100524/DC&amp;#34;&lt;/span> xmlns:omgdi&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/DD/20100524/DI&amp;#34;&lt;/span> typeLanguage&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema&amp;#34;&lt;/span> expressionLanguage&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/1999/XPath&amp;#34;&lt;/span> targetNamespace&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.flowable.org/processdef&amp;#34;&lt;/span> exporter&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;Flowable Open Source Modeler&amp;#34;&lt;/span> exporterVersion&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;6.7.2&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>process id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;reback-key&amp;#34;&lt;/span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;回退处理&amp;#34;&lt;/span> isExecutable&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>documentation&lt;span style="color:#f92672">&amp;gt;&lt;/span>reback&lt;span style="color:#f92672">-&lt;/span>desc&lt;span style="color:#f92672">&amp;lt;/&lt;/span>documentation&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>startEvent id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> flowable:formFieldValidation&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>startEvent&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>userTask id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-D380E41A-48EE-4C08-AD01-1D509C512543&amp;#34;&lt;/span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;用户1&amp;#34;&lt;/span> flowable:assignee&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;user1&amp;#34;&lt;/span> flowable:formFieldValidation&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete xmlns:modeler&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;![&lt;/span>CDATA&lt;span style="color:#f92672">[&lt;/span>&lt;span style="color:#66d9ef">false&lt;/span>&lt;span style="color:#f92672">]]&amp;gt;&amp;lt;/&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>userTask&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>sequenceFlow id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-E2423FC5-F954-43D3-B57C-8460057CB7D6&amp;#34;&lt;/span> sourceRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> targetRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-D380E41A-48EE-4C08-AD01-1D509C512543&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>sequenceFlow&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>userTask id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-AF50E3D0-2014-4308-A717-D76586837D70&amp;#34;&lt;/span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;用户2&amp;#34;&lt;/span> flowable:assignee&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;user2&amp;#34;&lt;/span> flowable:formFieldValidation&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete xmlns:modeler&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;![&lt;/span>CDATA&lt;span style="color:#f92672">[&lt;/span>&lt;span style="color:#66d9ef">false&lt;/span>&lt;span style="color:#f92672">]]&amp;gt;&amp;lt;/&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>userTask&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>sequenceFlow id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-7C8750DC-E1C1-4AB2-B18C-2C103B61A5E5&amp;#34;&lt;/span> sourceRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-D380E41A-48EE-4C08-AD01-1D509C512543&amp;#34;&lt;/span> targetRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-AF50E3D0-2014-4308-A717-D76586837D70&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>sequenceFlow&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>userTask id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-F4CE7565-5977-4B9C-A603-AB3B817B8C8C&amp;#34;&lt;/span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;用户3&amp;#34;&lt;/span> flowable:assignee&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;user3&amp;#34;&lt;/span> flowable:formFieldValidation&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete xmlns:modeler&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;![&lt;/span>CDATA&lt;span style="color:#f92672">[&lt;/span>&lt;span style="color:#66d9ef">false&lt;/span>&lt;span style="color:#f92672">]]&amp;gt;&amp;lt;/&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>userTask&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>sequenceFlow id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-F91582FE-D110-48C9-9407-605E503E42B2&amp;#34;&lt;/span> sourceRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-AF50E3D0-2014-4308-A717-D76586837D70&amp;#34;&lt;/span> targetRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-F4CE7565-5977-4B9C-A603-AB3B817B8C8C&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>sequenceFlow&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>userTask id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-727C1235-F9C1-4CC5-BC6C-E56ABCA105B0&amp;#34;&lt;/span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;用户4&amp;#34;&lt;/span> flowable:assignee&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;user4&amp;#34;&lt;/span> flowable:formFieldValidation&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete xmlns:modeler&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;![&lt;/span>CDATA&lt;span style="color:#f92672">[&lt;/span>&lt;span style="color:#66d9ef">false&lt;/span>&lt;span style="color:#f92672">]]&amp;gt;&amp;lt;/&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>userTask&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>sequenceFlow id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-6D998C20-2A97-44B5-92D0-118E5CB05795&amp;#34;&lt;/span> sourceRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-F4CE7565-5977-4B9C-A603-AB3B817B8C8C&amp;#34;&lt;/span> targetRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-727C1235-F9C1-4CC5-BC6C-E56ABCA105B0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>sequenceFlow&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>endEvent id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-6E5F5037-1979-4150-8408-D0BFD0315BCA&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>endEvent&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>sequenceFlow id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-3ECF3E34-6C07-4AE6-997B-583BF8868AC8&amp;#34;&lt;/span> sourceRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-727C1235-F9C1-4CC5-BC6C-E56ABCA105B0&amp;#34;&lt;/span> targetRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-6E5F5037-1979-4150-8408-D0BFD0315BCA&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>sequenceFlow&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>process&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNDiagram id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNDiagram_reback-key&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNPlane bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;reback-key&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNPlane_reback-key&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_startEvent1&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;30.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;30.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;163.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-D380E41A-48EE-4C08-AD01-1D509C512543&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-D380E41A-48EE-4C08-AD01-1D509C512543&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;165.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;135.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-AF50E3D0-2014-4308-A717-D76586837D70&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-AF50E3D0-2014-4308-A717-D76586837D70&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;320.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;138.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-F4CE7565-5977-4B9C-A603-AB3B817B8C8C&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-F4CE7565-5977-4B9C-A603-AB3B817B8C8C&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;465.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;138.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-727C1235-F9C1-4CC5-BC6C-E56ABCA105B0&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-727C1235-F9C1-4CC5-BC6C-E56ABCA105B0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;610.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;138.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-6E5F5037-1979-4150-8408-D0BFD0315BCA&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-6E5F5037-1979-4150-8408-D0BFD0315BCA&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;28.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;28.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;755.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;164.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNEdge bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-6D998C20-2A97-44B5-92D0-118E5CB05795&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-6D998C20-2A97-44B5-92D0-118E5CB05795&amp;#34;&lt;/span> flowable:sourceDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:sourceDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> flowable:targetDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:targetDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;564.9499999999907&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;178.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;609.9999999999807&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;178.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNEdge&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNEdge bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-7C8750DC-E1C1-4AB2-B18C-2C103B61A5E5&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-7C8750DC-E1C1-4AB2-B18C-2C103B61A5E5&amp;#34;&lt;/span> flowable:sourceDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:sourceDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> flowable:targetDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:targetDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;264.9499999999882&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;175.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;292.5&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;175.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;292.5&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;178.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;319.9999999999603&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;178.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNEdge&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNEdge bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-3ECF3E34-6C07-4AE6-997B-583BF8868AC8&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-3ECF3E34-6C07-4AE6-997B-583BF8868AC8&amp;#34;&lt;/span> flowable:sourceDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:sourceDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> flowable:targetDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;14.0&amp;#34;&lt;/span> flowable:targetDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;14.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;709.9499999999999&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;178.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;755.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;178.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNEdge&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNEdge bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-E2423FC5-F954-43D3-B57C-8460057CB7D6&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-E2423FC5-F954-43D3-B57C-8460057CB7D6&amp;#34;&lt;/span> flowable:sourceDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;15.0&amp;#34;&lt;/span> flowable:sourceDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;15.0&amp;#34;&lt;/span> flowable:targetDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:targetDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;129.94340692927761&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;177.55019845363262&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;164.99999999999906&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;176.4985&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNEdge&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNEdge bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-F91582FE-D110-48C9-9407-605E503E42B2&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-F91582FE-D110-48C9-9407-605E503E42B2&amp;#34;&lt;/span> flowable:sourceDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:sourceDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> flowable:targetDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:targetDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;419.94999999999067&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;178.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;464.9999999999807&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;178.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNEdge&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNPlane&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNDiagram&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">&amp;lt;/&lt;/span>definitions&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>部署并运行&lt;/p></description></item><item><title>boge-02-flowable进阶_5</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_5/</link><pubDate>Sun, 15 May 2022 15:51:40 +0000</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_5/</guid><description>&lt;h2 id="网关">网关&lt;a class="anchor" href="#%e7%bd%91%e5%85%b3">#&lt;/a>&lt;/h2>
&lt;p>&lt;img src="img/ly-20241212142112823.png" alt="ly-20241212142112823" />&lt;/p>
&lt;h3 id="排他网关">排他网关&lt;a class="anchor" href="#%e6%8e%92%e4%bb%96%e7%bd%91%e5%85%b3">#&lt;/a>&lt;/h3>
&lt;p>会按照所有出口顺序流定义的顺序对它们进行计算，选择第一个条件计算为true的顺序流（&lt;strong>当没有设置条件时，认为顺序流为true&lt;/strong>）继续流程&lt;/p>
&lt;p>&lt;img src="img/ly-20241212142113034.png" alt="ly-20241212142113034" />&lt;/p>
&lt;ul>
&lt;li>
&lt;p>排他网关的绘制
&lt;img src="img/ly-20241212142113127.png" alt="ly-20241212142113127" />
xml文件&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-xml" data-lang="xml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">&amp;lt;definitions&lt;/span> &lt;span style="color:#a6e22e">xmlns=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/BPMN/20100524/MODEL&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">xmlns:xsi=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">xmlns:xsd=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">xmlns:flowable=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/bpmn&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">xmlns:bpmndi=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/BPMN/20100524/DI&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">xmlns:omgdc=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/DD/20100524/DC&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">xmlns:omgdi=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/DD/20100524/DI&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">typeLanguage=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">expressionLanguage=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/1999/XPath&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">targetNamespace=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.flowable.org/processdef&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">exporter=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;Flowable Open Source Modeler&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">exporterVersion=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;6.7.2&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;process&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;holiday-exclusive&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">name=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;请假流程-排他网关&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">isExecutable=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;startEvent&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:formFieldValidation=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/startEvent&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;userTask&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-3D5ED4D4-97F5-4FFD-B160-F00566ECC55E&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">name=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;创建请假单&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:assignee=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;zhangsan&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:formFieldValidation=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;extensionElements&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;modeler:initiator-can-complete&lt;/span> &lt;span style="color:#a6e22e">xmlns:modeler=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;span style="color:#75715e">&amp;lt;![CDATA[false]]&amp;gt;&lt;/span>&lt;span style="color:#f92672">&amp;lt;/modeler:initiator-can-complete&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/extensionElements&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/userTask&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;sequenceFlow&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-33A73370-751D-413F-9306-39DEAA674DB6&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">sourceRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">targetRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-3D5ED4D4-97F5-4FFD-B160-F00566ECC55E&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;exclusiveGateway&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5B2117E6-D341-49F2-85B2-336CA836C7D8&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/exclusiveGateway&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;sequenceFlow&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-D1B1F6E0-EA7F-4FF7-AD0C-5D43DBCEBFD2&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">sourceRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-3D5ED4D4-97F5-4FFD-B160-F00566ECC55E&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">targetRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5B2117E6-D341-49F2-85B2-336CA836C7D8&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;userTask&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-08A6CB64-C9BB-4342-852D-444A75315BDE&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">name=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;总经理审批&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:assignee=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;wangwu&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:formFieldValidation=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;extensionElements&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;modeler:initiator-can-complete&lt;/span> &lt;span style="color:#a6e22e">xmlns:modeler=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;span style="color:#75715e">&amp;lt;![CDATA[false]]&amp;gt;&lt;/span>&lt;span style="color:#f92672">&amp;lt;/modeler:initiator-can-complete&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/extensionElements&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/userTask&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;userTask&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-EA98D0C3-E41D-4DEB-8933-91A1B7301ABE&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">name=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;部门经理审批&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:assignee=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;lisi&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:formFieldValidation=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;extensionElements&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;modeler:initiator-can-complete&lt;/span> &lt;span style="color:#a6e22e">xmlns:modeler=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;span style="color:#75715e">&amp;lt;![CDATA[false]]&amp;gt;&lt;/span>&lt;span style="color:#f92672">&amp;lt;/modeler:initiator-can-complete&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/extensionElements&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/userTask&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;userTask&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-24F73F7F-EB61-484F-A494-686E194D0118&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">name=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;人事审批&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:assignee=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;zhaoliu&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:formFieldValidation=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;extensionElements&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;modeler:initiator-can-complete&lt;/span> &lt;span style="color:#a6e22e">xmlns:modeler=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;span style="color:#75715e">&amp;lt;![CDATA[false]]&amp;gt;&lt;/span>&lt;span style="color:#f92672">&amp;lt;/modeler:initiator-can-complete&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/extensionElements&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/userTask&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;sequenceFlow&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-8BA0B88C-BA4F-446D-B5E7-6BF0830B1DC8&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">sourceRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-EA98D0C3-E41D-4DEB-8933-91A1B7301ABE&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">targetRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-24F73F7F-EB61-484F-A494-686E194D0118&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;sequenceFlow&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-E748F81F-B0B2-4C34-B993-FBAA2BCD0995&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">sourceRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-08A6CB64-C9BB-4342-852D-444A75315BDE&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">targetRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-24F73F7F-EB61-484F-A494-686E194D0118&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;sequenceFlow&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-928C6C6F-57F1-40F2-BE0F-1A9FF3E6E9E4&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">sourceRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5B2117E6-D341-49F2-85B2-336CA836C7D8&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">targetRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-08A6CB64-C9BB-4342-852D-444A75315BDE&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;conditionExpression&lt;/span> &lt;span style="color:#a6e22e">xsi:type=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;tFormalExpression&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;span style="color:#75715e">&amp;lt;![CDATA[${num&amp;gt;3}]]&amp;gt;&lt;/span>&lt;span style="color:#f92672">&amp;lt;/conditionExpression&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/sequenceFlow&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;sequenceFlow&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-4DB25720-11C8-401E-BB4C-83BB25510B2E&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">sourceRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5B2117E6-D341-49F2-85B2-336CA836C7D8&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">targetRef=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-EA98D0C3-E41D-4DEB-8933-91A1B7301ABE&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;conditionExpression&lt;/span> &lt;span style="color:#a6e22e">xsi:type=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;tFormalExpression&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;span style="color:#75715e">&amp;lt;![CDATA[${num&amp;lt;3}]]&amp;gt;&lt;/span>&lt;span style="color:#f92672">&amp;lt;/conditionExpression&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/sequenceFlow&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/process&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNDiagram&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNDiagram_holiday-exclusive&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNPlane&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;holiday-exclusive&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNPlane_holiday-exclusive&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNShape&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_startEvent1&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdc:Bounds&lt;/span> &lt;span style="color:#a6e22e">height=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;30.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">width=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;30.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;30.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;163.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdc:Bounds&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNShape&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNShape&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-3D5ED4D4-97F5-4FFD-B160-F00566ECC55E&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-3D5ED4D4-97F5-4FFD-B160-F00566ECC55E&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdc:Bounds&lt;/span> &lt;span style="color:#a6e22e">height=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">width=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;150.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;135.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdc:Bounds&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNShape&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNShape&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5B2117E6-D341-49F2-85B2-336CA836C7D8&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-5B2117E6-D341-49F2-85B2-336CA836C7D8&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdc:Bounds&lt;/span> &lt;span style="color:#a6e22e">height=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">width=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;315.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;155.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdc:Bounds&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNShape&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNShape&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-08A6CB64-C9BB-4342-852D-444A75315BDE&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-08A6CB64-C9BB-4342-852D-444A75315BDE&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdc:Bounds&lt;/span> &lt;span style="color:#a6e22e">height=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">width=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;420.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;225.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdc:Bounds&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNShape&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNShape&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-EA98D0C3-E41D-4DEB-8933-91A1B7301ABE&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-EA98D0C3-E41D-4DEB-8933-91A1B7301ABE&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdc:Bounds&lt;/span> &lt;span style="color:#a6e22e">height=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">width=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;405.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;30.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdc:Bounds&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNShape&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNShape&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-24F73F7F-EB61-484F-A494-686E194D0118&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-24F73F7F-EB61-484F-A494-686E194D0118&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdc:Bounds&lt;/span> &lt;span style="color:#a6e22e">height=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">width=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;630.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;225.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdc:Bounds&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNShape&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNEdge&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-8BA0B88C-BA4F-446D-B5E7-6BF0830B1DC8&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-8BA0B88C-BA4F-446D-B5E7-6BF0830B1DC8&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;504.95000000000005&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;70.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;680.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;70.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;680.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;225.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNEdge&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNEdge&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-4DB25720-11C8-401E-BB4C-83BB25510B2E&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-4DB25720-11C8-401E-BB4C-83BB25510B2E&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;20.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;20.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;335.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;155.5&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;335.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;70.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;404.99999999996083&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;70.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNEdge&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNEdge&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-33A73370-751D-413F-9306-39DEAA674DB6&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-33A73370-751D-413F-9306-39DEAA674DB6&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;15.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;15.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;59.94725673598754&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;177.70973069236373&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;150.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;175.96677419354836&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNEdge&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNEdge&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-D1B1F6E0-EA7F-4FF7-AD0C-5D43DBCEBFD2&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-D1B1F6E0-EA7F-4FF7-AD0C-5D43DBCEBFD2&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;20.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;20.5&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;249.95000000000002&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;175.18431734317343&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;315.42592592592536&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;175.42592592592592&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNEdge&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNEdge&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-E748F81F-B0B2-4C34-B993-FBAA2BCD0995&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-E748F81F-B0B2-4C34-B993-FBAA2BCD0995&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;519.95&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;265.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;629.9999999998776&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;265.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNEdge&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;bpmndi:BPMNEdge&lt;/span> &lt;span style="color:#a6e22e">bpmnElement=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-928C6C6F-57F1-40F2-BE0F-1A9FF3E6E9E4&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">id=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-928C6C6F-57F1-40F2-BE0F-1A9FF3E6E9E4&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;20.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:sourceDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;20.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerX=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">flowable:targetDockerY=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;335.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;194.43942522321433&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;335.5&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;265.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;omgdi:waypoint&lt;/span> &lt;span style="color:#a6e22e">x=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;420.0&amp;#34;&lt;/span> &lt;span style="color:#a6e22e">y=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;265.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/omgdi:waypoint&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNEdge&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNPlane&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/bpmndi:BPMNDiagram&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">&amp;lt;/definitions&amp;gt;&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>部署&lt;/p></description></item><item><title>boge-02-flowable进阶_4</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_4/</link><pubDate>Sun, 15 May 2022 13:10:43 +0000</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_4/</guid><description>&lt;h2 id="候选人">候选人&lt;a class="anchor" href="#%e5%80%99%e9%80%89%e4%ba%ba">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>流程图设计&lt;/p>
&lt;ul>
&lt;li>总体
&lt;img src="img/ly-20241212142111000.png" alt="ly-20241212142111000" />&lt;/li>
&lt;li>具体
&lt;img src="img/ly-20241212142111216.png" alt="ly-20241212142111216" />&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>部署并启动流程&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">@Test&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">deploy&lt;/span>(){
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ProcessEngine processEngine&lt;span style="color:#f92672">=&lt;/span> ProcessEngines.&lt;span style="color:#a6e22e">getDefaultProcessEngine&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> RepositoryService repositoryService &lt;span style="color:#f92672">=&lt;/span> processEngine.&lt;span style="color:#a6e22e">getRepositoryService&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Deployment deploy &lt;span style="color:#f92672">=&lt;/span> repositoryService.&lt;span style="color:#a6e22e">createDeployment&lt;/span>().&lt;span style="color:#a6e22e">name&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;ly画的请假流程-候选人&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">addClasspathResource&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;请假流程-候选人.bpmn20.xml&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">deploy&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">@Test&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">runProcess&lt;/span>(){
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//设置候选人&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Map&lt;span style="color:#f92672">&amp;lt;&lt;/span>String,Object&lt;span style="color:#f92672">&amp;gt;&lt;/span> variables&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#66d9ef">new&lt;/span> HashMap&lt;span style="color:#f92672">&amp;lt;&amp;gt;&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> variables.&lt;span style="color:#a6e22e">put&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;candidate1&amp;#34;&lt;/span>,&lt;span style="color:#e6db74">&amp;#34;张三&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> variables.&lt;span style="color:#a6e22e">put&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;candidate2&amp;#34;&lt;/span>,&lt;span style="color:#e6db74">&amp;#34;李四&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> variables.&lt;span style="color:#a6e22e">put&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;candidate3&amp;#34;&lt;/span>,&lt;span style="color:#e6db74">&amp;#34;王五&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ProcessEngine engine&lt;span style="color:#f92672">=&lt;/span>ProcessEngines.&lt;span style="color:#a6e22e">getDefaultProcessEngine&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//获取流程运行服务&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> RuntimeService runtimeService &lt;span style="color:#f92672">=&lt;/span> engine.&lt;span style="color:#a6e22e">getRuntimeService&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//运行流程&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ProcessInstance processInstance &lt;span style="color:#f92672">=&lt;/span> runtimeService.&lt;span style="color:#a6e22e">startProcessInstanceById&lt;/span>(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;holiday-candidate:1:4&amp;#34;&lt;/span>,variables);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> System.&lt;span style="color:#a6e22e">out&lt;/span>.&lt;span style="color:#a6e22e">println&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;processInstance--&amp;#34;&lt;/span>&lt;span style="color:#f92672">+&lt;/span>processInstance);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>查看数据库表数据&lt;/p>
&lt;ul>
&lt;li>处理人为空
&lt;img src="img/ly-20241212142111312.png" alt="ly-20241212142111312" />&lt;/li>
&lt;li>变量
&lt;img src="img/ly-20241212142111408.png" alt="ly-20241212142111408" />&lt;/li>
&lt;li>图解
&lt;img src="img/ly-20241212142111504.png" alt="ly-20241212142111504" />&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>实际，作为登录用户如果是张三/李四或者王五，那它可以查看它自己是候选人的任务&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">/**
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"> * 查询候选任务
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"> */&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">@Test&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">queryCandidate&lt;/span>(){
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ProcessEngine processEngine&lt;span style="color:#f92672">=&lt;/span>ProcessEngines.&lt;span style="color:#a6e22e">getDefaultProcessEngine&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> TaskService taskService&lt;span style="color:#f92672">=&lt;/span>processEngine.&lt;span style="color:#a6e22e">getTaskService&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> List&lt;span style="color:#f92672">&amp;lt;&lt;/span>Task&lt;span style="color:#f92672">&amp;gt;&lt;/span> tasks &lt;span style="color:#f92672">=&lt;/span> taskService.&lt;span style="color:#a6e22e">createTaskQuery&lt;/span>()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">processInstanceId&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;5001&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">taskCandidateUser&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;张三&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span style="color:#a6e22e">list&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">for&lt;/span>(Task task:tasks){
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> System.&lt;span style="color:#a6e22e">out&lt;/span>.&lt;span style="color:#a6e22e">println&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;id--&amp;#34;&lt;/span>&lt;span style="color:#f92672">+&lt;/span>task.&lt;span style="color:#a6e22e">getId&lt;/span>()&lt;span style="color:#f92672">+&lt;/span>&lt;span style="color:#e6db74">&amp;#34;--&amp;#34;&lt;/span>&lt;span style="color:#f92672">+&lt;/span>task.&lt;span style="color:#a6e22e">getName&lt;/span>());
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>拾取任务&lt;/p></description></item><item><title>boge-02-flowable进阶_3</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_3/</link><pubDate>Sun, 15 May 2022 10:04:08 +0000</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_3/</guid><description>&lt;h2 id="任务分配-uel表达式">任务分配-uel表达式&lt;a class="anchor" href="#%e4%bb%bb%e5%8a%a1%e5%88%86%e9%85%8d-uel%e8%a1%a8%e8%be%be%e5%bc%8f">#&lt;/a>&lt;/h2>
&lt;p>通过变量指定来进行分配&lt;/p>
&lt;ul>
&lt;li>
&lt;p>首先绘制流程图（定义）
&lt;img src="img/ly-20241212142108250.png" alt="ly-20241212142108250" />&lt;/p>
&lt;ul>
&lt;li>变量处理
&lt;img src="img/ly-20241212142108471.png" alt="ly-20241212142108471" />
&lt;img src="img/ly-20241212142108572.png" alt="ly-20241212142108572" />&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>之后将xml文件导出&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">&amp;lt;?&lt;/span>xml version&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;1.0&amp;#34;&lt;/span> encoding&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;UTF-8&amp;#34;&lt;/span>&lt;span style="color:#f92672">?&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">&amp;lt;&lt;/span>definitions xmlns&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/BPMN/20100524/MODEL&amp;#34;&lt;/span> xmlns:xsi&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34;&lt;/span> xmlns:xsd&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema&amp;#34;&lt;/span> xmlns:flowable&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/bpmn&amp;#34;&lt;/span> xmlns:bpmndi&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/BPMN/20100524/DI&amp;#34;&lt;/span> xmlns:omgdc&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/DD/20100524/DC&amp;#34;&lt;/span> xmlns:omgdi&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.omg.org/spec/DD/20100524/DI&amp;#34;&lt;/span> typeLanguage&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/2001/XMLSchema&amp;#34;&lt;/span> expressionLanguage&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.w3.org/1999/XPath&amp;#34;&lt;/span> targetNamespace&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://www.flowable.org/processdef&amp;#34;&lt;/span> exporter&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;Flowable Open Source Modeler&amp;#34;&lt;/span> exporterVersion&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;6.7.2&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>process id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;holiday-new&amp;#34;&lt;/span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;新请假流程&amp;#34;&lt;/span> isExecutable&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>documentation&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;span style="color:#66d9ef">new&lt;/span>&lt;span style="color:#f92672">-&lt;/span>description&lt;span style="color:#f92672">&amp;lt;/&lt;/span>documentation&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>startEvent id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> flowable:formFieldValidation&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>startEvent&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>userTask id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-8D901410-5BD7-4EED-B988-5E40D12298C7&amp;#34;&lt;/span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;创建请假流程&amp;#34;&lt;/span> flowable:assignee&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;${assignee0}&amp;#34;&lt;/span> flowable:formFieldValidation&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete xmlns:modeler&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;![&lt;/span>CDATA&lt;span style="color:#f92672">[&lt;/span>&lt;span style="color:#66d9ef">false&lt;/span>&lt;span style="color:#f92672">]]&amp;gt;&amp;lt;/&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>userTask&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>userTask id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5EB8F68B-7876-42AF-98E1-FCA27F99D8CE&amp;#34;&lt;/span> name&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;审批请假流程&amp;#34;&lt;/span> flowable:assignee&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;${assignee1}&amp;#34;&lt;/span> flowable:formFieldValidation&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;true&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete xmlns:modeler&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;http://flowable.org/modeler&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;![&lt;/span>CDATA&lt;span style="color:#f92672">[&lt;/span>&lt;span style="color:#66d9ef">false&lt;/span>&lt;span style="color:#f92672">]]&amp;gt;&amp;lt;/&lt;/span>modeler:initiator&lt;span style="color:#f92672">-&lt;/span>can&lt;span style="color:#f92672">-&lt;/span>complete&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>extensionElements&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>userTask&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>sequenceFlow id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-631EFFB0-795A-4777-B49E-CF7D015BFF15&amp;#34;&lt;/span> sourceRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-8D901410-5BD7-4EED-B988-5E40D12298C7&amp;#34;&lt;/span> targetRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5EB8F68B-7876-42AF-98E1-FCA27F99D8CE&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>sequenceFlow&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>endEvent id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-15CAD0D3-7F8B-404C-9346-A8D2A456D47B&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>endEvent&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>sequenceFlow id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-001CA567-6169-4F8A-A0E5-010721D52508&amp;#34;&lt;/span> sourceRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5EB8F68B-7876-42AF-98E1-FCA27F99D8CE&amp;#34;&lt;/span> targetRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-15CAD0D3-7F8B-404C-9346-A8D2A456D47B&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>sequenceFlow&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>sequenceFlow id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-0A4A52F2-ECF6-44B2-AA41-F926AA7F5932&amp;#34;&lt;/span> sourceRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> targetRef&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-8D901410-5BD7-4EED-B988-5E40D12298C7&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>sequenceFlow&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>process&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNDiagram id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNDiagram_holiday-new&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNPlane bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;holiday-new&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNPlane_holiday-new&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;startEvent1&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_startEvent1&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;30.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;30.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;145.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-8D901410-5BD7-4EED-B988-5E40D12298C7&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-8D901410-5BD7-4EED-B988-5E40D12298C7&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;225.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;120.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-5EB8F68B-7876-42AF-98E1-FCA27F99D8CE&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-5EB8F68B-7876-42AF-98E1-FCA27F99D8CE&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;80.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;100.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;370.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;120.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNShape bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-15CAD0D3-7F8B-404C-9346-A8D2A456D47B&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNShape_sid-15CAD0D3-7F8B-404C-9346-A8D2A456D47B&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdc:Bounds height&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;28.0&amp;#34;&lt;/span> width&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;28.0&amp;#34;&lt;/span> x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;555.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;146.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdc:Bounds&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNShape&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNEdge bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-001CA567-6169-4F8A-A0E5-010721D52508&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-001CA567-6169-4F8A-A0E5-010721D52508&amp;#34;&lt;/span> flowable:sourceDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:sourceDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> flowable:targetDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;14.0&amp;#34;&lt;/span> flowable:targetDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;14.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;469.94999999997356&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;160.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;555.0&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;160.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNEdge&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNEdge bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-0A4A52F2-ECF6-44B2-AA41-F926AA7F5932&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-0A4A52F2-ECF6-44B2-AA41-F926AA7F5932&amp;#34;&lt;/span> flowable:sourceDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;15.0&amp;#34;&lt;/span> flowable:sourceDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;15.0&amp;#34;&lt;/span> flowable:targetDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:targetDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;129.94999928606217&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;160.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;224.99999999995185&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;160.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNEdge&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>bpmndi:BPMNEdge bpmnElement&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;sid-631EFFB0-795A-4777-B49E-CF7D015BFF15&amp;#34;&lt;/span> id&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;BPMNEdge_sid-631EFFB0-795A-4777-B49E-CF7D015BFF15&amp;#34;&lt;/span> flowable:sourceDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:sourceDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span> flowable:targetDockerX&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;50.0&amp;#34;&lt;/span> flowable:targetDockerY&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;40.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;324.9499999999907&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;160.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;&lt;/span>omgdi:waypoint x&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;369.9999999999807&amp;#34;&lt;/span> y&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;160.0&amp;#34;&lt;/span>&lt;span style="color:#f92672">&amp;gt;&amp;lt;/&lt;/span>omgdi:waypoint&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNEdge&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNPlane&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/&lt;/span>bpmndi:BPMNDiagram&lt;span style="color:#f92672">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">&amp;lt;/&lt;/span>definitions&lt;span style="color:#f92672">&amp;gt;&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>流程定义的部署&lt;/p></description></item><item><title>boge-02-flowable进阶_2</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_2/</link><pubDate>Sat, 14 May 2022 23:31:13 +0000</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_2/</guid><description>&lt;h2 id="service服务接口">Service服务接口&lt;a class="anchor" href="#service%e6%9c%8d%e5%8a%a1%e6%8e%a5%e5%8f%a3">#&lt;/a>&lt;/h2>
&lt;p>&lt;img src="img/ly-20241212142104630.png" alt="ly-20241212142104630" />&lt;/p>
&lt;ul>
&lt;li>各个Service类
RepositoryService 资源管理类，流程定义、部署、文件
RuntimeService 流程运行管理类，运行过程中（执行）
TaskService 任务管理类
HistoryService 历史管理类
ManagerService 引擎管理类&lt;/li>
&lt;/ul>
&lt;h2 id="flowable图标">Flowable图标&lt;a class="anchor" href="#flowable%e5%9b%be%e6%a0%87">#&lt;/a>&lt;/h2>
&lt;p>BPMN2.0定义的一些图标&lt;/p>
&lt;ul>
&lt;li>时间&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="img/ly-20241212142104849.png" alt="ly-20241212142104849" />&lt;/p>
&lt;ul>
&lt;li>活动
&lt;img src="img/ly-20241212142104949.png" alt="ly-20241212142104949" />&lt;/li>
&lt;li>网关
&lt;img src="img/ly-20241212142105051.png" alt="ly-20241212142105051" />&lt;/li>
&lt;li>&lt;/li>
&lt;/ul>
&lt;h2 id="流程部署深入解析">流程部署深入解析&lt;a class="anchor" href="#%e6%b5%81%e7%a8%8b%e9%83%a8%e7%bd%b2%e6%b7%b1%e5%85%a5%e8%a7%a3%e6%9e%90">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>使用eclipse打包部署(没有eclipse环境，所以这里只有截图)
将两个流程，打包为bar文件，然后放到项目resources文件夹中
&lt;img src="img/ly-20241212142105247.png" alt="ly-20241212142105247" />
&lt;img src="img/ly-20241212142105148.png" alt="ly-20241212142105148" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>这里是为了测试一次部署多个流程（定义，图）
代码如下
&lt;img src="img/ly-20241212142105345.png" alt="ly-20241212142105345" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>部署完成后查看表结构&lt;/p>
&lt;ul>
&lt;li>
&lt;p>act_re_procdef&lt;/p>
&lt;p>部署id一样
&lt;img src="img/ly-20241212142105443.png" alt="ly-20241212142105443" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>act_re_deployment
&lt;img src="img/ly-20241212142105547.png" alt="ly-20241212142105547" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>结论：部署和定义是1对多的关系&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>每次部署所涉及到的资源文件
&lt;img src="img/ly-20241212142105649.png" alt="ly-20241212142105649" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>涉及到的三张表&lt;/p>
&lt;ul>
&lt;li>
&lt;p>act_ge_bytearray
&lt;img src="img/ly-20241212142105747.png" alt="ly-20241212142105747" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>act_re_procdef
category&amp;ndash;&amp;gt;xml中的namespace
name&amp;ndash;&amp;gt;定义时起的名称
key_&amp;mdash;&amp;gt;xml中定义的id
resource_name&amp;mdash;&amp;gt;xml文件名称
dgrm_resource_name&amp;ndash;&amp;gt;生成图片名称
suspension_state &amp;ndash;&amp;gt; 是否被挂起&lt;/p>
&lt;p>tenant_id &amp;ndash; &amp;gt;谁部署的流程&lt;/p>
&lt;/li>
&lt;li>
&lt;p>act_re_deployment
name_部署名&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>代码
&lt;img src="img/ly-20241212142105845.png" alt="ly-20241212142105845" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>主要源码
DeployCmd.class
&lt;img src="img/ly-20241212142105941.png" alt="ly-20241212142105941" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>DeploymentEntityManagerImpl.java
&lt;img src="img/ly-20241212142106041.png" alt="ly-20241212142106041" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>insert()方法
插入并执行资源
&lt;img src="img/ly-20241212142106138.png" alt="ly-20241212142106138" />
点开里面的insert方法
&lt;img src="img/ly-20241212142106234.png" alt="ly-20241212142106234" />&lt;/p></description></item><item><title>boge-02-flowable进阶_1</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_1/</link><pubDate>Sat, 14 May 2022 21:59:40 +0000</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/02-advance_1/</guid><description>&lt;h2 id="表结构">表结构&lt;a class="anchor" href="#%e8%a1%a8%e7%bb%93%e6%9e%84">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>尽量通过API动数据&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ACT_RE：repository，包含流程定义和流程静态资源&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ACT_RU: runtime，包含流程实例、任务、变量等，流程结束会删除&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ACT_HI: history，包含历史数据，比如历史流程实例、变量、任务等&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ACT_GE: general，通用数据&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ACT_ID: identity，组织机构。包含标识的信息，如用户、用户组等等&lt;/p>
&lt;/li>
&lt;li>
&lt;p>具体的&lt;/p>
&lt;ul>
&lt;li>
&lt;p>流程历史记录&lt;/p>
&lt;p>&lt;img src="img/ly-20241212142103886.png" alt="ly-20241212142103886" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>流程定义表
&lt;img src="img/ly-20241212142104111.png" alt="ly-20241212142104111" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>运行实例表
&lt;img src="img/ly-20241212142104209.png" alt="ly-20241212142104209" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>用户用户组表&lt;/p>
&lt;p>&lt;img src="img/ly-20241212142104309.png" alt="ly-20241212142104309" />&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>源码中的体现
&lt;img src="img/ly-20241212142104410.png" alt="ly-20241212142104410" />&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="默认的配置文件加载">默认的配置文件加载&lt;a class="anchor" href="#%e9%bb%98%e8%ae%a4%e7%9a%84%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e5%8a%a0%e8%bd%bd">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>对于&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>ProcessEngine defaultProcessEngine &lt;span style="color:#f92672">=&lt;/span> ProcessEngines.&lt;span style="color:#a6e22e">getDefaultProcessEngine&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">//--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> ProcessEngine &lt;span style="color:#a6e22e">getDefaultProcessEngine&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> getProcessEngine(NAME_DEFAULT); &lt;span style="color:#75715e">//NAME_DEFAULT = &amp;#34;default&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">//--&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> ProcessEngine &lt;span style="color:#a6e22e">getProcessEngine&lt;/span>(String processEngineName) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#f92672">!&lt;/span>isInitialized()) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> init();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">return&lt;/span> processEngines.&lt;span style="color:#a6e22e">get&lt;/span>(processEngineName);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">//--&amp;gt;部分&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">/**
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"> * Initializes all process engines that can be found on the classpath for resources &amp;lt;code&amp;gt;flowable.cfg.xml&amp;lt;/code&amp;gt; (plain Flowable style configuration) and for resources
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"> * &amp;lt;code&amp;gt;flowable-context.xml&amp;lt;/code&amp;gt; (Spring style configuration).
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"> */&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">public&lt;/span> &lt;span style="color:#66d9ef">static&lt;/span> &lt;span style="color:#66d9ef">synchronized&lt;/span> &lt;span style="color:#66d9ef">void&lt;/span> &lt;span style="color:#a6e22e">init&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (&lt;span style="color:#f92672">!&lt;/span>isInitialized()) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">if&lt;/span> (processEngines &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#66d9ef">null&lt;/span>) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">// Create new map to store process-engines if current map is null&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> processEngines &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">new&lt;/span> HashMap&lt;span style="color:#f92672">&amp;lt;&amp;gt;&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ClassLoader classLoader &lt;span style="color:#f92672">=&lt;/span> ReflectUtil.&lt;span style="color:#a6e22e">getClassLoader&lt;/span>();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Enumeration&lt;span style="color:#f92672">&amp;lt;&lt;/span>URL&lt;span style="color:#f92672">&amp;gt;&lt;/span> resources &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">null&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">try&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> resources &lt;span style="color:#f92672">=&lt;/span> classLoader.&lt;span style="color:#a6e22e">getResources&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;flowable.cfg.xml&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } &lt;span style="color:#66d9ef">catch&lt;/span> (IOException e) {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">throw&lt;/span> &lt;span style="color:#66d9ef">new&lt;/span> FlowableIllegalArgumentException(&lt;span style="color:#e6db74">&amp;#34;problem retrieving flowable.cfg.xml resources on the classpath: &amp;#34;&lt;/span> &lt;span style="color:#f92672">+&lt;/span> System.&lt;span style="color:#a6e22e">getProperty&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;java.class.path&amp;#34;&lt;/span>), e);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//后面还有，每帖出来&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>注意这行&lt;code>classLoader.getResources(&amp;quot;flowable.cfg.xml&amp;quot;);&lt;/code>
需要在resources根目录下放这么一个文件&lt;/p></description></item><item><title>boge-01-flowable基础</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/01-base/</link><pubDate>Sat, 14 May 2022 07:29:14 +0000</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Flowable/boge_blbl_/01-base/</guid><description>&lt;h2 id="flowable介绍">Flowable介绍&lt;a class="anchor" href="#flowable%e4%bb%8b%e7%bb%8d">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>flowable的历史&lt;/p>
&lt;p>&lt;img src="img/ly-20241212142101999.png" alt="ly-20241212142101999" />&lt;/p>
&lt;/li>
&lt;li>
&lt;p>flowable是BPNM的一个基于java的软件实现，不仅包括BPMN，还有DMN决策表和CMMNCase管理引擎，并且有自己的用户管理、微服务API等&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="获取engine对象">获取Engine对象&lt;a class="anchor" href="#%e8%8e%b7%e5%8f%96engine%e5%af%b9%e8%b1%a1">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>maven依赖&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-xml" data-lang="xml">&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;dependencies&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;groupId&amp;gt;&lt;/span>mysql&lt;span style="color:#f92672">&amp;lt;/groupId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;artifactId&amp;gt;&lt;/span>mysql-connector-java&lt;span style="color:#f92672">&amp;lt;/artifactId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;version&amp;gt;&lt;/span>8.0.29&lt;span style="color:#f92672">&amp;lt;/version&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">&amp;lt;!-- https://mvnrepository.com/artifact/org.flowable/flowable-engine --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;groupId&amp;gt;&lt;/span>org.flowable&lt;span style="color:#f92672">&amp;lt;/groupId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;artifactId&amp;gt;&lt;/span>flowable-engine&lt;span style="color:#f92672">&amp;lt;/artifactId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;version&amp;gt;&lt;/span>6.7.2&lt;span style="color:#f92672">&amp;lt;/version&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">&amp;lt;!-- https://mvnrepository.com/artifact/junit/junit --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;groupId&amp;gt;&lt;/span>junit&lt;span style="color:#f92672">&amp;lt;/groupId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;artifactId&amp;gt;&lt;/span>junit&lt;span style="color:#f92672">&amp;lt;/artifactId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;version&amp;gt;&lt;/span>4.13.2&lt;span style="color:#f92672">&amp;lt;/version&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;scope&amp;gt;&lt;/span>test&lt;span style="color:#f92672">&amp;lt;/scope&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/dependencies&amp;gt;&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>配置并获取ProcessEngine&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>ProcessEngineConfiguration configuration&lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">new&lt;/span> StandaloneProcessEngineConfiguration();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//配置&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> configuration.&lt;span style="color:#a6e22e">setJdbcDriver&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;com.mysql.cj.jdbc.Driver&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> configuration.&lt;span style="color:#a6e22e">setJdbcUsername&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;root&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> configuration.&lt;span style="color:#a6e22e">setJdbcPassword&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;123456&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//nullCatalogMeansCurrent=true 设置为只查当前连接的schema库&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> configuration.&lt;span style="color:#a6e22e">setJdbcUrl&lt;/span>(&lt;span style="color:#e6db74">&amp;#34;jdbc:mysql://localhost:3306/flowable-learn?&amp;#34;&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;useUnicode=true&amp;amp;characterEncoding=utf-8&amp;#34;&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;&amp;amp;allowMultiQueries=true&amp;#34;&lt;/span> &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;&amp;amp;nullCatalogMeansCurrent=true&amp;#34;&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//如果数据库中表结构不存在则新建&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> configuration.&lt;span style="color:#a6e22e">setDatabaseSchemaUpdate&lt;/span>(ProcessEngineConfiguration.&lt;span style="color:#a6e22e">DB_SCHEMA_UPDATE_TRUE&lt;/span>);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">//构建ProcessEngine&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ProcessEngine processEngine&lt;span style="color:#f92672">=&lt;/span>configuration.&lt;span style="color:#a6e22e">buildProcessEngine&lt;/span>();&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;/ul>
&lt;h2 id="日志和表结构介绍">日志和表结构介绍&lt;a class="anchor" href="#%e6%97%a5%e5%bf%97%e5%92%8c%e8%a1%a8%e7%bb%93%e6%9e%84%e4%bb%8b%e7%bb%8d">#&lt;/a>&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>添加slf4j依赖&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-xml" data-lang="xml">&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">&amp;lt;!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-reload4j --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;groupId&amp;gt;&lt;/span>org.slf4j&lt;span style="color:#f92672">&amp;lt;/groupId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;artifactId&amp;gt;&lt;/span>slf4j-reload4j&lt;span style="color:#f92672">&amp;lt;/artifactId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;version&amp;gt;&lt;/span>1.7.36&lt;span style="color:#f92672">&amp;lt;/version&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;scope&amp;gt;&lt;/span>test&lt;span style="color:#f92672">&amp;lt;/scope&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e">&amp;lt;!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;groupId&amp;gt;&lt;/span>org.apache.logging.log4j&lt;span style="color:#f92672">&amp;lt;/groupId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;artifactId&amp;gt;&lt;/span>log4j-api&lt;span style="color:#f92672">&amp;lt;/artifactId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;version&amp;gt;&lt;/span>2.17.2&lt;span style="color:#f92672">&amp;lt;/version&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">&amp;lt;/dependency&amp;gt;&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>添加log配置文件&lt;/p></description></item></channel></rss>