From ddaaec1d16f66bc2d50cc889c8a64cfc8ca06824 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 26 四月 2020 23:09:49 +0800
Subject: [PATCH] 优化 处理人没有时处理为空
---
CommonService/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java | 32 +++++++++++++++++++++++---------
1 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/CommonService/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java b/CommonService/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java
index 1cf6349..48019d7 100644
--- a/CommonService/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java
+++ b/CommonService/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java
@@ -2,13 +2,16 @@
import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.smo.audit.IAuditUserInnerServiceSMO;
import com.java110.core.smo.complaint.IComplaintInnerServiceSMO;
import com.java110.core.smo.purchaseApplyUser.IPurchaseApplyUserInnerServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.auditMessage.AuditMessageDto;
+import com.java110.dto.auditUser.AuditUserDto;
import com.java110.dto.purchaseApply.PurchaseApplyDto;
import com.java110.entity.audit.AuditUser;
import com.java110.utils.util.Assert;
+import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.activiti.engine.HistoryService;
import org.activiti.engine.ProcessEngine;
@@ -48,6 +51,8 @@
@Autowired
private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl;
+ @Autowired
+ private IAuditUserInnerServiceSMO auditUserInnerServiceSMOImpl;
/**
* 鍚姩娴佺▼
@@ -58,16 +63,15 @@
//灏嗕俊鎭姞鍏ap,浠ヤ究浼犲叆娴佺▼涓�
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("purchaseApplyDto", purchaseApplyDto);
- variables.put("userId", purchaseApplyDto.getCurrentUserId());
+ //variables.put("userId", purchaseApplyDto.getCurrentUserId());
//寮�鍚祦绋�
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("resourceEntry", purchaseApplyDto.getApplyOrderId(), variables);
- //灏嗗緱鍒扮殑瀹炰緥娴佺▼id鍊艰祴缁欎箣鍓嶈缃殑鍙橀噺
- String processInstanceId = processInstance.getId();
- // System.out.println("娴佺▼寮�鍚垚鍔�.......瀹炰緥娴佺▼id:" + processInstanceId);
-
- purchaseApplyDto.setProcessInstanceId(processInstanceId);
- //绗竴涓妭鐐硅嚜鍔ㄦ彁浜�
- autoFinishFirstTask(purchaseApplyDto);
+// //灏嗗緱鍒扮殑瀹炰緥娴佺▼id鍊艰祴缁欎箣鍓嶈缃殑鍙橀噺
+// String processInstanceId = processInstance.getId();
+// // System.out.println("娴佺▼寮�鍚垚鍔�.......瀹炰緥娴佺▼id:" + processInstanceId);
+//
+// purchaseApplyDto.setProcessInstanceId(processInstanceId);
+// autoFinishFirstTask(purchaseApplyDto);
return purchaseApplyDto;
}
@@ -75,9 +79,18 @@
* 鑷姩鎻愪氦绗竴姝�
*/
private void autoFinishFirstTask(PurchaseApplyDto purchaseApplyDto) {
+ AuditUserDto auditUserDto = new AuditUserDto();
+ auditUserDto.setStoreId(purchaseApplyDto.getStoreId());
+ auditUserDto.setObjCode("resourceEntry");
+ auditUserDto.setAuditLink("809001");
+ List<AuditUserDto> auditUserDtos = auditUserInnerServiceSMOImpl.queryAuditUsers(auditUserDto);
+ if(auditUserDtos.size() == 0 || auditUserDtos == null){
+ throw new IllegalArgumentException("鏈壘鐨勯噰璐儴闂ㄥ鏍镐汉鍛樹俊鎭�");
+ }
Task task = null;
- TaskQuery query = taskService.createTaskQuery().taskCandidateOrAssigned(purchaseApplyDto.getCurrentUserId()).active();
+ TaskQuery query = taskService.createTaskQuery().taskCandidateOrAssigned(auditUserDtos.get(0).getUserId()).active();
List<Task> todoList = query.list();//鑾峰彇鐢宠浜虹殑寰呭姙浠诲姟鍒楄〃
+
for (Task tmp : todoList) {
if (tmp.getProcessInstanceId().equals(purchaseApplyDto.getProcessInstanceId())) {
task = tmp;//鑾峰彇褰撳墠娴佺▼瀹炰緥锛屽綋鍓嶇敵璇蜂汉鐨勫緟鍔炰换鍔�
@@ -240,6 +253,7 @@
//taskService.addCandidateUser(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
//taskService.claim(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
taskService.complete(purchaseApplyDto.getTaskId(), variables);
+ taskService.setVariable(purchaseApplyDto.getTaskId(),"purchaseApplyDto",purchaseApplyDto);
ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
if (pi == null) {
--
Gitblit v1.8.0