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 | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 52 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 2732e59..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;
@@ -89,6 +90,12 @@
//variables.put("reqJson", reqJson);
variables.put("startUserId", reqJson.getString("createUserId"));
variables.put("nextUserId", reqJson.getString("createUserId"));
+ UserDto userDto = new UserDto();
+ userDto.setUserId(reqJson.getString("createUserId"));
+ List<UserDto> users = userInnerServiceSMOImpl.getUsers(userDto);
+
+ Assert.listOnlyOne(users, "鐢ㄦ埛涓嶅瓨鍦�");
+
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(getWorkflowDto(reqJson.getString("flowId")), reqJson.getString("id"), variables);
//灏嗗緱鍒扮殑瀹炰緥娴佺▼id鍊艰祴缁欎箣鍓嶈缃殑鍙橀噺
String processInstanceId = processInstance.getId();
@@ -96,6 +103,20 @@
reqJson.put("processInstanceId", processInstanceId);
//绗竴涓妭鐐硅嚜鍔ㄦ彁浜�
//autoFinishFirstTask(reqJson);
+ //鍒峰叆鎵╁睍琛�
+ OaWorkflowDataPo oaWorkflowDataPo = null;
+ oaWorkflowDataPo = new OaWorkflowDataPo();
+ oaWorkflowDataPo.setBusinessKey(reqJson.getString("id"));
+ oaWorkflowDataPo.setFlowId(reqJson.getString("flowId"));
+ oaWorkflowDataPo.setContext(reqJson.getString("auditMessage"));
+ oaWorkflowDataPo.setDataId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_dataId));
+ oaWorkflowDataPo.setEvent(OaWorkflowDataDto.EVENT_COMMIT);
+ oaWorkflowDataPo.setPreDataId("-1");
+ oaWorkflowDataPo.setStaffId(reqJson.getString("createUserId"));
+ oaWorkflowDataPo.setStaffName(users.get(0).getName());
+ oaWorkflowDataPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ oaWorkflowDataPo.setStoreId(reqJson.getString("storeId"));
+ oaWorkflowDataInnerServiceSMOImpl.saveOaWorkflowData(oaWorkflowDataPo);
return reqJson;
}
@@ -294,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);
@@ -309,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());
@@ -361,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());
@@ -431,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());
@@ -440,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());
@@ -533,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琛ㄨ揪寮�
@@ -545,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