diff --git a/postdischarge-admin/src/main/java/com/xinelu/web/controller/system/SysUserController.java b/postdischarge-admin/src/main/java/com/xinelu/web/controller/system/SysUserController.java index c525f178..64afa86a 100644 --- a/postdischarge-admin/src/main/java/com/xinelu/web/controller/system/SysUserController.java +++ b/postdischarge-admin/src/main/java/com/xinelu/web/controller/system/SysUserController.java @@ -224,4 +224,22 @@ public class SysUserController extends BaseController { List list = userService.selectUserBelongAgency(userName); return getDataTable(list); } + + /** + * 剩余科室查询 + */ + @GetMapping("/selectUserDepartment") + public TableDataInfo selectUserDepartment(String userName, String departmentName) { + return userService.selectUserDepartment(userName, departmentName); + } + + /** + * 所属科室查询 + */ + @GetMapping("/getBelongDepartment") + public TableDataInfo getBelongDepartment(String userName) { + startPage(); + List list = userService.getBelongDepartment(userName); + return getDataTable(list); + } } diff --git a/postdischarge-system/src/main/java/com/xinelu/system/domain/vo/AgencyNameVO.java b/postdischarge-system/src/main/java/com/xinelu/system/domain/vo/AgencyNameVO.java index 8a87c5d5..a3caf658 100644 --- a/postdischarge-system/src/main/java/com/xinelu/system/domain/vo/AgencyNameVO.java +++ b/postdischarge-system/src/main/java/com/xinelu/system/domain/vo/AgencyNameVO.java @@ -30,4 +30,24 @@ public class AgencyNameVO { * 机构数量 */ private Integer agencyNum; + + /** + * 主键id + */ + private Long departmentId; + + /** + * 机构名称 + */ + private String departmentName; + + /** + * 机构代码 + */ + private String departmentCode; + + /** + * 机构数量 + */ + private Integer departmentNum; } \ No newline at end of file diff --git a/postdischarge-system/src/main/java/com/xinelu/system/mapper/SysUserMapper.java b/postdischarge-system/src/main/java/com/xinelu/system/mapper/SysUserMapper.java index 04838422..8dc197f0 100644 --- a/postdischarge-system/src/main/java/com/xinelu/system/mapper/SysUserMapper.java +++ b/postdischarge-system/src/main/java/com/xinelu/system/mapper/SysUserMapper.java @@ -126,7 +126,38 @@ public interface SysUserMapper { */ public SysUser checkEmailUnique(String email); + /** + * 剩余机构信息 + * + * @param agencyName 机构搜索信息 + * @param agencyId 机构id + * @return AgencyNameVO + */ List selectAgencyList(@Param("agencyName") String agencyName, @Param("agencyId") Long agencyId); + /** + * 机构查询 + * + * @param agencyId 机构id + * @return + */ List selectBelongAgencyList(Long agencyId); + + /** + * 剩余科室信息 + * + * @param departmentName 科室搜索条件 + * @param departmentId 科室id + * @param agencyId 机构id + * @return AgencyNameVO + */ + List selectDepartmentList(@Param("departmentName") String departmentName, @Param("departmentId") Long departmentId, @Param("agencyId") Long agencyId); + + /** + * 科室信息 + * + * @param departmentId 科室id + * @return AgencyNameVO + */ + List selectBelongDepartmentList(Long departmentId); } diff --git a/postdischarge-system/src/main/java/com/xinelu/system/service/ISysUserService.java b/postdischarge-system/src/main/java/com/xinelu/system/service/ISysUserService.java index 7eac0f10..94d3617f 100644 --- a/postdischarge-system/src/main/java/com/xinelu/system/service/ISysUserService.java +++ b/postdischarge-system/src/main/java/com/xinelu/system/service/ISysUserService.java @@ -1,6 +1,5 @@ package com.xinelu.system.service; -import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.entity.SysUser; import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.system.domain.vo.AgencyNameVO; @@ -208,7 +207,7 @@ public interface ISysUserService { public String importUser(List userList, Boolean isUpdateSupport, String operName); /** - * 所属机构查询 + * 剩余机构查询 * * @param userName 用户账号 * @return AjaxResult @@ -222,4 +221,21 @@ public interface ISysUserService { * @return AjaxResult */ List selectUserBelongAgency(String userName); + + /** + * 剩余科室查询 + * + * @param userName 用户账号 + * @return AjaxResult + */ + TableDataInfo selectUserDepartment(String userName, String departmentName); + + /** + * 所属科室查询 + * + * @param userName 用户账号 + * @return AjaxResult + */ + List getBelongDepartment(String userName); + } diff --git a/postdischarge-system/src/main/java/com/xinelu/system/service/impl/SysUserServiceImpl.java b/postdischarge-system/src/main/java/com/xinelu/system/service/impl/SysUserServiceImpl.java index 55a159c2..4a29dc4d 100644 --- a/postdischarge-system/src/main/java/com/xinelu/system/service/impl/SysUserServiceImpl.java +++ b/postdischarge-system/src/main/java/com/xinelu/system/service/impl/SysUserServiceImpl.java @@ -499,7 +499,7 @@ public class SysUserServiceImpl implements ISysUserService { SysUser sysUser = userMapper.selectUserByUserName(userName); pageServiceUtil.startPage(); List agencyList = userMapper.selectAgencyList(agencyName, sysUser.getAgencyId()); - if (CollectionUtils.isNotEmpty(agencyList)){ + if (CollectionUtils.isNotEmpty(agencyList)) { return pageServiceUtil.getDataTable(agencyList); } return pageServiceUtil.getDataTable(new ArrayList<>()); @@ -519,4 +519,39 @@ public class SysUserServiceImpl implements ISysUserService { } return new ArrayList(); } + + /** + * 剩余科室查询 + * + * @param userName 用户账号 + * @return AjaxResult + */ + @Override + public TableDataInfo selectUserDepartment(String userName, String departmentName) { + SysUser sysUser = userMapper.selectUserByUserName(userName); + if (Objects.isNull(sysUser) || Objects.isNull(sysUser.getAgencyId())) { + return pageServiceUtil.getDataTable(new ArrayList<>()); + } + pageServiceUtil.startPage(); + List agencyList = userMapper.selectDepartmentList(departmentName, sysUser.getDepartmentId(), sysUser.getAgencyId()); + if (CollectionUtils.isNotEmpty(agencyList)) { + return pageServiceUtil.getDataTable(agencyList); + } + return pageServiceUtil.getDataTable(new ArrayList<>()); + } + + /** + * 所属科室查询 + * + * @param userName 用户账号 + * @return AjaxResult + */ + @Override + public List getBelongDepartment(String userName) { + SysUser sysUser = userMapper.selectUserByUserName(userName); + if (Objects.nonNull(sysUser) && Objects.nonNull(sysUser.getDepartmentId())) { + return userMapper.selectBelongDepartmentList(sysUser.getDepartmentId()); + } + return new ArrayList(); + } } diff --git a/postdischarge-system/src/main/resources/mapper/system/SysUserMapper.xml b/postdischarge-system/src/main/resources/mapper/system/SysUserMapper.xml index 8b6e9c10..92abb3c1 100644 --- a/postdischarge-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/postdischarge-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -299,7 +299,7 @@ agency_code, (select COUNT(1) from agency - where agency_status = 'ON' + where agency_status = 'ON' and node_type = 'HOSPITAL' and agency_name = #{agencyName} or agency_code = #{agencyName} @@ -309,7 +309,7 @@ ) as agencyNum from agency - where agency_status = 'ON' + where agency_status = 'ON' and node_type = 'HOSPITAL' and agency_name = #{agencyName} or agency_code = #{agencyName} @@ -320,15 +320,62 @@ + + + + \ No newline at end of file