From 613864fbb4036c6006a6e7a9216dd92539296f72 Mon Sep 17 00:00:00 2001
From: pengqiang <1067496116@qq.com>
Date: Fri, 19 Nov 2021 10:22:43 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8F=AA=E7=BB=99=E6=9C=89=E6=95=88=E8=B4=A6?=
 =?UTF-8?q?=E5=8F=B7=E5=8F=91=E9=80=81=E5=AE=A1=E6=89=B9=E4=BB=BB=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/backend/ActProcInsController.java   |  2 +-
 .../cn/palmte/work/service/ActListenerService.java | 14 +++++++++++++-
 .../templates/admin/act_proc_def_list.ftl          |  1 -
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cn/palmte/work/controller/backend/ActProcInsController.java b/src/main/java/cn/palmte/work/controller/backend/ActProcInsController.java
index 3cb6a07..043046d 100644
--- a/src/main/java/cn/palmte/work/controller/backend/ActProcInsController.java
+++ b/src/main/java/cn/palmte/work/controller/backend/ActProcInsController.java
@@ -94,7 +94,7 @@ public class ActProcInsController extends BaseController {
         variables.put(ActConstant.START_PROCESS_USERID, InterfaceUtil.getAdminId());
         String procInsId = null;
         try {
-            procInsId = actProcInsService.startProcessInstance(procDefKey, "", variables);
+            procInsId = actProcInsService.startProcessInstance(procDefKey, "0", variables);
         } catch (Exception e) {
             logger.error("", e);
             return ResponseMsg.buildFailedMsg("流程启动失败:" + e.getMessage());
diff --git a/src/main/java/cn/palmte/work/service/ActListenerService.java b/src/main/java/cn/palmte/work/service/ActListenerService.java
index 529f63d..98be86e 100644
--- a/src/main/java/cn/palmte/work/service/ActListenerService.java
+++ b/src/main/java/cn/palmte/work/service/ActListenerService.java
@@ -1,6 +1,8 @@
 package cn.palmte.work.service;
 
 
+import cn.palmte.work.model.Admin;
+import cn.palmte.work.model.AdminRepository;
 import cn.palmte.work.utils.ActUtil;
 import org.activiti.engine.RuntimeService;
 import org.activiti.engine.delegate.DelegateExecution;
@@ -34,6 +36,9 @@ public class ActListenerService {
     @Autowired
     private ActUtil actUtil;
 
+    @Autowired
+    private AdminRepository adminRepository;
+
     /**
      * 任务节点创建后监听 动态设置审批人
      *
@@ -89,7 +94,14 @@ public class ActListenerService {
         try {
             int adminId = 0;
             if (!candidateUsers.isEmpty()) {
-                adminId = Integer.parseInt(candidateUsers.get(0));
+                for (String id : candidateUsers) {
+                    Admin one = adminRepository.findOne(Integer.parseInt(id));
+                    if (!one.isDeleted() && one.getEnabled() == 1) {
+                        //找到有效账号 发送任务
+                        adminId = one.getId();
+                        break;
+                    }
+                }
             }
             projectInstanceService.updateApprover(Integer.parseInt(businessKey), adminId);
         } catch (Exception e) {
diff --git a/src/main/resources/templates/admin/act_proc_def_list.ftl b/src/main/resources/templates/admin/act_proc_def_list.ftl
index 38a084b..45c85aa 100644
--- a/src/main/resources/templates/admin/act_proc_def_list.ftl
+++ b/src/main/resources/templates/admin/act_proc_def_list.ftl
@@ -254,7 +254,6 @@
 
     var startProcIns = function (procDefKey) {
         var params = {
-            projectId: 1,
             projectType: 3
         };
         $.ajax({