From bdc870fab7c09b420079257fb05e3e08a5436ff9 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 01 九月 2021 08:25:02 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java | 36 ++++++++++++++++++++++++++++++++----
1 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java b/service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java
index 30e5f48..13c1c7f 100644
--- a/service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java
@@ -19,6 +19,7 @@
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.activiti.bpmn.model.BpmnModel;
+import org.activiti.bpmn.model.EndEvent;
import org.activiti.bpmn.model.FlowElement;
import org.activiti.bpmn.model.FlowNode;
import org.activiti.bpmn.model.SequenceFlow;
@@ -314,7 +315,7 @@
oaWorkflowDataPo = new OaWorkflowDataPo();
oaWorkflowDataPo.setBusinessKey(reqJson.getString("id"));
oaWorkflowDataPo.setFlowId(reqJson.getString("flowId"));
- oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
+ oaWorkflowDataPo.setContext("");
oaWorkflowDataPo.setDataId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_dataId));
oaWorkflowDataPo.setEvent(OaWorkflowDataDto.EVENT_COMMIT);
oaWorkflowDataPo.setPreDataId(preDataId);
@@ -329,12 +330,18 @@
oaWorkflowDataPo = new OaWorkflowDataPo();
oaWorkflowDataPo.setDataId(oaWorkflowDataDtos.get(0).getDataId());
oaWorkflowDataPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
oaWorkflowDataInnerServiceSMOImpl.updateOaWorkflowData(oaWorkflowDataPo);
+
+ //濡傛灉涓�-1 涓嶆彃鍏ヤ换鍔�
+ if ("-1".equals(reqJson.getString("nextUserId"))) {
+ return;
+ }
oaWorkflowDataPo = new OaWorkflowDataPo();
oaWorkflowDataPo.setBusinessKey(reqJson.getString("id"));
oaWorkflowDataPo.setFlowId(reqJson.getString("flowId"));
- oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
+ oaWorkflowDataPo.setContext("");
oaWorkflowDataPo.setDataId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_dataId));
oaWorkflowDataPo.setEvent(OaWorkflowDataDto.EVENT_COMMIT);
oaWorkflowDataPo.setPreDataId(oaWorkflowDataDtos.get(0).getDataId());
@@ -381,12 +388,13 @@
oaWorkflowDataPo = new OaWorkflowDataPo();
oaWorkflowDataPo.setDataId(oaWorkflowDataDtos.get(0).getDataId());
oaWorkflowDataPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
oaWorkflowDataInnerServiceSMOImpl.updateOaWorkflowData(oaWorkflowDataPo);
oaWorkflowDataPo = new OaWorkflowDataPo();
oaWorkflowDataPo.setBusinessKey(reqJson.getString("id"));
oaWorkflowDataPo.setFlowId(reqJson.getString("flowId"));
- oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
+ oaWorkflowDataPo.setContext("");
oaWorkflowDataPo.setDataId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_dataId));
oaWorkflowDataPo.setEvent(OaWorkflowDataDto.EVENT_TRANSFER);
oaWorkflowDataPo.setPreDataId(oaWorkflowDataDtos.get(0).getDataId());
@@ -451,6 +459,7 @@
OaWorkflowDataPo oaWorkflowDataPo = new OaWorkflowDataPo();
oaWorkflowDataPo.setDataId(oaWorkflowDataDtos.get(0).getDataId());
oaWorkflowDataPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
oaWorkflowDataInnerServiceSMOImpl.updateOaWorkflowData(oaWorkflowDataPo);
reqJson.put("nextUserId", preOaWorkflowDataDtos.get(0).getStaffId());
@@ -460,7 +469,7 @@
oaWorkflowDataPo = new OaWorkflowDataPo();
oaWorkflowDataPo.setBusinessKey(preOaWorkflowDataDtos.get(0).getBusinessKey());
oaWorkflowDataPo.setFlowId(preOaWorkflowDataDtos.get(0).getFlowId());
- oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
+ oaWorkflowDataPo.setContext("");
oaWorkflowDataPo.setDataId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_dataId));
oaWorkflowDataPo.setEvent(preOaWorkflowDataDtos.get(0).getEvent());
oaWorkflowDataPo.setPreDataId(oaWorkflowDataDtos.get(0).getPreDataId());
@@ -553,10 +562,12 @@
List<SequenceFlow> outgoingFlows = flowNode.getOutgoingFlows();
JSONObject taskObj = null;
taskObj = new JSONObject();
+ boolean isReturn = false;
//閬嶅巻杈撳嚭杩炵嚎
for (SequenceFlow outgoingFlow : outgoingFlows) {
//鑾峰彇杈撳嚭鑺傜偣鍏冪礌
FlowElement targetFlowElement = outgoingFlow.getTargetFlowElement();
+ isReturn = false;
//鎺掗櫎闈炵敤鎴蜂换鍔℃帴鐐�
if (targetFlowElement instanceof UserTask) {
//鍒ゆ柇杈撳嚭鑺傜偣鐨別l琛ㄨ揪寮�
@@ -565,11 +576,28 @@
if (isCondition(outgoingFlow.getConditionExpression(), vars)) {
//true 鑾峰彇杈撳嚭鑺傜偣鍚嶇О
taskObj.put("back", outgoingFlow.getTargetFlowElement().getName());
+ isReturn = true;
}
vars.put("auditCode", "1400");
if (isCondition(outgoingFlow.getConditionExpression(), vars)) {
//true 鑾峰彇杈撳嚭鑺傜偣鍚嶇О
taskObj.put("backIndex", outgoingFlow.getTargetFlowElement().getName());
+ isReturn = true;
+ }
+ if (!isReturn) {
+ String assignee = ((UserTask) targetFlowElement).getAssignee();
+ if (!StringUtil.isEmpty(assignee) && assignee.indexOf("${") < 0) {
+ taskObj.put("assignee", assignee); // 涓嬩竴鑺傜偣澶勭悊浜�
+ }
+ }
+ }
+
+ //濡傛灉涓嬩竴涓负 缁撴潫鑺傜偣
+ if (targetFlowElement instanceof EndEvent) {
+ Map vars = new HashMap();
+ vars.put("auditCode", "1100");
+ if (isCondition(outgoingFlow.getConditionExpression(), vars)) {
+ taskObj.put("assignee", "-1"); // 娌℃湁涓嬩竴澶勭悊浜轰簡
}
}
}
--
Gitblit v1.8.0