认证清单-获取当前用户拥有的角色列表接口开发。增加责任人、接口人角色。
This commit is contained in:
+3
@@ -12,6 +12,9 @@ public enum ProjectRoleEnum {
|
||||
ADMIN("系统管理员","12","admin"),
|
||||
VIEWER("Viewer","13","Viewer"),
|
||||
BRAND_ADMINISTRATOR("品牌管理员","14","BrandAdministrator"),
|
||||
// 项目库-认证清单使用。
|
||||
INTERFACE_PERSON("接口人","20","Interface person"),
|
||||
PERSON_LIABLE("责任人","21","Person liable"),
|
||||
;
|
||||
|
||||
String name;
|
||||
|
||||
+13
-5
@@ -2,18 +2,19 @@ package com.jero.modules.project.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO;
|
||||
import com.jero.modules.project.entity.ProjectCertificationInventoryEO;
|
||||
import com.jero.modules.project.service.IProjectCertificationInventoryEOService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -179,17 +180,24 @@ public class ProjectCertificationInventoryEOController extends JeroController<Pr
|
||||
return this.projectCertificationInventoryEOService.batchAdd(json);
|
||||
}
|
||||
|
||||
@AutoLog(value = "认证虚拟清单详情表-批量设置")
|
||||
@ApiOperation(value="认证虚拟清单详情表-批量设置", notes="认证虚拟清单详情表-批量设置")
|
||||
@AutoLog(value = "项目库-认证清单表-批量设置")
|
||||
@ApiOperation(value="项目库-认证清单表-批量设置", notes="项目库-认证清单表-批量设置")
|
||||
@PostMapping(value = "/setBatch")
|
||||
public Result<?> setBatch(@RequestBody ProjectCertificationInventoryEO projectCertificationInventoryEO) {
|
||||
return this.projectCertificationInventoryEOService.setBatch(projectCertificationInventoryEO);
|
||||
}
|
||||
|
||||
@AutoLog(value = "认证虚拟清单详情表-studio发布")
|
||||
@ApiOperation(value="认证虚拟清单详情表-studio发布", notes="认证虚拟清单详情表-studio发布")
|
||||
@AutoLog(value = "项目库-认证清单表-studio发布")
|
||||
@ApiOperation(value="项目库-认证清单表-studio发布", notes="项目库-认证清单表-studio发布")
|
||||
@PostMapping(value = "/issue")
|
||||
public Result<?> issue(@RequestBody JSONObject json) {
|
||||
return this.projectCertificationInventoryEOService.issue(json);
|
||||
}
|
||||
|
||||
@AutoLog(value = "项目库-认证清单表-当前登录用户角色")
|
||||
@ApiOperation(value="项目库-认证清单表-当前登录用户角色", notes="项目库-认证清单表-当前登录用户角色")
|
||||
@GetMapping(value = "/getRoleByUserId")
|
||||
public Result<List<SysRole>> getRoleByUserId(@RequestParam Map<String,Object> params) {
|
||||
return this.projectCertificationInventoryEOService.getRoleByUserId(params);
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -5,10 +5,12 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.project.entity.ProjectCertificationInventoryEO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 项目库-认证清单表
|
||||
@@ -98,4 +100,6 @@ public interface IProjectCertificationInventoryEOService extends IService<Projec
|
||||
void addProcessInfoEO(ProcessInfoEO processInfoEO, String projectLibraryId);
|
||||
|
||||
void addProcessInfoDetailEO(List<ProcessInfoDetailEO> processInfoDetailEOList, ProcessInfoEO processInfoEO);
|
||||
|
||||
Result<List<SysRole>> getRoleByUserId(Map<String, Object> params);
|
||||
}
|
||||
|
||||
+167
-4
@@ -6,16 +6,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.DateUtils;
|
||||
import com.jero.modules.project.entity.ProjectCertificationInventoryEO;
|
||||
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.project.enums.*;
|
||||
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
|
||||
import com.jero.modules.system.enums.ProjectRoleEnum;
|
||||
import com.jero.modules.project.mapper.ProjectCertificationInventoryEOMapper;
|
||||
import com.jero.modules.project.service.IProjectCertificationInventoryEOService;
|
||||
import com.jero.modules.project.service.IProjectLibraryBaseService;
|
||||
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.SysRoleMapper;
|
||||
import com.jero.modules.system.service.ISysCategoryService;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
@@ -26,16 +32,14 @@ import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -67,6 +71,10 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
private IProcessInfoEOService processInfoEOService;
|
||||
@Autowired
|
||||
private IProcessInfoDetailEOService processInfoDetailEOService;
|
||||
@Autowired
|
||||
private IProjectRelatedPersonnelService projectRelatedPersonnelService;
|
||||
@Autowired
|
||||
private SysRoleMapper sysRoleMapper;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -365,4 +373,159 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
this.processInfoDetailEOService.remove(deleteDetailWrap);
|
||||
this.processInfoDetailEOService.saveBatch(processInfoDetailEOList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<List<SysRole>> getRoleByUserId(Map<String, Object> params) {
|
||||
Result<List<SysRole>> result = new Result<>();
|
||||
String projectLibraryId = (String) params.get("projectLibraryId");
|
||||
String cut = (String) params.get("cut");
|
||||
|
||||
List<SysRole> sysRoles = new LinkedList<>();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
//项目详情中取R&H Studio和认证工程师
|
||||
List<ProjectLibraryBase> projectLibraryBases = projectLibraryBaseService.queryById(projectLibraryId,null);
|
||||
String certificationEngineerName = "";
|
||||
if(projectLibraryBases.size() != 0){
|
||||
certificationEngineerName = projectLibraryBases.get(0).getCertificationEngineerName();
|
||||
String studioEngineerName = projectLibraryBases.get(0).getStudioEngineerName();
|
||||
// studio
|
||||
if(StringUtils.isNotBlank(studioEngineerName) && studioEngineerName.equals(loginUser.getUsername())){
|
||||
SysRole sysRole = new SysRole();
|
||||
sysRole.setRoleCode(ProjectRoleEnum.STUDIO_ENGINEER.getValue());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.STUDIO_ENGINEER.getName());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.STUDIO_ENGINEER.getCode());
|
||||
}
|
||||
|
||||
sysRoles.add(sysRole);
|
||||
}
|
||||
|
||||
// 认证
|
||||
if((StringUtils.isNotBlank(certificationEngineerName) && certificationEngineerName.contains(loginUser.getUsername()))){
|
||||
SysRole sysRole = new SysRole();
|
||||
sysRole.setRoleCode(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getName());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getCode());
|
||||
}
|
||||
sysRoles.add(sysRole);
|
||||
}
|
||||
|
||||
// 法规
|
||||
//相关人员名单中取法规工程师
|
||||
List<ProjectRelatedPersonnel> projectRelatedPersonnels = this.projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null);
|
||||
List<String> lawEngineerNameList = new ArrayList<>();
|
||||
if(projectRelatedPersonnels.size() != 0){
|
||||
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) {
|
||||
String lawEngineerName = projectRelatedPersonnel.getLawEngineerName();
|
||||
if(StringUtils.isNotBlank(lawEngineerName)){
|
||||
lawEngineerName = lawEngineerName.replaceAll(" ","");
|
||||
lawEngineerNameList.addAll(Arrays.asList(lawEngineerName.split(",")));
|
||||
}
|
||||
}
|
||||
|
||||
if(lawEngineerNameList.contains(loginUser.getUsername())){
|
||||
SysRole sysRole = new SysRole();
|
||||
sysRole.setRoleCode(ProjectRoleEnum.REGULATI_ENGINEER.getValue());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.REGULATI_ENGINEER.getName());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.REGULATI_ENGINEER.getCode());
|
||||
}
|
||||
sysRoles.add(sysRole);
|
||||
}
|
||||
}
|
||||
|
||||
// 接口人
|
||||
QueryWrapper<ProjectCertificationInventoryEO> querySdtCountWrap = new QueryWrapper<>();
|
||||
querySdtCountWrap.lambda().eq(ProjectCertificationInventoryEO::getSdt,loginUser.getId());
|
||||
Integer sdtCount = this.baseMapper.selectCount(querySdtCountWrap);
|
||||
if(sdtCount > 0){
|
||||
SysRole sysRole = new SysRole();
|
||||
sysRole.setRoleCode(ProjectRoleEnum.INTERFACE_PERSON.getValue());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.INTERFACE_PERSON.getName());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.INTERFACE_PERSON.getCode());
|
||||
}
|
||||
sysRoles.add(sysRole);
|
||||
}
|
||||
|
||||
// 责任人
|
||||
QueryWrapper<ProjectCertificationInventoryEO> queryDutyPersonCountWrap = new QueryWrapper<>();
|
||||
queryDutyPersonCountWrap.lambda().eq(ProjectCertificationInventoryEO::getDutyPerson,loginUser.getId());
|
||||
Integer dutyPersonCount = this.baseMapper.selectCount(queryDutyPersonCountWrap);
|
||||
if(dutyPersonCount > 0){
|
||||
SysRole sysRole = new SysRole();
|
||||
sysRole.setRoleCode(ProjectRoleEnum.PERSON_LIABLE.getValue());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.PERSON_LIABLE.getName());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
sysRole.setRoleName(ProjectRoleEnum.PERSON_LIABLE.getCode());
|
||||
}
|
||||
sysRoles.add(sysRole);
|
||||
}
|
||||
}
|
||||
|
||||
// 领导、系统管理员、Viewer、品牌管理员 处理
|
||||
List<SysRole> roleList = this.sysRoleMapper.getRoleByUserId(loginUser.getId());
|
||||
if (roleList.size() != 0) {
|
||||
List<SysRole> manager = roleList.stream().filter(e -> ProjectRoleEnum.MANAGER.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
List<SysRole> admin = roleList.stream().filter(e -> ProjectRoleEnum.ADMIN.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
List<SysRole> Viewer = roleList.stream().filter(e -> ProjectRoleEnum.VIEWER.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
List<SysRole> brandAdministrator = roleList.stream().filter(e -> ProjectRoleEnum.BRAND_ADMINISTRATOR.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
if (manager.size() != 0) {
|
||||
manager.get(0).setRoleCode(ProjectRoleEnum.MANAGER.getValue());
|
||||
sysRoles.addAll(manager);
|
||||
}
|
||||
if (admin.size() != 0) {
|
||||
admin.get(0).setRoleCode(ProjectRoleEnum.ADMIN.getValue());
|
||||
sysRoles.addAll(admin);
|
||||
}
|
||||
if (Viewer.size() != 0) {
|
||||
Viewer.get(0).setRoleCode(ProjectRoleEnum.VIEWER.getValue());
|
||||
sysRoles.addAll(Viewer);
|
||||
}
|
||||
if (brandAdministrator.size() != 0) {
|
||||
brandAdministrator.get(0).setRoleCode(ProjectRoleEnum.BRAND_ADMINISTRATOR.getValue());
|
||||
sysRoles.addAll(brandAdministrator);
|
||||
}
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
if (manager.size() != 0) {
|
||||
manager.get(0).setRoleCode(ProjectRoleEnum.MANAGER.getValue());
|
||||
manager.get(0).setRoleName(ProjectRoleEnum.MANAGER.getCode());
|
||||
sysRoles.addAll(manager);
|
||||
}
|
||||
if (admin.size() != 0) {
|
||||
admin.get(0).setRoleCode(ProjectRoleEnum.ADMIN.getValue());
|
||||
admin.get(0).setRoleName(ProjectRoleEnum.ADMIN.getCode());
|
||||
sysRoles.addAll(admin);
|
||||
}
|
||||
if (Viewer.size() != 0) {
|
||||
Viewer.get(0).setRoleCode(ProjectRoleEnum.VIEWER.getCode());
|
||||
Viewer.get(0).setRoleName(ProjectRoleEnum.VIEWER.getCode());
|
||||
sysRoles.addAll(Viewer);
|
||||
}
|
||||
if (brandAdministrator.size() != 0) {
|
||||
brandAdministrator.get(0).setRoleCode(ProjectRoleEnum.BRAND_ADMINISTRATOR.getCode());
|
||||
brandAdministrator.get(0).setRoleName(ProjectRoleEnum.BRAND_ADMINISTRATOR.getCode());
|
||||
sysRoles.addAll(brandAdministrator);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(sysRoles==null||sysRoles.size()<=0) {
|
||||
result.error500("未找到角色信息");
|
||||
}else {
|
||||
result.setResult(sysRoles);
|
||||
result.setSuccess(true);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user