ruanqi 1 year ago
parent
commit
960656a744
  1. 2
      src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java
  2. 21
      src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java
  3. 4
      src/main/java/com/spring/modules/sys/dao/SysMenuDao.java
  4. 4
      src/main/java/com/spring/modules/sys/service/impl/ShiroServiceImpl.java
  5. 2
      src/main/java/com/spring/modules/sys/service/impl/SysMenuServiceImpl.java
  6. 33
      src/main/resources/mapper/change/ChangeManagementMapper.xml
  7. 4
      src/main/resources/mapper/sys/SysMenuDao.xml

2
src/main/java/com/spring/modules/change/mapper/ChangeManagementMapper.java

@ -138,7 +138,7 @@ public interface ChangeManagementMapper extends BaseMapper<ChangeRequestEntity>{
List<PlmRequestDetailEntity> getNodeInformation(@Param("site") String site, @Param("menuId") String menuId, @Param("stepId") Integer stepTd);
List<RequestNodeAuthorityEntity> getNodeAuthority(PlmRequestDetailEntity plmRequestDetailEntity);
List<RequestNodeAuthorityEntity> getAllNodeAuthority(PlmRequestDetailEntity plmRequestDetailEntity);
void updateStepId2(ParamData paramData);
void updateProcessForm2(ParamData paramData);

21
src/main/java/com/spring/modules/change/service/impl/ChangeManagementServiceImpl.java

@ -38,9 +38,11 @@ import com.spring.modules.request.mapper.RequestManageMapper;
import com.spring.modules.request.vo.PlmRequestDetailVo;
import com.spring.modules.request.vo.PlmRequestHeaderVo;
import com.spring.modules.sampleManagement.data.PlmTechnicalSpecificationSheetData;
import com.spring.modules.sys.dao.SysMenuDao;
import com.spring.modules.sys.dao.SysUserDao;
import com.spring.modules.sys.entity.SysUserEntity;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -92,7 +94,8 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap
@Value("${login-token-url}")
private String loginTokenUrl;
@Autowired
private SysMenuDao sysMenuDao;
/**
* 查询技术参数卡列表
*/
@ -1804,7 +1807,13 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap
throw new RuntimeException("流程节点信息获取异常!");
}
// 根据节点获得节点权限
List<RequestNodeAuthorityEntity> nodeAuthorityList = changeManagementMapper.getNodeAuthority(requestNodeList.get(0));
List<RequestNodeAuthorityEntity> nodeAuthorityList=new ArrayList<>();
//系统管理员获取所有权限
if(sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()>0){
nodeAuthorityList = changeManagementMapper.getAllNodeAuthority(requestNodeList.get(0));
}else {
nodeAuthorityList = changeManagementMapper.getNodeAuthority(requestNodeList.get(0));
}
return nodeAuthorityList.stream().map(item ->{
item.setFieldId(CommonUtils.underScoreToCamel(item.getFieldId()));
return item;
@ -1819,7 +1828,13 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap
throw new RuntimeException("流程节点信息获取异常!");
}
// 根据节点获得节点权限
List<RequestNodeAuthorityEntity> nodeAuthorityList = changeManagementMapper.getNodeAuthority(requestNodeList.get(0));
List<RequestNodeAuthorityEntity> nodeAuthorityList=new ArrayList<>();
//系统管理员获取所有权限
if(sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()>0){
nodeAuthorityList = changeManagementMapper.getAllNodeAuthority(requestNodeList.get(0));
}else {
nodeAuthorityList = changeManagementMapper.getNodeAuthority(requestNodeList.get(0));
}
String result="";
for (int i = 0; i <nodeAuthorityList.size() ; i++) {
result+=nodeAuthorityList.get(i).getTableId()+'_'+nodeAuthorityList.get(i).getFieldId()+";";

4
src/main/java/com/spring/modules/sys/dao/SysMenuDao.java

@ -3,8 +3,10 @@
package com.spring.modules.sys.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.spring.modules.base.data.RoleData;
import com.spring.modules.sys.entity.SysMenuEntity;
import com.spring.modules.sys.entity.SysObjectLanguageMenu;
import com.spring.modules.sys.entity.SysRoleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -56,4 +58,6 @@ public interface SysMenuDao extends BaseMapper<SysMenuEntity> {
* @version 1.0
*/
List<SysMenuEntity> getUserMenuListByUserId(Long userId);
List<SysRoleEntity> checkSuperAdmin(Long userId);
}

4
src/main/java/com/spring/modules/sys/service/impl/ShiroServiceImpl.java

@ -36,7 +36,7 @@ public class ShiroServiceImpl implements ShiroService {
// 获取数据库配置的信息判断是否是 需要启动多语言
String authControl = sysConfigService.getValue(CommonConstant.AUTH_CONTROL);
//系统管理员拥有最高权限 或者不管控权限
if(userId == Constant.SUPER_ADMIN || CommonConstant.AUTH_CONTROL_FLAG.equals(authControl)){
if(userId == Constant.SUPER_ADMIN || CommonConstant.AUTH_CONTROL_FLAG.equals(authControl)||sysMenuDao.checkSuperAdmin(userId).size()>0){
List<SysMenuEntity> menuList = sysMenuDao.selectList(null);
permsList = new ArrayList<>(menuList.size());
for(SysMenuEntity menu : menuList){
@ -59,7 +59,7 @@ public class ShiroServiceImpl implements ShiroService {
@Override
public List<String> getAccessFieldByUserId(long userId){
List<String> result;
if(userId == Constant.SUPER_ADMIN){
if(userId == Constant.SUPER_ADMIN||sysMenuDao.checkSuperAdmin(userId).size()>0){
result=sysUserDao.selectAllField();
}else {
result=sysUserDao.selectFieldByUserId(userId);

2
src/main/java/com/spring/modules/sys/service/impl/SysMenuServiceImpl.java

@ -68,7 +68,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuDao, SysMenuEntity> i
@Override
public List<SysMenuEntity> getUserMenuList(Long userId,String l,String MenuType) {
//系统管理员拥有最高权限
if(userId == Constant.SUPER_ADMIN){
if(userId == Constant.SUPER_ADMIN||sysMenuDao.checkSuperAdmin(userId).size()>0){
return getAllMenuList(null,l,MenuType);
}

33
src/main/resources/mapper/change/ChangeManagementMapper.xml

@ -968,7 +968,38 @@
left join plm_request_node as b on a.site = b.site and a.bu = b.bu and a.classification_no = b.classification_no and a.workflow_id = b.workflow_id
where a.site = #{site} and a.menu_id = #{menuId} and a.status = 'Y' and b.step_id = #{stepId}
</select>
<select id="getAllNodeAuthority" parameterType="PlmRequestDetailEntity" resultType="RequestNodeAuthorityEntity">
select distinct
a.site,
a.bu,
a.classification_no,
a.field_id,
a.update_flag,
a.table_id,
max( a.required) required,
b.fieldName
from plm_request_node_authority as a
left join (SELECT
col.name AS fieldId,
CONVERT(varchar(50), comm.value) AS fieldName,
tbl.name as tableId
FROM
sys.columns AS col
INNER JOIN
sys.tables AS tbl ON col.object_id = tbl.object_id
INNER JOIN
sys.types AS typ ON col.user_type_id = typ.user_type_id
LEFT JOIN
sys.extended_properties AS comm ON col.object_id = comm.major_id AND col.column_id = comm.minor_id) as b
on a.table_id = b.tableId and a.field_id = b.fieldId
where a.site = #{site} and a.bu = #{bu} and a.classification_no = #{classificationNo}
group by a.site,
a.bu,
a.classification_no,
a.field_id,
a.update_flag,
a.table_id, b.fieldName
</select>
<select id="getNodeAuthority" parameterType="PlmRequestDetailEntity" resultType="RequestNodeAuthorityEntity">
select
a.site,

4
src/main/resources/mapper/sys/SysMenuDao.xml

@ -102,4 +102,8 @@
ORDER BY sm.order_num ASC
</select>
<select id="checkSuperAdmin" resultType="com.spring.modules.sys.entity.SysRoleEntity">
select site,user_id,role_id from sys_user_role where role_id=1 and user_id=#{userId}
</select>
</mapper>
Loading…
Cancel
Save