Browse Source

2025/6/29

master
Aoi_Tori 10 months ago
parent
commit
5dc445fc4e
  1. 2
      src/main/java/com/spring/modules/project/dao/ProjectDao.java
  2. 29
      src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java
  3. 2
      src/main/java/com/spring/modules/sys/dao/SysRoleDao.java
  4. 2
      src/main/resources/mapper/project/ProjectDao.xml
  5. 2
      src/main/resources/mapper/sys/SysRoleDao.xml

2
src/main/java/com/spring/modules/project/dao/ProjectDao.java

@ -35,7 +35,7 @@ public interface ProjectDao extends BaseMapper<PlmProjectInfo> {
*/
IPage<PlmProjectInfoData> projectInfoSearch(Page<PlmProjectInfoData> page, @Param("query") PlmProjectInfoData inData, @Param("flag")boolean flag);
IPage<PlmProjectInfoData> projectInfoSearchByAnyField(Page<PlmProjectInfoData> page,
@Param("params") Map<String, String> params);
@Param("params") Map<String, Object> params);
List<PlmProjectInfoData> selectProjectInfoList( @Param("site")String site,
@Param("projectId")String projectId,

29
src/main/java/com/spring/modules/project/service/impl/ProjectServiceImpl.java

@ -63,8 +63,17 @@ public class ProjectServiceImpl implements ProjectService {
// // 存在角色编码为1的 即存在超级管理员
// inData.setRoleId(1);
// }
String superFlag = sysRoleDao.getSuperFlag(inData.getUserId());
boolean shouldApplySuperFlagCondition = inData.getUserName() != null && !inData.getUserName().isEmpty() && !"Y".equals(superFlag);
List<String> list = sysRoleDao.getSuperFlag(inData.getUserId());
boolean superFlag = false;
if (list != null) {
for (String s : list) {
if ("Y".equals(s)) {
superFlag = true;
break;
}
}
}
boolean shouldApplySuperFlagCondition = inData.getUserName() != null && !inData.getUserName().isEmpty() && !superFlag;
IPage<PlmProjectInfoData> resultList = this.projectDao.projectInfoSearch(
new Page<PlmProjectInfoData>(inData.getPage(), inData.getLimit()), inData, shouldApplySuperFlagCondition);
@ -435,13 +444,23 @@ 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<>();
List<String> list = sysRoleDao.getSuperFlag(data.getUserId());
boolean superFlag = false;
if (list != null) {
for (String s : list) {
if ("Y".equals(s)) {
superFlag = true;
break;
}
}
}
boolean shouldApplySuperFlagCondition = data.getUserName() != null && !data.getUserName().isEmpty() && !superFlag;
Map<String, Object> 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);
params.put("flag", shouldApplySuperFlagCondition);
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

@ -27,5 +27,5 @@ 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);
List<String> getSuperFlag(String userId);
}

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

@ -819,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.superFlag != 'Y'">
<if test="params.flag">
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 != ''">

2
src/main/resources/mapper/sys/SysRoleDao.xml

@ -23,7 +23,7 @@
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 id="getSuperFlag" parameterType="java.lang.String" resultType="java.lang.String">
select r.super_flag
from sys_role r
left join sys_user_role ur on ur.role_id = r.role_id

Loading…
Cancel
Save