ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.entity.SysUserRole; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -52,6 +53,9 @@ @Autowired private ISysDeptService deptService; @Value("${isAdmin}") private List<Long> isAdmin; //@PreAuthorize("@ss.hasPermi('system:role:list')") @GetMapping("/list") @@ -118,7 +122,7 @@ if (roleService.updateRole(role) > 0) { // 更新缓存用户权限 LoginUser loginUser = getLoginUser(); if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) { if (StringUtils.isNotNull(loginUser.getUser()) && !isAdmin.contains(loginUser.getUser().getUserId())) { loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser())); loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName())); tokenService.setLoginUser(loginUser); ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -21,6 +21,7 @@ import com.smartor.mapper.SysUserDeptMapper; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -52,6 +53,9 @@ @Autowired private SysUserDeptMapper sysUserDeptMapper; @Value("${isAdmin}") private List<Long> isAdmin; /** * 获取用户列表 @@ -99,7 +103,7 @@ userService.checkUserDataScope(userId); AjaxResult ajax = AjaxResult.success(); List<SysRole> roles = roleService.selectRoleAll(); ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); ajax.put("roles", isAdmin.contains(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); ajax.put("posts", postService.selectPostAll()); if (StringUtils.isNotNull(userId)) { SysUser sysUser = userService.selectUserById(userId); @@ -213,7 +217,7 @@ SysUser user = userService.selectUserById(userId); List<SysRole> roles = roleService.selectRolesByUserId(userId); ajax.put("user", user); ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); ajax.put("roles", isAdmin.contains(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); return ajax; } ruoyi-admin/src/main/resources/application-druid.yml
@@ -13,10 +13,10 @@ # 公司 # url: jdbc:mysql://192.168.2.9:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # 丽水 # url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # username: smartor # password: Smartor.2023 # driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: smartor password: Smartor.2023 driverClassName: com.mysql.cj.jdbc.Driver # # 新华 # url: jdbc:mysql://192.168.191.181:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # username: smartor @@ -24,10 +24,10 @@ # driverClassName: com.mysql.cj.jdbc.Driver # 公司云 url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: hxsoft password: Hxerp2000 driverClassName: com.mysql.cj.jdbc.Driver # url: jdbc:mysql://116.62.18.175:6002/smartor_lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # username: hxsoft # password: Hxerp2000 # driverClassName: com.mysql.cj.jdbc.Driver # 从库数据源 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
@@ -1,18 +1,12 @@ package com.ruoyi.common.core.domain.entity; import java.util.ArrayList; import java.util.List; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.core.domain.BaseEntity; import java.util.ArrayList; import java.util.List; /** * 部门表 sys_dept ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -10,6 +10,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -18,6 +19,7 @@ import com.ruoyi.common.annotation.Excels; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.xss.Xss; import org.springframework.stereotype.Component; /** * 用户对象 sys_user @@ -25,9 +27,13 @@ * @author ruoyi */ @Data @Component @ApiModel(value = "SysUser", description = "用户对象") public class SysUser extends BaseEntity { private static final long serialVersionUID = 1L; // // @Value("${isAdmin}") // private List<Long> isAdmin; /** * 用户ID @@ -301,13 +307,13 @@ this.userId = userId; } public boolean isAdmin() { return isAdmin(this.userId); } public static boolean isAdmin(Long userId) { return userId != null && 1L == userId; } // public boolean isAdmin() { // return isAdmin(this.userId); // } // // public boolean isAdmin(Long userId) { // return isAdmin.contains(userId); // } public Long getDeptId() { return this.deptId; ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
@@ -5,6 +5,7 @@ import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.BaseEntity; @@ -55,6 +56,10 @@ */ public static final String DATA_SCOPE = "dataScope"; @Value("${isAdmin}") private List<Long> isAdmin; @Before("@annotation(controllerDataScope)") public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable { @@ -70,7 +75,7 @@ { SysUser currentUser = loginUser.getUser(); // 如果是超级管理员,则不过滤数据 if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) if (StringUtils.isNotNull(currentUser) && !isAdmin.contains(loginUser.getUser().getUserId())) { String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), PermissionContextHolder.getContext()); dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -5,6 +5,7 @@ import java.util.List; import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; @@ -34,6 +35,9 @@ @Autowired private SysRoleMapper roleMapper; @Value("${isAdmin}") private List<Long> isAdmin; /** * 查询部门管理数据 @@ -190,7 +194,8 @@ @Override public void checkDeptDataScope(Long deptId) { if (!SysUser.isAdmin(SecurityUtils.getUserId())) // if (!SysUser.isAdmin(SecurityUtils.getUserId())) if (!isAdmin.contains(SecurityUtils.getUserId())) { SysDept dept = new SysDept(); dept.setDeptId(deptId); ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -72,7 +72,8 @@ public List<SysMenu> selectMenuList(SysMenu menu, Long userId) { List<SysMenu> menuList = null; // 管理员显示所有菜单信息 if (SysUser.isAdmin(userId)) { // if (SysUser.isAdmin(userId)) { if (userId != null && isAdmin.contains(userId)) { menuList = menuMapper.selectMenuList(menu); } else { menu.getParams().put("userId", userId); @@ -87,8 +88,7 @@ * @param userId 用户ID * @return 权限列表 */ @Override public Set<String> selectMenuPermsByUserId(Long userId) { @Override public Set<String> selectMenuPermsByUserId (Long userId){ List<String> perms = menuMapper.selectMenuPermsByUserId(userId); Set<String> permsSet = new HashSet<>(); for (String perm : perms) { @@ -105,8 +105,7 @@ * @param roleId 角色ID * @return 权限列表 */ @Override public Set<String> selectMenuPermsByRoleId(Long roleId) { @Override public Set<String> selectMenuPermsByRoleId (Long roleId){ List<String> perms = menuMapper.selectMenuPermsByRoleId(roleId); Set<String> permsSet = new HashSet<>(); for (String perm : perms) { @@ -123,8 +122,7 @@ * @param userId 用户名称 * @return 菜单列表 */ @Override public List<SysMenu> selectMenuTreeByUserId(Long userId) { @Override public List<SysMenu> selectMenuTreeByUserId (Long userId){ List<SysMenu> menus = null; // if (SecurityUtils.isAdmin(userId)) { if (userId != null && isAdmin.contains(userId)) { @@ -141,8 +139,7 @@ * @param roleId 角色ID * @return 选中菜单列表 */ @Override public List<Long> selectMenuListByRoleId(Long roleId) { @Override public List<Long> selectMenuListByRoleId (Long roleId){ SysRole role = roleMapper.selectRoleById(roleId); return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); } @@ -153,8 +150,7 @@ * @param menus 菜单列表 * @return 路由列表 */ @Override public List<RouterVo> buildMenus(List<SysMenu> menus) { @Override public List<RouterVo> buildMenus (List < SysMenu > menus) { log.error("buildMenus的入参为:{}", menus); List<RouterVo> routers = new LinkedList<RouterVo>(); for (SysMenu menu : menus) { @@ -218,8 +214,7 @@ * @param menus 菜单列表 * @return 树结构列表 */ @Override public List<SysMenu> buildMenuTree(List<SysMenu> menus) { @Override public List<SysMenu> buildMenuTree (List < SysMenu > menus) { List<SysMenu> returnList = new ArrayList<SysMenu>(); List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext(); ) { @@ -242,8 +237,7 @@ * @param menus 菜单列表 * @return 下拉树结构列表 */ @Override public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus) { @Override public List<TreeSelect> buildMenuTreeSelect (List < SysMenu > menus) { List<SysMenu> menuTrees = buildMenuTree(menus); return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); } @@ -254,8 +248,7 @@ * @param menuId 菜单ID * @return 菜单信息 */ @Override public SysMenu selectMenuById(Long menuId) { @Override public SysMenu selectMenuById (Long menuId){ return menuMapper.selectMenuById(menuId); } @@ -265,8 +258,7 @@ * @param menuId 菜单ID * @return 结果 */ @Override public boolean hasChildByMenuId(Long menuId) { @Override public boolean hasChildByMenuId (Long menuId){ int result = menuMapper.hasChildByMenuId(menuId); return result > 0; } @@ -277,8 +269,7 @@ * @param menuId 菜单ID * @return 结果 */ @Override public boolean checkMenuExistRole(Long menuId) { @Override public boolean checkMenuExistRole (Long menuId){ int result = roleMenuMapper.checkMenuExistRole(menuId); return result > 0; } @@ -289,8 +280,7 @@ * @param menu 菜单信息 * @return 结果 */ @Override public int insertMenu(SysMenu menu) { @Override public int insertMenu (SysMenu menu){ return menuMapper.insertMenu(menu); } @@ -300,8 +290,7 @@ * @param menu 菜单信息 * @return 结果 */ @Override public int updateMenu(SysMenu menu) { @Override public int updateMenu (SysMenu menu){ return menuMapper.updateMenu(menu); } @@ -311,8 +300,7 @@ * @param menuId 菜单ID * @return 结果 */ @Override public int deleteMenuById(Long menuId) { @Override public int deleteMenuById (Long menuId){ return menuMapper.deleteMenuById(menuId); } @@ -322,8 +310,7 @@ * @param menu 菜单信息 * @return 结果 */ @Override public String checkMenuNameUnique(SysMenu menu) { @Override public String checkMenuNameUnique (SysMenu menu){ Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId()); if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) { ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -17,6 +17,7 @@ import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysRoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -41,6 +42,9 @@ @Autowired private SysRoleDeptMapper roleDeptMapper; @Value("${isAdmin}") private List<Long> isAdmin; /** * 根据条件分页查询角色数据 @@ -194,7 +198,7 @@ @Override public void checkRoleDataScope(Long roleId) { if (!SysUser.isAdmin(SecurityUtils.getUserId())) if (!isAdmin.contains(SecurityUtils.getUserId())) { SysRole role = new SysRole(); role.setRoleId(roleId); ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -17,6 +17,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -60,6 +61,9 @@ @Autowired protected Validator validator; @Value("${isAdmin}") private List<Long> isAdmin; /** * 根据条件分页查询用户列表 @@ -353,7 +357,7 @@ */ @Override public void checkUserAllowed(SysUser user) { if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) { if (StringUtils.isNotNull(user.getUserId()) && isAdmin.contains(user.getUserId())) { throw new ServiceException("不允许操作超级管理员用户"); } } @@ -365,7 +369,7 @@ */ @Override public void checkUserDataScope(Long userId) { if (!SysUser.isAdmin(SecurityUtils.getUserId())) { if (!isAdmin.contains(SecurityUtils.getUserId())) { SysUser user = new SysUser(); user.setUserId(userId); List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user); smartor/src/main/java/com/smartor/service/IServiceExternalService.java
@@ -92,4 +92,9 @@ * 新增手术信息 */ public Boolean addOperationInfo(@RequestBody Map dataMap); /** * 新增医疗组医生 */ public Boolean addMedicalTeam(Map dataMap); } smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -543,8 +543,8 @@ icd10.setGuid(externalDiseaseInfo.getZuZhiJGID()); icd10.setLastflag(externalDiseaseInfo.getMOJIBZ()); icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ()); if (CollectionUtils.isNotEmpty(icd10s)) { icd10.setUpdateTime(new Date()); if (CollectionUtils.isNotEmpty(icd10s)) { icd10.setIcdid(icd10s.get(0).getIcdid()); icd10Mapper.updateIcd10(icd10); } else { @@ -561,7 +561,7 @@ Map<String, Object> bqxx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingQuXX") : null; ExternalWardArea externalWardArea = BeanUtil.mapToBean(bqxx, ExternalWardArea.class, true); SysDept sysDept = new SysDept(); sysDept.setGuid(externalWardArea.getZuZhiJGID()); sysDept.setOrgid(externalWardArea.getZuZhiJGID()); sysDept.setHisDeptId(externalWardArea.getBingQuID()); sysDept.setDeptName(externalWardArea.getBingQuMC()); @@ -571,19 +571,26 @@ sysDept.setDeptCode(externalWardArea.getBingQuID()); sysDept.setCreateBy(externalWardArea.getChuangJianRXM()); sysDept.setType(externalWardArea.getBingQuLXDM()); sysDept.setCreateTime(externalWardArea.getCreateTime()); sysDept.setUpdateTime(externalWardArea.getUpdateTime()); sysDept.setUpdateBy(externalWardArea.getUpdateBy()); if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("3")) { sysDept.setStatus("1"); } if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("1")) { sysDept.setCreateTime(externalWardArea.getCreateTime()); int i = sysDeptMapper.insertDept(sysDept); log.error("ServiceExternalServiceImpl---addWardAreaInfo是否新增成功:{}", i); } else { int i = sysDeptMapper.updateDept(sysDept); log.error("ServiceExternalServiceImpl---addWardAreaInfo是否修改成功:{}", i); } return true; } @Override public Boolean addMedicalTeam(Map dataMap) { log.error("ServiceExternalServiceImpl---addMedicalTeam的新增的值为:{}", dataMap); return true; } @@ -796,17 +803,19 @@ if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo)) patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH()); patArchive.setInhospno(externalInHospPatientInfo.getBingAnHao()); patArchive.setCreateTime(new Date()); patArchive.setIdcardtype(externalInHospPatientInfo.getZhengJianLXMC()); if (CollectionUtils.isNotEmpty(patArchives)) { //如果不为空,直接将查询出来的对象返回 PatArchive patArchive1 = patArchives.get(0); String orgid = patArchive1.getOrgid(); if (StringUtils.isNotEmpty(orgid)) { patArchive.setUpdateTime(new Date()); patArchive.setId(patArchive1.getId()); patArchiveMapper.updatePatArchive(patArchive); } } else { patArchive.setCreateTime(new Date()); patArchiveMapper.insertPatArchiveSingle(patArchive); } //新属信息 @@ -997,8 +1006,11 @@ log.error("取消出院入参类型为:{}", type); return cancelOutHospInfo(dataMap); case "JG_ZZ_BingQu": log.error("病区信息入参类型为辅:{}", type); log.error("病区信息入参类型为:{}", type); return addWardAreaInfo(dataMap); case "JG_ZZ_YiLiaoZYS": log.error("医疗组医生为:{}", type); return addMedicalTeam(dataMap); } return true; }