Browse Source

2025/6/27

master
Aoi_Tori 7 months ago
parent
commit
aab686aa53
  1. 18
      src/main/java/com/spring/modules/project/data/PlmProjectInfoData.java
  2. 15
      src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java
  3. 2
      src/main/java/com/spring/modules/sys/dao/SysRoleDao.java
  4. 7
      src/main/resources/mapper/project/ProjectDao.xml
  5. 6
      src/main/resources/mapper/sys/SysRoleDao.xml

18
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;

15
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<PlmProjectInfoData> resultList = this.projectDao.projectInfoSearch(
new Page<PlmProjectInfoData>(inData.getPage(), inData.getLimit()), inData);
@ -175,15 +180,15 @@ public class ProjectServiceImpl implements ProjectService {
@Override
@Transactional
public String saveProjectInfo(PlmProjectInfoData inData){
List<PlmProjectInfoData> list = projectDao.getProjectByName(inData.getSite(),inData.getProjectName());
if (!list.isEmpty()){
throw new RuntimeException("项目名称已存在!");
}
SysUserEntity sysUserEntity = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
List<PlmProjectTeam> plmProjectTeams = new ArrayList<>();
List<PlmUserRoleData> userRoleList = new ArrayList<>();
String projectId = "";
if (inData.getId() == 0) {
List<PlmProjectInfoData> 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<String, String> 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<PlmProjectInfoData> resultList = this.projectDao.projectInfoSearchByAnyField(new Page<PlmProjectInfoData>(data.getNo(), data.getSize()), params);
return new PageUtils(resultList);
}

2
src/main/java/com/spring/modules/sys/dao/SysRoleDao.java

@ -26,4 +26,6 @@ public interface SysRoleDao extends BaseMapper<SysRoleEntity> {
List<Long> queryRoleIdByUsername(String username);
List<Long> findRoleIdByUsername(@Param("username") String username,@Param("roleId") int roleId);
String getSuperFlag(String userId);
}

7
src/main/resources/mapper/project/ProjectDao.xml

@ -48,9 +48,6 @@
<if test="customerId != null and customerId != ''">
AND customer_id like #{customerId}
</if>
<if test="userName != null and userName != '' userName!= 'admin'">
AND (dbo.get_projectUserRoleName(site, project_id) like '%'+#{userName}+';%' or dbo.get_projectUserRoleName(site, project_id) like '%' + #{userName})
</if>
</where>
order by LEFT(project_id, CHARINDEX('-', project_id + '-') - 1) desc
</select>
@ -113,7 +110,7 @@
<!-- <if test="query.roleId != 1">-->
<!-- AND project_id in ( select project_id from AccessProject where site=#{query.site} and username=#{query.userName} and searchFlag='Y' )-->
<!-- </if>-->
<if test="query.userName != null and query.userName != '' and query.userName != 'admin'">
<if test="query.userName != null and query.userName != '' and query.superFlag != 'Y'">
AND project_id in ( select project_id from AccessProject where site=#{query.site} and username=#{query.userName} and searchFlag='Y' )
</if>
<if test="query.priority != null and query.priority != ''">
@ -822,7 +819,7 @@ update_by,update_date,priority,site,id,project_desc,customer_remark,remark,need_
<if test="params.whereClause != null and params.whereClause != ''">
WHERE ${params.whereClause}
</if>
<if test="params.userName != null and params.userName != '' and params.userName != 'admin'">
<if test="params.userName != null and params.userName != '' and params.superFlag != 'Y'">
AND project_id in ( select project_id from AccessProject where site=#{params.site} and username=#{params.userName} and searchFlag='Y' )
</if>
<if test="params.orderClause != null and params.orderClause != ''">

6
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}
</select>
<select id="getSuperFlag" resultType="java.lang.String" parameterType="java.lang.String">
select r.super_flag
from sys_role r
left join sys_user_role ur on ur.role_id = r.role_id
where ur.user_id = #{userId}
</select>
</mapper>
Loading…
Cancel
Save