| | |
| | | return insSampleUserMapper.insert(insSampleUser); |
| | | } |
| | | |
| | | /** |
| | | * 查询模板内容 |
| | | * @param order |
| | | * @param insProducts |
| | | */ |
| | | private void getTemplateThing(InsOrder order, List<InsProduct> insProducts) { |
| | | Set<Integer> set = new HashSet<>(); |
| | | // 检验项分类+检验项+检验子项的拼接 |
| | |
| | | package com.ruoyi.web.controller.system; |
| | | |
| | | import java.util.List; |
| | | |
| | | import com.ruoyi.common.core.domain.TreeSelect; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | |
| | | public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId) |
| | | { |
| | | List<SysMenu> menus = menuService.selectMenuList(getUserId()); |
| | | // 添加只看我 |
| | | menuService.addIsRersonal(menus, roleId); |
| | | AjaxResult ajax = AjaxResult.success(); |
| | | ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId)); |
| | | ajax.put("menus", menuService.buildMenuTreeSelect(menus)); |
| | |
| | | /** 是否可以选择仅看我, 0:否, 1:是 */ |
| | | private Integer isRersonalButton; |
| | | |
| | | /** 是否确认只看我, 0:否, 1:是 */ |
| | | private Integer isRersonal; |
| | | |
| | | /** 节点禁用 */ |
| | | private boolean disabled = false; |
| | | |
| | |
| | | this.id = menu.getMenuId(); |
| | | this.label = menu.getMenuName(); |
| | | this.isRersonalButton = menu.getIsRersonalButton(); |
| | | this.isRersonal = menu.getIsRersonal(); |
| | | this.children = menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); |
| | | } |
| | | |
| | |
| | | this.children = children; |
| | | } |
| | | |
| | | public Integer geIsRersonalButton() |
| | | public Integer getIsRersonalButton() |
| | | { |
| | | return isRersonalButton; |
| | | } |
| | |
| | | { |
| | | this.isRersonalButton = isRersonalButton; |
| | | } |
| | | |
| | | public Integer getIsRersonal() |
| | | { |
| | | return isRersonal; |
| | | } |
| | | |
| | | public void setIsRersonal(Integer isRersonalButton) |
| | | { |
| | | this.isRersonal = isRersonal; |
| | | } |
| | | } |
| | |
| | | /** 是否可以选择仅看我, 0:否, 1:是 */ |
| | | private Integer isRersonalButton; |
| | | |
| | | |
| | | /** 仅看我, 0:否, 1:是 */ |
| | | private Integer isRersonal; |
| | | |
| | | /** 子菜单 */ |
| | | private List<SysMenu> children = new ArrayList<SysMenu>(); |
| | | |
| | |
| | | this.isRersonalButton = isRersonalButton; |
| | | } |
| | | |
| | | public Integer getIsRersonal() |
| | | { |
| | | return isRersonal; |
| | | } |
| | | |
| | | public void setIsRersonal(Integer isRersonal) |
| | | { |
| | | this.isRersonal = isRersonal; |
| | | } |
| | | |
| | | public List<SysMenu> getChildren() |
| | | { |
| | | return children; |
| | |
| | | |
| | | /** |
| | | * 角色表 sys_role |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | public class SysRole extends BaseEntity |
| | |
| | | |
| | | /** 菜单组 */ |
| | | private Long[] menuIds; |
| | | |
| | | /** 只看我菜单组 */ |
| | | private Long[] isRersonalMenuIds; |
| | | |
| | | /** 部门组(数据权限) */ |
| | | private Long[] deptIds; |
| | |
| | | this.menuIds = menuIds; |
| | | } |
| | | |
| | | |
| | | public Long[] getIsRersonalMenuIds() |
| | | { |
| | | return isRersonalMenuIds; |
| | | } |
| | | |
| | | public void setIsRersonalMenuIds(Long[] isRersonalMenuIds) |
| | | { |
| | | this.isRersonalMenuIds = isRersonalMenuIds; |
| | | } |
| | | |
| | | public Long[] getDeptIds() |
| | | { |
| | | return deptIds; |
| | |
| | | |
| | | /** |
| | | * 角色和菜单关联 sys_role_menu |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | public class SysRoleMenu |
| | | { |
| | | /** 角色ID */ |
| | | private Long roleId; |
| | | |
| | | |
| | | /** 菜单ID */ |
| | | private Long menuId; |
| | | |
| | | /** 是否只看我0否, 1是 */ |
| | | private Integer isRersonal; |
| | | |
| | | public Long getRoleId() |
| | | { |
| | |
| | | this.menuId = menuId; |
| | | } |
| | | |
| | | public Integer getIsRersonal() |
| | | { |
| | | return isRersonal; |
| | | } |
| | | |
| | | public void setIsRersonal(Integer isRersonal) |
| | | { |
| | | this.isRersonal = isRersonal; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) |
| | |
| | | * @return |
| | | */ |
| | | SysRoleVo selectRoleMenu(@Param("permsName") String permsName, @Param("userId") Long userId); |
| | | |
| | | /** |
| | | * 查询只看我菜单id |
| | | * @param roleId |
| | | * @return |
| | | */ |
| | | List<Long> selectIsRersonalMenu(@Param("roleId") Long roleId); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 菜单 业务层 |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | public interface ISysMenuService |
| | | { |
| | | /** |
| | | * 根据用户查询系统菜单列表 |
| | | * |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 菜单列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据用户查询系统菜单列表 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @param userId 用户ID |
| | | * @return 菜单列表 |
| | |
| | | |
| | | /** |
| | | * 根据用户ID查询权限 |
| | | * |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 权限列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据角色ID查询权限 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @return 权限列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据用户ID查询菜单树信息 |
| | | * |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 菜单列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据角色ID查询菜单树信息 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @return 选中菜单列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 构建前端路由所需要的菜单 |
| | | * |
| | | * |
| | | * @param menus 菜单列表 |
| | | * @return 路由列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 构建前端所需要树结构 |
| | | * |
| | | * |
| | | * @param menus 菜单列表 |
| | | * @return 树结构列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 构建前端所需要下拉树结构 |
| | | * |
| | | * |
| | | * @param menus 菜单列表 |
| | | * @return 下拉树结构列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据菜单ID查询信息 |
| | | * |
| | | * |
| | | * @param menuId 菜单ID |
| | | * @return 菜单信息 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 是否存在菜单子节点 |
| | | * |
| | | * |
| | | * @param menuId 菜单ID |
| | | * @return 结果 true 存在 false 不存在 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 查询菜单是否存在角色 |
| | | * |
| | | * |
| | | * @param menuId 菜单ID |
| | | * @return 结果 true 存在 false 不存在 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 新增保存菜单信息 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 修改保存菜单信息 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 删除菜单管理信息 |
| | | * |
| | | * |
| | | * @param menuId 菜单ID |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 校验菜单名称是否唯一 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | | public boolean checkMenuNameUnique(SysMenu menu); |
| | | |
| | | /** |
| | | * 添加只看我 |
| | | * @param menus |
| | | * @param roleId |
| | | */ |
| | | void addIsRersonal(List<SysMenu> menus, Long roleId); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 菜单 业务层处理 |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Service |
| | |
| | | |
| | | /** |
| | | * 根据用户查询系统菜单列表 |
| | | * |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 菜单列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 查询系统菜单列表 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 菜单列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据用户ID查询权限 |
| | | * |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 权限列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据角色ID查询权限 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @return 权限列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据用户ID查询菜单 |
| | | * |
| | | * |
| | | * @param userId 用户名称 |
| | | * @return 菜单列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据角色ID查询菜单树信息 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @return 选中菜单列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 构建前端路由所需要的菜单 |
| | | * |
| | | * |
| | | * @param menus 菜单列表 |
| | | * @return 路由列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 构建前端所需要树结构 |
| | | * |
| | | * |
| | | * @param menus 菜单列表 |
| | | * @return 树结构列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 构建前端所需要下拉树结构 |
| | | * |
| | | * |
| | | * @param menus 菜单列表 |
| | | * @return 下拉树结构列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据菜单ID查询信息 |
| | | * |
| | | * |
| | | * @param menuId 菜单ID |
| | | * @return 菜单信息 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 是否存在菜单子节点 |
| | | * |
| | | * |
| | | * @param menuId 菜单ID |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 查询菜单使用数量 |
| | | * |
| | | * |
| | | * @param menuId 菜单ID |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 新增保存菜单信息 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 修改保存菜单信息 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 删除菜单管理信息 |
| | | * |
| | | * |
| | | * @param menuId 菜单ID |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 校验菜单名称是否唯一 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * 添加只看我 |
| | | * @param menus |
| | | * @param roleId |
| | | */ |
| | | @Override |
| | | public void addIsRersonal(List<SysMenu> menus, Long roleId) { |
| | | // 查询只看我菜单id |
| | | List<Long> menuIds = roleMenuMapper.selectIsRersonalMenu(roleId); |
| | | for (SysMenu menu : menus) { |
| | | if (menuIds.contains(menu.getMenuId())) { |
| | | menu.setIsRersonal(1); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取路由名称 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 路由名称 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 获取路由名称,如没有配置路由名称则取路由地址 |
| | | * |
| | | * |
| | | * @param routerName 路由名称 |
| | | * @param path 路由地址 |
| | | * @return 路由名称(驼峰格式) |
| | |
| | | |
| | | /** |
| | | * 获取路由地址 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 路由地址 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 获取组件信息 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 组件信息 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 是否为菜单内部跳转 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 是否为内链组件 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 是否为parent_view组件 |
| | | * |
| | | * |
| | | * @param menu 菜单信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据父节点的ID获取所有子节点 |
| | | * |
| | | * |
| | | * @param list 分类表 |
| | | * @param parentId 传入的父节点ID |
| | | * @return String |
| | |
| | | |
| | | /** |
| | | * 递归列表 |
| | | * |
| | | * |
| | | * @param list 分类表 |
| | | * @param t 子节点 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 内链域名特殊字符替换 |
| | | * |
| | | * |
| | | * @return 替换后的内链域名 |
| | | */ |
| | | public String innerLinkReplaceEach(String path) |
| | |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.ArrayUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | /** |
| | | * 角色 业务层处理 |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Service |
| | |
| | | |
| | | /** |
| | | * 根据条件分页查询角色数据 |
| | | * |
| | | * |
| | | * @param role 角色信息 |
| | | * @return 角色数据集合信息 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据用户ID查询角色 |
| | | * |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 角色列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 根据用户ID查询权限 |
| | | * |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 权限列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 查询所有角色 |
| | | * |
| | | * |
| | | * @return 角色列表 |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 根据用户ID获取角色选择框列表 |
| | | * |
| | | * |
| | | * @param userId 用户ID |
| | | * @return 选中角色ID列表 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 通过角色ID查询角色 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @return 角色对象信息 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 校验角色名称是否唯一 |
| | | * |
| | | * |
| | | * @param role 角色信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 校验角色权限是否唯一 |
| | | * |
| | | * |
| | | * @param role 角色信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 校验角色是否允许操作 |
| | | * |
| | | * |
| | | * @param role 角色信息 |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 校验角色是否有数据权限 |
| | | * |
| | | * |
| | | * @param roleIds 角色id |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 通过角色ID查询角色使用数量 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 新增保存角色信息 |
| | | * |
| | | * |
| | | * @param role 角色信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 修改保存角色信息 |
| | | * |
| | | * |
| | | * @param role 角色信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 修改角色状态 |
| | | * |
| | | * |
| | | * @param role 角色信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 修改数据权限信息 |
| | | * |
| | | * |
| | | * @param role 角色信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 新增角色菜单信息 |
| | | * |
| | | * |
| | | * @param role 角色对象 |
| | | */ |
| | | public int insertRoleMenu(SysRole role) |
| | |
| | | SysRoleMenu rm = new SysRoleMenu(); |
| | | rm.setRoleId(role.getRoleId()); |
| | | rm.setMenuId(menuId); |
| | | // 判断是否有只看我权限 |
| | | if (ArrayUtils.isNotEmpty(role.getIsRersonalMenuIds())) { |
| | | for (Long isRersonalMenuId : role.getIsRersonalMenuIds()) { |
| | | if (isRersonalMenuId.equals(menuId)) { |
| | | rm.setIsRersonal(1); |
| | | } |
| | | } |
| | | } |
| | | list.add(rm); |
| | | |
| | | } |
| | | if (list.size() > 0) |
| | | { |
| | |
| | | |
| | | /** |
| | | * 通过角色ID删除角色 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 批量删除角色信息 |
| | | * |
| | | * |
| | | * @param roleIds 需要删除的角色ID |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 取消授权用户角色 |
| | | * |
| | | * |
| | | * @param userRole 用户和角色关联信息 |
| | | * @return 结果 |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 批量取消授权用户角色 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @param userIds 需要取消授权的用户数据ID |
| | | * @return 结果 |
| | |
| | | |
| | | /** |
| | | * 批量选择授权用户角色 |
| | | * |
| | | * |
| | | * @param roleId 角色ID |
| | | * @param userIds 需要授权的用户数据ID |
| | | * @return 结果 |
| | |
| | | group by sm.menu_id |
| | | </select> |
| | | |
| | | <!-- 查询只看我菜单id --> |
| | | <select id="selectIsRersonalMenu" resultType="java.lang.Long"> |
| | | select menu_id |
| | | from sys_role_menu |
| | | where role_id = #{roleId} |
| | | and is_rersonal = 1 |
| | | </select> |
| | | |
| | | <delete id="deleteRoleMenuByRoleId" parameterType="Long"> |
| | | delete from sys_role_menu where role_id=#{roleId} |
| | | </delete> |
| | |
| | | </delete> |
| | | |
| | | <insert id="batchRoleMenu"> |
| | | insert into sys_role_menu(role_id, menu_id) values |
| | | insert into sys_role_menu(role_id, menu_id, is_rersonal) values |
| | | <foreach item="item" index="index" collection="list" separator=","> |
| | | (#{item.roleId},#{item.menuId}) |
| | | (#{item.roleId},#{item.menuId},#{item.isRersonal}) |
| | | </foreach> |
| | | </insert> |
| | | |