diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java index 959e5c4a2..e6344e7f8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java @@ -16,6 +16,7 @@ import com.jero.modules.dummy.entity.DummyInventoryBaseEO; import com.jero.modules.dummy.service.IDummyInventoryBaseEOService; import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.service.IProjectLawsInventoryEOService; +import com.jero.modules.system.entity.SysRole; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -436,4 +437,22 @@ public class ProjectLawsInventoryEOController extends JeroController> getRoleByUserId(String projectLibraryId) { + Result> result = new Result<>(); + List list = projectLawsInventoryEOService.getRoleByUserId(projectLibraryId); + if(list==null||list.size()<=0) { + result.error500("未找到角色信息"); + }else { + result.setResult(list); + result.setSuccess(true); + } + return result; + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java index b5b1231b7..b4434de43 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java @@ -6,6 +6,7 @@ import com.itextpdf.text.DocumentException; import com.jero.common.api.vo.Result; import com.jero.common.system.vo.LoginUser; import com.jero.modules.project.entity.ProjectLawsInventoryEO; +import com.jero.modules.system.entity.SysRole; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -144,4 +145,6 @@ public interface IProjectLawsInventoryEOService extends IService expediting(JSONObject json); + + List getRoleByUserId(String projectLibraryId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 24d47ce52..54743a307 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -50,9 +50,11 @@ import com.jero.modules.split.common.FileUnZip; import com.jero.modules.system.entity.SysAnnouncement; import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.entity.SysRole; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysCategoryMapper; import com.jero.modules.system.mapper.SysDictItemMapper; +import com.jero.modules.system.mapper.SysRoleMapper; import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.ISysAnnouncementService; import com.jero.modules.system.service.ISysUserService; @@ -204,6 +206,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl getRoleByUserId(String projectLibraryId) { + List sysRoles = new LinkedList<>(); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //项目详情中取R&H Studio和认证工程师 + List projectLibraryBases = projectLibraryBaseService.queryById(projectLibraryId); + String certificationEngineerName = ""; + if(projectLibraryBases.size() != 0){ + certificationEngineerName = projectLibraryBases.get(0).getCertificationEngineerName(); + String studioEngineerName = projectLibraryBases.get(0).getStudioEngineerName(); + if(StringUtils.isNotBlank(studioEngineerName) && studioEngineerName.equals(loginUser.getUsername())){ + SysRole sysRole = new SysRole(); + sysRole.setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.STUDIO_ENGINEER.getValue()); + sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.STUDIO_ENGINEER.getName()); + sysRoles.add(sysRole); + } + } + //相关人员名单中取法规工程师 + List projectRelatedPersonnels = projectRelatedPersonnelService.queryPageList(projectLibraryId); + List lawEngineerNameList = new ArrayList<>(); + if(projectRelatedPersonnels.size() != 0){ + lawEngineerNameList = projectRelatedPersonnels.stream().map(ProjectRelatedPersonnel::getLawEngineerName).collect(Collectors.toList()); + } + if(StringUtils.isNotBlank(certificationEngineerName) && certificationEngineerName.equals(loginUser.getUsername()) + && lawEngineerNameList.contains(loginUser.getUsername())){ + SysRole sysRole = new SysRole(); + sysRole.setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue()); + sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getName()); + sysRoles.add(sysRole); + + } + + List roleList = sysRoleMapper.getRoleByUserId(loginUser.getId()); + //studio角色,法规工程师/认证工程师,领导角色,管理员角色 + if (roleList.size() != 0) { + List manager = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getCode().equals(e.getRoleCode())).collect(Collectors.toList()); + List admin = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode().equals(e.getRoleCode())).collect(Collectors.toList()); + if (manager.size() != 0) { + manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getValue()); + sysRoles.addAll(manager); + } + if (admin.size() != 0) { + admin.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getValue()); + sysRoles.addAll(admin); + } + } + return sysRoles; + } } diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index 64b874f43..d79fa6829 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -117,7 +117,9 @@ {{ $t('add') }} -
+
{{ $t('roleSwitching') }}
@@ -136,6 +138,7 @@ {{ $t('batSetting') }}
{{ $t('roleSwitching') }} @@ -888,7 +891,7 @@ return current && current < moment().subtract(1, 'day') }, getRoleByUserId() { - getAction('/sys/role/getRoleByUserId', { projectLibraryId: this.$route.query.id }).then((res) => { + getAction('/project/projectLawsInventoryEO/getRoleByUserId', { projectLibraryId: this.$route.query.id }).then((res) => { if (res.success) { this.roleSwitchingList = res.result || [] } else {