diff --git a/src/main/java/com/spring/modules/project/data/PlmProjectInfoData.java b/src/main/java/com/spring/modules/project/data/PlmProjectInfoData.java index 4cef45ad..1a53af57 100644 --- a/src/main/java/com/spring/modules/project/data/PlmProjectInfoData.java +++ b/src/main/java/com/spring/modules/project/data/PlmProjectInfoData.java @@ -34,6 +34,24 @@ public class PlmProjectInfoData extends PlmProjectInfo { private String partDesc; private String toolNo; private String toolDesc; + private String userId; + private String superFlag; + + public String getSuperFlag() { + return superFlag; + } + + public void setSuperFlag(String superFlag) { + this.superFlag = superFlag; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } public String getToolDesc() { return toolDesc; diff --git a/src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java b/src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java index bdc78ead..eef62a7d 100644 --- a/src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java +++ b/src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java @@ -23,6 +23,7 @@ import com.spring.modules.sampleManagement.entity.BiAddress; import com.spring.modules.sift.entity.QuerySavedDetail; import com.spring.modules.sift.utils.QueryCriteriaConstructorDefault; import com.spring.modules.sift.vo.QuerySavedVo; +import com.spring.modules.sys.dao.SysRoleDao; import com.spring.modules.sys.entity.SysUserEntity; import com.spring.modules.sys.service.SysRoleService; import com.spring.modules.sys.service.SysUserService; @@ -50,6 +51,8 @@ public class ProjectServiceImpl implements ProjectService { private SysUserService sysUserService; @Autowired private SysRoleService sysRoleService; + @Autowired + private SysRoleDao sysRoleDao; @Override public PageUtils projectInfoSearch(PlmProjectInfoData inData){ @@ -60,6 +63,8 @@ public class ProjectServiceImpl implements ProjectService { // // 存在角色编码为1的 即存在超级管理员 // inData.setRoleId(1); // } + String superFlag = sysRoleDao.getSuperFlag(inData.getUserId()); + inData.setSuperFlag(superFlag); IPage resultList = this.projectDao.projectInfoSearch( new Page(inData.getPage(), inData.getLimit()), inData); @@ -175,15 +180,15 @@ public class ProjectServiceImpl implements ProjectService { @Override @Transactional public String saveProjectInfo(PlmProjectInfoData inData){ - List list = projectDao.getProjectByName(inData.getSite(),inData.getProjectName()); - if (!list.isEmpty()){ - throw new RuntimeException("项目名称已存在!"); - } SysUserEntity sysUserEntity = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); List plmProjectTeams = new ArrayList<>(); List userRoleList = new ArrayList<>(); String projectId = ""; if (inData.getId() == 0) { + List list = projectDao.getProjectByName(inData.getSite(),inData.getProjectName()); + if (!list.isEmpty()){ + throw new RuntimeException("项目名称已存在!"); + } if (StringUtils.hasText(inData.getProjectId())) { projectId = seqRuleService.getSeqNo(inData.getSite(),"XM",inData.getProjectId()); inData.setParentProjectNo(inData.getProjectId()); @@ -430,11 +435,13 @@ public class ProjectServiceImpl implements ProjectService { String orderClause = conditionMap.get("order"); whereClause = (whereClause.isEmpty() ? "site = '" + data.getSite() + "'" : whereClause + " AND site = '" + data.getSite() + "'").trim(); orderClause = orderClause.trim(); + String superFlag = sysRoleDao.getSuperFlag(data.getUserId()); Map params = new HashMap<>(); params.put("whereClause", whereClause); params.put("orderClause", orderClause); params.put("userName", data.getUserName()); params.put("site", data.getSite()); + params.put("superFlag", superFlag); IPage resultList = this.projectDao.projectInfoSearchByAnyField(new Page(data.getNo(), data.getSize()), params); return new PageUtils(resultList); } diff --git a/src/main/java/com/spring/modules/sys/dao/SysRoleDao.java b/src/main/java/com/spring/modules/sys/dao/SysRoleDao.java index 1875e703..abde7eea 100644 --- a/src/main/java/com/spring/modules/sys/dao/SysRoleDao.java +++ b/src/main/java/com/spring/modules/sys/dao/SysRoleDao.java @@ -26,4 +26,6 @@ public interface SysRoleDao extends BaseMapper { List queryRoleIdByUsername(String username); List findRoleIdByUsername(@Param("username") String username,@Param("roleId") int roleId); + + String getSuperFlag(String userId); } diff --git a/src/main/resources/mapper/project/ProjectDao.xml b/src/main/resources/mapper/project/ProjectDao.xml index f6cd2ad8..b3eb8275 100644 --- a/src/main/resources/mapper/project/ProjectDao.xml +++ b/src/main/resources/mapper/project/ProjectDao.xml @@ -48,9 +48,6 @@ AND customer_id like #{customerId} - - AND (dbo.get_projectUserRoleName(site, project_id) like '%'+#{userName}+';%' or dbo.get_projectUserRoleName(site, project_id) like '%' + #{userName}) - order by LEFT(project_id, CHARINDEX('-', project_id + '-') - 1) desc @@ -113,7 +110,7 @@ - + AND project_id in ( select project_id from AccessProject where site=#{query.site} and username=#{query.userName} and searchFlag='Y' ) @@ -822,7 +819,7 @@ update_by,update_date,priority,site,id,project_desc,customer_remark,remark,need_ WHERE ${params.whereClause} - + AND project_id in ( select project_id from AccessProject where site=#{params.site} and username=#{params.userName} and searchFlag='Y' ) diff --git a/src/main/resources/mapper/sys/SysRoleDao.xml b/src/main/resources/mapper/sys/SysRoleDao.xml index 0f0b1ee1..56a0e0f3 100644 --- a/src/main/resources/mapper/sys/SysRoleDao.xml +++ b/src/main/resources/mapper/sys/SysRoleDao.xml @@ -23,4 +23,10 @@ inner join sys_user u on u.user_id = ur.user_id and u.username = #{username} where ur.role_id = #{roleId} + \ No newline at end of file