From d598f850efae87106b572a5b17cab5d83117b7d5 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 29 二月 2020 16:19:17 +0800
Subject: [PATCH] 优化工作流手环节查询

---
 CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java |   30 +++++++++++++++++++++++-------
 1 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java b/CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java
index 9e3b1bc..eb69179 100644
--- a/CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java
+++ b/CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java
@@ -4,19 +4,19 @@
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.smo.complaint.IComplaintInnerServiceSMO;
 import com.java110.core.smo.complaintUser.IComplaintUserInnerServiceSMO;
-import com.java110.dto.FeeDto;
 import com.java110.dto.PageDto;
 import com.java110.dto.auditMessage.AuditMessageDto;
 import com.java110.dto.complaint.ComplaintDto;
 import com.java110.entity.audit.AuditUser;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import org.activiti.engine.HistoryService;
 import org.activiti.engine.ProcessEngine;
 import org.activiti.engine.RuntimeService;
 import org.activiti.engine.TaskService;
-import org.activiti.engine.history.HistoricActivityInstance;
 import org.activiti.engine.history.HistoricProcessInstance;
 import org.activiti.engine.history.HistoricTaskInstance;
+import org.activiti.engine.history.HistoricTaskInstanceQuery;
 import org.activiti.engine.impl.identity.Authentication;
 import org.activiti.engine.query.Query;
 import org.activiti.engine.runtime.ProcessInstance;
@@ -161,9 +161,19 @@
      */
     public long getUserHistoryTaskCount(@RequestBody AuditUser user) {
         HistoryService historyService = processEngine.getHistoryService();
-        Query query = historyService.createHistoricTaskInstanceQuery()
+//        Query query = historyService.createHistoricTaskInstanceQuery()
+//                .processDefinitionKey("complaint")
+//                .taskAssignee(user.getUserId());
+
+        HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
                 .processDefinitionKey("complaint")
-                .taskAssignee(user.getUserId());
+                .taskAssignee(user.getUserId())
+                .orderByHistoricTaskInstanceStartTime();
+        if(!StringUtil.isEmpty(user.getAuditLink()) && "START".equals(user.getAuditLink())){
+            historicTaskInstanceQuery.taskName("complaint");
+        }
+
+        Query query = historicTaskInstanceQuery;
         return query.count();
     }
 
@@ -174,11 +184,16 @@
      */
     public List<ComplaintDto> getUserHistoryTasks(@RequestBody AuditUser user) {
         HistoryService historyService = processEngine.getHistoryService();
-        Query query = historyService.createHistoricTaskInstanceQuery()
+
+        HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
                 .processDefinitionKey("complaint")
                 .taskAssignee(user.getUserId())
-                .orderByHistoricTaskInstanceStartTime()
-                .desc();
+                .orderByHistoricTaskInstanceStartTime();
+        if(!StringUtil.isEmpty(user.getAuditLink()) && "START".equals(user.getAuditLink())){
+            historicTaskInstanceQuery.taskName("complaint");
+        }
+
+        Query query = historicTaskInstanceQuery.desc();
 
         List<HistoricTaskInstance> list = null;
         if (user.getPage() != PageDto.DEFAULT_PAGE) {
@@ -218,6 +233,7 @@
         variables.put("currentUserId", complaintDto.getCurrentUserId());
         //taskService.setAssignee(complaintDto.getTaskId(),complaintDto.getCurrentUserId());
         //taskService.addCandidateUser(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
+        //taskService.claim(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
         taskService.complete(complaintDto.getTaskId(), variables);
 
         ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();

--
Gitblit v1.8.0