diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CollectManifestRoleIdEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CollectManifestRoleIdEnum.java new file mode 100644 index 000000000..46ac56ff5 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CollectManifestRoleIdEnum.java @@ -0,0 +1,97 @@ +package com.jero.modules.project.enums; + +import cn.hutool.core.collection.CollectionUtil; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; + +/** + * @Author: liyawei + * @Description: + * @Date: Created in 10:56 2022/6/11 + */ +public enum CollectManifestRoleIdEnum { +// STUDIO_ID("R&H Studio","R&H Studio","studio","1534019911296118786",1), + ADMIN_ID("R&H Manager","R&H Manager","manager","1534020391015444481",2), + MANAGER_ID("系统管理员","Administrator","admin","f6817f48af4fb3af11b9e8bf182f618b",3); + + String name; + String enName; + String value; + String id; + Integer order; + + CollectManifestRoleIdEnum(String name, String enName, String value, String id, Integer order) { + this.name = name; + this.enName = enName; + this.value = value; + this.id = id; + this.order = order; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } + + public static List getIdList() { + List idList = new ArrayList<>(); + CollectManifestRoleIdEnum[] values = values(); + for (CollectManifestRoleIdEnum collectManifestRoleIdEnum : values) { + idList.add(collectManifestRoleIdEnum.getId()); + } + return idList; + } + + public static List getByIdList(List idList) { + List collectManifestRoleIdEnums = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(idList)) { + CollectManifestRoleIdEnum[] values = values(); + for (CollectManifestRoleIdEnum collectManifestRoleIdEnum : values) { + if (idList.contains(collectManifestRoleIdEnum.getId())) { + collectManifestRoleIdEnums.add(collectManifestRoleIdEnum); + } + } + } + if (CollectionUtil.isNotEmpty(collectManifestRoleIdEnums) && collectManifestRoleIdEnums.size() > 1) { + collectManifestRoleIdEnums.stream().sorted(Comparator.comparing(CollectManifestRoleIdEnum :: getOrder)); + } + return collectManifestRoleIdEnums; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java index 8730fe829..ba96e021c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java @@ -21,7 +21,9 @@ import com.jero.modules.project.util.SendMessageUtils; import com.jero.modules.project.vo.ProjectTaskInventoryVO; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.entity.SysUserRole; import com.jero.modules.system.mapper.SysUserMapper; +import com.jero.modules.system.service.ISysUserRoleService; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum; import com.jero.modules.wkflow.enums.FlowTypeEnum; @@ -83,6 +85,9 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl userRoleList = this.sysUserRoleService.list(new QueryWrapper().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色 + if(CollectionUtils.isNotEmpty(userRoleList)){ + List roleIdList = CollectManifestRoleIdEnum.getIdList(); + List userRoles = userRoleList.stream().filter(userRole -> { + boolean flag = false; + for (String roleId : roleIdList) { + if (StringUtils.equals(roleId, userRole.getRoleId())) { + flag = true; + } + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(userRoles)){ + isAdministrator = true; + } + } + List result = new ArrayList<>(); for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) { //流程实例id @@ -575,7 +602,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl