From 8c8b8b803718b97372ef76126c8661a15945d9eb Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Fri, 1 Apr 2022 22:06:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=8B=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BB=BB=E5=8A=A1=E8=8E=B7=E5=8F=96=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/OaUserTaskCompleteListener.java | 10 +++------ .../activiti/IActivitiModelService.java | 6 ++--- .../impl/ActivitiModelServiceImpl.java | 22 +++++++++---------- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/listener/task/OaUserTaskCompleteListener.java b/module-activiti/src/main/java/ink/wgink/module/activiti/listener/task/OaUserTaskCompleteListener.java index 447fbaf1..5fc67b52 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/listener/task/OaUserTaskCompleteListener.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/listener/task/OaUserTaskCompleteListener.java @@ -37,13 +37,9 @@ public class OaUserTaskCompleteListener implements TaskListener, JavaDelegate { @Override public void notify(DelegateTask delegateTask) { LOG.debug(">>>> userTask complete"); - Map variables = runtimeService.getVariables(delegateTask.getProcessInstanceId()); - String reportUid = variables.get(IOaFormReportService.KEY_REPORT_UID).toString(); - String formCode = variables.get(IOaFormReportService.KEY_FORM_CODE).toString(); - Integer formVersion = Integer.parseInt(variables.get(IOaFormReportService.KEY_FORM_VERSION).toString()); - LOG.debug("查询表单数据:formCode: {}, formVersion: {}, reportUid: {}", formCode, formVersion, reportUid); - Map reportForm = oaFormReportService.get(formCode, formVersion, reportUid); - UserTask nextUserTask = activitiModelService.getNextUserTaskByTaskDefinitionKeyAndProcessDefinitionIdAndReportForm(delegateTask.getTaskDefinitionKey(), delegateTask.getProcessDefinitionId(), reportForm); + Map variables = delegateTask.getVariables(); + LOG.debug("查询表单数据:variables: {}", variables); + UserTask nextUserTask = activitiModelService.getNextUserTask(delegateTask.getTaskDefinitionKey(), delegateTask.getProcessDefinitionId(), variables); if (nextUserTask != null) { nextUserTask.setAssignee("1"); } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiModelService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiModelService.java index 93fb9b1b..00f81674 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiModelService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiModelService.java @@ -67,7 +67,7 @@ public interface IActivitiModelService { * @param currentUserTask 当前用户任务 * @return */ - UserTask getNextUserTaskByCurrentUserTask(UserTask currentUserTask); + UserTask getNextUserTask(UserTask currentUserTask); /** * 获取下一个用户任务 @@ -76,7 +76,7 @@ public interface IActivitiModelService { * @param reportForm 上报表单 * @return */ - UserTask getNextUserTaskByExclusiveGatewayAndReportForm(ExclusiveGateway exclusiveGateway, Map reportForm); + UserTask getNextUserTask(ExclusiveGateway exclusiveGateway, Map reportForm); /** * 获取下一个用户任务 @@ -86,7 +86,7 @@ public interface IActivitiModelService { * @param reportForm 上报表单 * @return */ - UserTask getNextUserTaskByTaskDefinitionKeyAndProcessDefinitionIdAndReportForm(String currentTaskDefinitionKey, String processDefinitionId, Map reportForm); + UserTask getNextUserTask(String currentTaskDefinitionKey, String processDefinitionId, Map reportForm); /** * 获得开始节点 diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiModelServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiModelServiceImpl.java index 2df2a03a..f98ce19d 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiModelServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiModelServiceImpl.java @@ -96,7 +96,7 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct } @Override - public UserTask getNextUserTaskByCurrentUserTask(UserTask currentUserTask) { + public UserTask getNextUserTask(UserTask currentUserTask) { List outgoingFlows = currentUserTask.getOutgoingFlows(); if (outgoingFlows.size() > 1 || outgoingFlows.size() == 0) { throw new SystemException("流程错误,下个用户任务节点数只能有1个"); @@ -109,7 +109,7 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct } @Override - public UserTask getNextUserTaskByExclusiveGatewayAndReportForm(ExclusiveGateway exclusiveGateway, Map reportForm) { + public UserTask getNextUserTask(ExclusiveGateway exclusiveGateway, Map reportForm) { List outgoingFlows = exclusiveGateway.getOutgoingFlows(); for (SequenceFlow sequenceFlow : outgoingFlows) { FlowElement targetFlowElement = sequenceFlow.getTargetFlowElement(); @@ -118,14 +118,14 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct return (UserTask) targetFlowElement; } } else if (targetFlowElement instanceof ExclusiveGateway) { - return getNextUserTaskByExclusiveGatewayAndReportForm(exclusiveGateway, reportForm); + return getNextUserTask(exclusiveGateway, reportForm); } } throw new SystemException("未找到下一节点用户任务"); } @Override - public UserTask getNextUserTaskByTaskDefinitionKeyAndProcessDefinitionIdAndReportForm(String currentTaskDefinitionKey, String processDefinitionId, Map reportForm) { + public UserTask getNextUserTask(String currentTaskDefinitionKey, String processDefinitionId, Map reportForm) { FlowNode currentFlowNode = getCurrentFlowNode(currentTaskDefinitionKey, processDefinitionId); List outgoingFlows = currentFlowNode.getOutgoingFlows(); for (SequenceFlow sequenceFlow : outgoingFlows) { @@ -135,7 +135,7 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct } else if (targetFlowElement instanceof ExclusiveGateway) { LOG.debug("排他网关节点,继续查找"); ExclusiveGateway exclusiveGateway = (ExclusiveGateway) targetFlowElement; - return getNextUserTaskByExclusiveGatewayAndReportForm(exclusiveGateway, reportForm); + return getNextUserTask(exclusiveGateway, reportForm); } else if (targetFlowElement instanceof EndEvent) { return null; } @@ -447,14 +447,14 @@ public class ActivitiModelServiceImpl extends DefaultBaseService implements IAct } if (expression.contains("==")) { String[] primes = expression.split("=="); - String valExpr = primes[1].trim(); - if (valExpr.startsWith("'")) { - valExpr = valExpr.substring(1); + String valExpression = primes[1].trim(); + if (valExpression.startsWith("'")) { + valExpression = valExpression.substring(1); } - if (valExpr.endsWith("'")) { - valExpr = valExpr.substring(0, valExpr.length() - 1); + if (valExpression.endsWith("'")) { + valExpression = valExpression.substring(0, valExpression.length() - 1); } - if (primes.length == 2 && valExpr.equals(reportFormMap.get(IActivitiModelService.EXCLUSIVE_GATEWAY_CONDITION_KEY))) { + if (primes.length == 2 && valExpression.equals(reportFormMap.get(IActivitiModelService.EXCLUSIVE_GATEWAY_CONDITION_KEY))) { return true; } }