diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java index 6e0c68b..3092b6a 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -14,11 +15,11 @@ public class SysDeptAndUserUtil { /** - * 根据部门获取部门负责人id + * 根据部门获取部门负责人id列表 * @param deptId * @return */ - public static String getDeptDirectorIdByDeptId(Long deptId){ + public static List getDeptDirectorIdByDeptId(Long deptId){ List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + @@ -26,11 +27,13 @@ "WHERE "+ "sr.TIPS = {1}" + "AND su.DEPT_ID = {0}", String.valueOf(deptId), "director"); - if(CollectionUtils.isEmpty(list)){ - return ""; + List userIdList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(idMap -> { + userIdList.add(String.valueOf(idMap.get("id"))); + }); } - Map idMap = list.get(0); - return String.valueOf(idMap.get("id")); + return userIdList; } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java index 6e0c68b..3092b6a 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -14,11 +15,11 @@ public class SysDeptAndUserUtil { /** - * 根据部门获取部门负责人id + * 根据部门获取部门负责人id列表 * @param deptId * @return */ - public static String getDeptDirectorIdByDeptId(Long deptId){ + public static List getDeptDirectorIdByDeptId(Long deptId){ List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + @@ -26,11 +27,13 @@ "WHERE "+ "sr.TIPS = {1}" + "AND su.DEPT_ID = {0}", String.valueOf(deptId), "director"); - if(CollectionUtils.isEmpty(list)){ - return ""; + List userIdList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(idMap -> { + userIdList.add(String.valueOf(idMap.get("id"))); + }); } - Map idMap = list.get(0); - return String.valueOf(idMap.get("id")); + return userIdList; } /** diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java index c1ce0a7..d1bc6ee 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java @@ -141,9 +141,9 @@ //根据发起人查部门,根据部门查主管角色查主管,每个部门只有一个主管,根据角色和部门获取主管 //sys_role表tips字段区分角色,director定义为主管角色 - String directorId = SysDeptAndUserUtil.getDeptDirectorIdByDeptId(deptId); - if(!"".equals(directorId)){ - assigneeList.add(directorId); + List directorId = SysDeptAndUserUtil.getDeptDirectorIdByDeptId(deptId); + if(!CollectionUtils.isEmpty(directorId)){ + assigneeList.addAll(directorId); } } else if (AssigneeSetTypeEnum.SELF_SELECT == settype) { // TODO: 2022/12/27 发起人自选审批人(需求暂无此功能)