From 4c91fada0d44dafee1f3bfb05f1ffde4aa121e4e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 10 五月 2020 02:00:06 +0800
Subject: [PATCH] 优化流程查询
---
CommonService/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java | 73 ++++++++++++++++++++++++++++++------
1 files changed, 61 insertions(+), 12 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 2bd2981..759b9dd 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
@@ -5,16 +5,22 @@
import com.java110.core.smo.audit.IAuditUserInnerServiceSMO;
import com.java110.core.smo.complaint.IComplaintInnerServiceSMO;
import com.java110.core.smo.purchaseApplyUser.IPurchaseApplyUserInnerServiceSMO;
+import com.java110.core.smo.user.IUserInnerServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.auditMessage.AuditMessageDto;
import com.java110.dto.auditUser.AuditUserDto;
+import com.java110.dto.complaint.ComplaintDto;
import com.java110.dto.purchaseApply.PurchaseApplyDto;
+import com.java110.dto.user.UserDto;
import com.java110.entity.audit.AuditUser;
import com.java110.utils.util.Assert;
+import com.java110.utils.util.Base64Convert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
+import org.activiti.bpmn.model.BpmnModel;
import org.activiti.engine.HistoryService;
import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.history.HistoricProcessInstance;
@@ -30,7 +36,11 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -49,6 +59,16 @@
private TaskService taskService;
@Autowired
+ private HistoryService historyService;
+
+ @Autowired
+ private RepositoryService repositoryService;
+
+
+ @Autowired
+ private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
+ @Autowired
private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl;
@Autowired
@@ -63,9 +83,10 @@
//灏嗕俊鎭姞鍏ap,浠ヤ究浼犲叆娴佺▼涓�
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("purchaseApplyDto", purchaseApplyDto);
- //variables.put("userId", purchaseApplyDto.getCurrentUserId());
+ variables.put("nextAuditStaffId",purchaseApplyDto.getStaffId());
+ variables.put("userId", purchaseApplyDto.getCurrentUserId());
//寮�鍚祦绋�
- ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("resourceEnter", purchaseApplyDto.getApplyOrderId(), variables);
+ ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("resourceEntry", purchaseApplyDto.getApplyOrderId(), variables);
// //灏嗗緱鍒扮殑瀹炰緥娴佺▼id鍊艰祴缁欎箣鍓嶈缃殑鍙橀噺
String processInstanceId = processInstance.getId();
// // System.out.println("娴佺▼寮�鍚垚鍔�.......瀹炰緥娴佺▼id:" + processInstanceId);
@@ -79,16 +100,8 @@
* 鑷姩鎻愪氦绗竴姝�
*/
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(auditUserDtos.get(0).getUserId()).active();
+ TaskQuery query = taskService.createTaskQuery().taskCandidateOrAssigned(purchaseApplyDto.getCurrentUserId()).active();
List<Task> todoList = query.list();//鑾峰彇鐢宠浜虹殑寰呭姙浠诲姟鍒楄〃
for (Task tmp : todoList) {
@@ -254,7 +267,7 @@
//taskService.addCandidateUser(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
//taskService.claim(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
taskService.complete(purchaseApplyDto.getTaskId(), variables);
- taskService.setVariable(purchaseApplyDto.getTaskId(), "purchaseApplyDto", purchaseApplyDto);
+ //taskService.setVariable(purchaseApplyDto.getTaskId(), "purchaseApplyDto", purchaseApplyDto);
ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
if (pi == null) {
@@ -284,6 +297,42 @@
return auditMessageDtos;
}
+ /**
+ * 鑾峰彇浠诲姟褰撳墠澶勭悊浜�
+ *
+ * @param purchaseApplyDto
+ * @return
+ */
+ public PurchaseApplyDto getTaskCurrentUser(@RequestBody PurchaseApplyDto purchaseApplyDto) {
+
+ TaskService taskService = processEngine.getTaskService();
+ Task task = taskService.createTaskQuery().processInstanceBusinessKey(purchaseApplyDto.getApplyOrderId()).singleResult();
+
+ if (task == null) {
+ purchaseApplyDto.setStaffId("");
+ purchaseApplyDto.setStaffName("");
+ purchaseApplyDto.setStaffTel("");
+ return purchaseApplyDto;
+ }
+
+ String userId = task.getAssignee();
+ List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(new String[]{userId});
+
+ if (users == null || users.size() == 0) {
+ purchaseApplyDto.setStaffId("");
+ purchaseApplyDto.setStaffName("");
+ purchaseApplyDto.setStaffTel("");
+ return purchaseApplyDto;
+ }
+
+ purchaseApplyDto.setCurrentUserId(userId);
+ purchaseApplyDto.setStaffName(users.get(0).getName());
+ purchaseApplyDto.setStaffTel(users.get(0).getTel());
+ return purchaseApplyDto;
+
+ }
+
+
public ProcessEngine getProcessEngine() {
return processEngine;
--
Gitblit v1.8.0