From 310591ce36bd426b9db458b227aa3db754ee6fbb Mon Sep 17 00:00:00 2001 From: cuicui Date: Sat, 12 Mar 2022 22:50:59 +0800 Subject: [PATCH] =?UTF-8?q?flowable-=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95-s?= =?UTF-8?q?ervice=E6=97=A0=E6=B3=95=E5=AE=9E=E4=BE=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yudao-module-bpm-impl-flowable/pom.xml | 13 + .../yudao/module/bpm/AbstractOATest.java | 63 +++++ .../yudao/module/bpm/ConditionTest.java | 226 ++++++++++++++++++ .../leave-dynamic-form-with-javascript.zip | Bin 0 -> 25020 bytes .../dynamic-form/leave-dynamic-form.zip | Bin 0 -> 24967 bytes .../chapter6/dynamic-form/leave.bpmn | 198 +++++++++++++++ .../resources/chapter6/dynamic-form/leave.png | Bin 0 -> 28282 bytes .../leave-formkey/approve-deptLeader.form | 31 +++ .../chapter6/leave-formkey/approve-hr.form | 31 +++ .../chapter6/leave-formkey/leave-formkey.bpmn | 151 ++++++++++++ .../chapter6/leave-formkey/leave-formkey.png | Bin 0 -> 28008 bytes .../chapter6/leave-formkey/leave-formkey.zip | Bin 0 -> 30257 bytes .../chapter6/leave-formkey/leave-start.form | 18 ++ .../chapter6/leave-formkey/modify-apply.form | 27 +++ .../chapter6/leave-formkey/report-back.form | 28 +++ .../approve-deptLeader.form | 31 +++ .../leave-timeLimit-money/approve-hr.form | 31 +++ .../leave-formkey-ext.bpmn | 188 +++++++++++++++ .../leave-formkey-ext.png | Bin 0 -> 17724 bytes .../leave-timeLimit-money/leave-start.form | 18 ++ .../leave-timeLimit-money/modify-apply.form | 27 +++ .../leave-timeLimit-money/report-back.form | 28 +++ .../src/test/resources/flowable.cfg.xml | 21 ++ 23 files changed, 1130 insertions(+) create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/java/cn/iocoder/yudao/module/bpm/AbstractOATest.java create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/java/cn/iocoder/yudao/module/bpm/ConditionTest.java create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave-dynamic-form-with-javascript.zip create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave-dynamic-form.zip create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave.bpmn create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave.png create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/approve-deptLeader.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/approve-hr.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.bpmn create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.png create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.zip create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-start.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/modify-apply.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/report-back.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/approve-deptLeader.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/approve-hr.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-formkey-ext.bpmn create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-formkey-ext.png create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-start.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/modify-apply.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/report-back.form create mode 100644 yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/flowable.cfg.xml diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/pom.xml b/yudao-module-bpm/yudao-module-bpm-impl-flowable/pom.xml index 1b039b8cc..9741c5b86 100644 --- a/yudao-module-bpm/yudao-module-bpm-impl-flowable/pom.xml +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/pom.xml @@ -35,6 +35,19 @@ yudao-spring-boot-starter-test test + + + junit + junit + 4.11 + test + + + com.h2database + h2 + 1.4.196 + test + diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/java/cn/iocoder/yudao/module/bpm/AbstractOATest.java b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/java/cn/iocoder/yudao/module/bpm/AbstractOATest.java new file mode 100644 index 000000000..b16dffdf4 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/java/cn/iocoder/yudao/module/bpm/AbstractOATest.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.bpm; + +import org.flowable.engine.*; +import org.flowable.engine.test.FlowableRule; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Rule; + +/** + * 抽象测试基类 + * + * @author henryyan cuicui + */ +public abstract class AbstractOATest { + + /** + * 专门用于测试套件 + */ + @Rule + public FlowableRule activitiRule = new FlowableRule("flowable.cfg.xml"); + + protected ProcessEngine processEngine; + protected RepositoryService repositoryService; + protected RuntimeService runtimeService; + protected TaskService taskService; + protected HistoryService historyService; + protected IdentityService identityService; + protected ManagementService managementService; + protected FormService formService; + + /** + * 开始测试 + */ + @BeforeClass + public static void setUpForClass() throws Exception { + System.out.println("++++++++ 开始测试 ++++++++"); + } + + /** + * 结束测试 + */ + @AfterClass + public static void testOverForClass() throws Exception { + System.out.println("-------- 结束测试 --------"); + } + + /** + * 初始化变量 + */ + @Before + public void setUp() throws Exception { + processEngine = activitiRule.getProcessEngine(); + repositoryService = activitiRule.getRepositoryService(); + runtimeService = activitiRule.getRuntimeService(); + taskService = activitiRule.getTaskService(); + historyService = activitiRule.getHistoryService(); + identityService = activitiRule.getIdentityService(); + managementService = activitiRule.getManagementService(); + formService = activitiRule.getFormService(); + } + +} diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/java/cn/iocoder/yudao/module/bpm/ConditionTest.java b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/java/cn/iocoder/yudao/module/bpm/ConditionTest.java new file mode 100644 index 000000000..1dd73e712 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/java/cn/iocoder/yudao/module/bpm/ConditionTest.java @@ -0,0 +1,226 @@ +package cn.iocoder.yudao.module.bpm; + +import org.flowable.engine.history.HistoricDetail; +import org.flowable.engine.history.HistoricFormProperty; +import org.flowable.engine.history.HistoricProcessInstance; +import org.flowable.engine.history.HistoricVariableUpdate; +import org.flowable.engine.repository.ProcessDefinition; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.engine.test.Deployment; +import org.flowable.task.api.Task; +import org.joda.time.DateTime; +import org.junit.Test; + +import java.text.SimpleDateFormat; +import java.util.*; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +/** + * 条件测试 + * 1 某个节点-支付额度需要大于70% + * 2 支付条件完成后,开始倒计时15天,要完成流程处理 + * @author cuicui + */ +public class ConditionTest extends AbstractOATest { + + @Test + @Deployment(resources = {"chapter6/leave-timeLimit-money/leave-formkey-ext.bpmn", "chapter6/leave-timeLimit-money/leave-start.form", + "chapter6/leave-timeLimit-money/approve-deptLeader.form", "chapter6/leave-timeLimit-money/approve-hr.form", "chapter6/leave-timeLimit-money/report-back.form", + "chapter6/leave-timeLimit-money/modify-apply.form"}) + public void allPass() throws Exception { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Map variables = new HashMap(); + Calendar ca = Calendar.getInstance(); + String startDate = sdf.format(ca.getTime()); + ca.add(Calendar.DAY_OF_MONTH, 2); // 当前日期加2天 + String endDate = sdf.format(ca.getTime()); + + // 启动流程 + variables.put("startDate", startDate); + variables.put("endDate", endDate); + variables.put("reason", "公休"); + + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); + + // 读取启动表单 + Object renderedStartForm = formService.getRenderedStartForm(processDefinition.getId()); + assertNotNull(renderedStartForm); + + // 启动流程 + // 设置当前用户 + String currentUserId = "henryyan"; + identityService.setAuthenticatedUserId(currentUserId); + ProcessInstance processInstance = formService.submitStartFormData(processDefinition.getId(), variables); + assertNotNull(processInstance); + + // 部门领导审批通过 + Task deptLeaderTask = taskService.createTaskQuery().taskCandidateGroup("deptLeader").singleResult(); + assertNotNull(formService.getRenderedTaskForm(deptLeaderTask.getId())); + variables = new HashMap(); + variables.put("deptLeaderApproved", "true"); + formService.submitTaskFormData(deptLeaderTask.getId(), variables); + + // 人事审批通过 + Task hrTask = taskService.createTaskQuery().taskCandidateGroup("hr").singleResult(); + assertNotNull(formService.getRenderedTaskForm(hrTask.getId())); + variables = new HashMap(); + variables.put("hrApproved", "true"); + //手动设置支付金额 + variables.put("amountMoney", "19999"); + formService.submitTaskFormData(hrTask.getId(), variables); + //判断支付金额是否>1万元 + // 财务打款通过 + Task caiwuTask = taskService.createTaskQuery().taskCandidateGroup("caiwu").singleResult(); + printTask(caiwuTask); + taskService.complete(caiwuTask.getId()); + //判断倒计时15天 + Task chuNaTask = taskService.createTaskQuery().taskCandidateGroup("chuNa").singleResult(); + printTask(chuNaTask); + taskService.complete(chuNaTask.getId()); + + // 销假(根据申请人的用户ID读取) +// Task reportBackTask = taskService.createTaskQuery().taskAssignee(currentUserId).singleResult(); +// assertNotNull(formService.getRenderedTaskForm(reportBackTask.getId())); +// variables = new HashMap(); +// variables.put("reportBackDate", sdf.format(ca.getTime())); +// formService.submitTaskFormData(reportBackTask.getId(), variables); + + // 验证流程是否已经结束 + HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().finished().singleResult(); + assertNotNull(historicProcessInstance); + + // 读取历史变量 + Map historyVariables = packageVariables(processInstance); + + // 验证执行结果 + assertEquals("ok", historyVariables.get("result")); + + } + + /** + * 查询过期任务 + * @throws Exception + */ + @Test + @Deployment(resources = {"chapter6/leave-timeLimit-money/leave-formkey-ext.bpmn", "chapter6/leave-timeLimit-money/leave-start.form", + "chapter6/leave-timeLimit-money/approve-deptLeader.form", "chapter6/leave-timeLimit-money/approve-hr.form", "chapter6/leave-timeLimit-money/report-back.form", + "chapter6/leave-timeLimit-money/modify-apply.form"}) + public void dueDate() throws Exception { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Map variables = new HashMap(); + Calendar ca = Calendar.getInstance(); + String startDate = sdf.format(ca.getTime()); + ca.add(Calendar.DAY_OF_MONTH, 2); // 当前日期加2天 + String endDate = sdf.format(ca.getTime()); + + // 启动流程 + variables.put("startDate", startDate); + variables.put("endDate", endDate); + variables.put("reason", "公休"); + + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); + + // 读取启动表单 + Object renderedStartForm = formService.getRenderedStartForm(processDefinition.getId()); + assertNotNull(renderedStartForm); + + // 启动流程 + // 设置当前用户 + String currentUserId = "henryyan"; + identityService.setAuthenticatedUserId(currentUserId); + ProcessInstance processInstance = formService.submitStartFormData(processDefinition.getId(), variables); + assertNotNull(processInstance); + + // 部门领导审批通过 + Task deptLeaderTask = taskService.createTaskQuery().taskCandidateGroup("deptLeader").singleResult(); + assertNotNull(formService.getRenderedTaskForm(deptLeaderTask.getId())); + variables = new HashMap(); + variables.put("deptLeaderApproved", "true"); + formService.submitTaskFormData(deptLeaderTask.getId(), variables); + + // 人事审批通过 + Task hrTask = taskService.createTaskQuery().taskCandidateGroup("hr").singleResult(); + assertNotNull(formService.getRenderedTaskForm(hrTask.getId())); + variables = new HashMap(); + variables.put("hrApproved", "true"); + //手动设置支付金额 + variables.put("amountMoney", "19999"); + formService.submitTaskFormData(hrTask.getId(), variables); + //判断支付金额是否>1万元 + // 财务打款通过 + Task caiwuTask = taskService.createTaskQuery().taskCandidateGroup("caiwu").singleResult(); + printTask(caiwuTask); + + //设置5天前就过期了 + DateTime dateTime = DateTime.now(); + DateTime minusDays = dateTime.minusDays(5); + taskService.setDueDate(caiwuTask.getId(),minusDays.toDate()); + //查询今天以前的过期任务 + List listTask = taskService.createTaskQuery().taskDueBefore(new Date()).list(); + for (Task task : listTask) { + printTask(task); + } + + // 销假(根据申请人的用户ID读取) +// Task reportBackTask = taskService.createTaskQuery().taskAssignee(currentUserId).singleResult(); +// assertNotNull(formService.getRenderedTaskForm(reportBackTask.getId())); +// variables = new HashMap(); +// variables.put("reportBackDate", sdf.format(ca.getTime())); +// formService.submitTaskFormData(reportBackTask.getId(), variables); + + // 验证流程是否已经结束 + HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().finished().singleResult(); + assertNotNull(historicProcessInstance); + + // 读取历史变量 + Map historyVariables = packageVariables(processInstance); + + // 验证执行结果 + assertEquals("ok", historyVariables.get("result")); + + } + + /** + * 任意流程的跳转 + */ + @Test + public void taskJump(){ + // 当前任务 + String taskId="ddd"; + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + String assignee = "下一个自由跳转人"; + taskService.setAssignee(taskId,assignee); + // 自由跳转 + String taskDefKey="目标-任务名称"; + //moveActivityIdTo的两个参数,源任务key,目标任务key + runtimeService.createChangeActivityStateBuilder().processInstanceId(task.getProcessInstanceId()).moveActivityIdTo(task.getTaskDefinitionKey(), taskDefKey).changeState(); + + } + + + /** + * 读取历史变量并封装到Map中 + */ + private Map packageVariables(ProcessInstance processInstance) { + Map historyVariables = new HashMap(); + List list = historyService.createHistoricDetailQuery().processInstanceId(processInstance.getId()).list(); + for (HistoricDetail historicDetail : list) { + if (historicDetail instanceof HistoricFormProperty) { + // 表单中的字段 + HistoricFormProperty field = (HistoricFormProperty) historicDetail; + historyVariables.put(field.getPropertyId(), field.getPropertyValue()); + System.out.println("form field: taskId=" + field.getTaskId() + ", " + field.getPropertyId() + " = " + field.getPropertyValue()); + } else if (historicDetail instanceof HistoricVariableUpdate) { + HistoricVariableUpdate variable = (HistoricVariableUpdate) historicDetail; + historyVariables.put(variable.getVariableName(), variable.getValue()); + System.out.println("variable: " + variable.getVariableName() + " = " + variable.getValue()); + } + } + return historyVariables; + } + private void printTask(Task task){ + System.out.println(task.getName()+" : " + task.getDueDate()); + } +} diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave-dynamic-form-with-javascript.zip b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave-dynamic-form-with-javascript.zip new file mode 100644 index 0000000000000000000000000000000000000000..0d5addbddaec78f3bce93da07a0ed2218ba2a6a5 GIT binary patch literal 25020 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 literal 0 HcmV?d00001 diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave-dynamic-form.zip b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave-dynamic-form.zip new file mode 100644 index 0000000000000000000000000000000000000000..5f66312ad0da9b752ce8354da8a23211764266dd GIT binary patch literal 24967 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 p + + + 请假流程演示-动态表单 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 请求被驳回后员工可以选择继续申请,或者取消本次申请 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave.png b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/dynamic-form/leave.png new file mode 100644 index 0000000000000000000000000000000000000000..cd36f9855cdad36e24517f824c2cdcc8013bc720 GIT binary patch literal 28282 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 literal 0 HcmV?d00001 diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/approve-deptLeader.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/approve-deptLeader.form new file mode 100644 index 000000000..b62459fe0 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/approve-deptLeader.form @@ -0,0 +1,31 @@ +
+ +
${applyUserId}
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
\ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/approve-hr.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/approve-hr.form new file mode 100644 index 000000000..e177d2795 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/approve-hr.form @@ -0,0 +1,31 @@ +
+ +
${applyUserId}
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
\ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.bpmn b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.bpmn new file mode 100644 index 000000000..7f030216e --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.bpmn @@ -0,0 +1,151 @@ + + + + 《Activiti实战》第6章的例子--外置表单 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 请求被驳回后员工可以选择继续申请,或者取消本次申请 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.png b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8d231a8a8064147a326d92103c64598579452e GIT binary patch literal 28008 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.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 literal 0 HcmV?d00001 diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.zip b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-formkey.zip new file mode 100644 index 0000000000000000000000000000000000000000..f846913b7106d0a273d98b39575eb105e65163c2 GIT binary patch literal 30257 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
  • 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 literal 0 HcmV?d00001 diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-start.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-start.form new file mode 100644 index 000000000..7b6ce7814 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/leave-start.form @@ -0,0 +1,18 @@ +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/modify-apply.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/modify-apply.form new file mode 100644 index 000000000..72f326905 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/modify-apply.form @@ -0,0 +1,27 @@ +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/report-back.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/report-back.form new file mode 100644 index 000000000..f05bf8e7e --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-formkey/report-back.form @@ -0,0 +1,28 @@ +
    + +
    ${applyUserId}
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/approve-deptLeader.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/approve-deptLeader.form new file mode 100644 index 000000000..b62459fe0 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/approve-deptLeader.form @@ -0,0 +1,31 @@ +
    + +
    ${applyUserId}
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/approve-hr.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/approve-hr.form new file mode 100644 index 000000000..e177d2795 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/approve-hr.form @@ -0,0 +1,31 @@ +
    + +
    ${applyUserId}
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-formkey-ext.bpmn b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-formkey-ext.bpmn new file mode 100644 index 000000000..8241fed88 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-formkey-ext.bpmn @@ -0,0 +1,188 @@ + + + + 《Activiti实战》第6章的例子--外置表单 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 倒计时30秒 + + + = 10000}]]> + + + + + + + + + 请求被驳回后员工可以选择继续申请,或者取消本次申请 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-formkey-ext.png b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-formkey-ext.png new file mode 100644 index 0000000000000000000000000000000000000000..be7e777c8975892446c00e1c4d40009361f76730 GIT binary patch literal 17724 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 R|JRWl>blnouH1e4zW@a`18M*O literal 0 HcmV?d00001 diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-start.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-start.form new file mode 100644 index 000000000..7b6ce7814 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/leave-start.form @@ -0,0 +1,18 @@ +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/modify-apply.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/modify-apply.form new file mode 100644 index 000000000..72f326905 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/modify-apply.form @@ -0,0 +1,27 @@ +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/report-back.form b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/report-back.form new file mode 100644 index 000000000..f05bf8e7e --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/chapter6/leave-timeLimit-money/report-back.form @@ -0,0 +1,28 @@ +
    + +
    ${applyUserId}
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/flowable.cfg.xml b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/flowable.cfg.xml new file mode 100644 index 000000000..69398f173 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/test/resources/flowable.cfg.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file