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 |   33 +++++++++++++++++++++++----------
 1 files changed, 23 insertions(+), 10 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 c9c57fd..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,10 +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();//鑾峰彇鐢宠浜虹殑寰呭姙浠诲姟鍒楄〃
-        List<Task> list = taskService.createTaskQuery().list();
+
         for (Task tmp : todoList) {
             if (tmp.getProcessInstanceId().equals(purchaseApplyDto.getProcessInstanceId())) {
                 task = tmp;//鑾峰彇褰撳墠娴佺▼瀹炰緥锛屽綋鍓嶇敵璇蜂汉鐨勫緟鍔炰换鍔�
@@ -241,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