Bläddra i källkod

权限管理模块-获取权限列表

songxinlu 3 år sedan
förälder
incheckning
adc74898e1

+ 6 - 0
common/pom.xml

@@ -84,6 +84,12 @@
             <groupId>javax.validation</groupId>
             <artifactId>validation-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-extension</artifactId>
+            <version>3.4.3</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 </project>

+ 7 - 0
common/src/main/java/com/lantone/common/dto/DataAuthDTO.java

@@ -23,6 +23,11 @@ public class DataAuthDTO implements Serializable {
 
     @ApiModelProperty(value = "数据权限名称")
     private String authName;
+    @ApiModelProperty(value = "角色编号")
+    private Long roleId;
+
+    @ApiModelProperty(value = "角色名称")
+    private String roleName;
 
     @ApiModelProperty(value = "状态 0:禁用,1:启用")
     private String status;
@@ -46,4 +51,6 @@ public class DataAuthDTO implements Serializable {
      */
     private List<SysServiceDTO> sysServiceDTOS;
 
+
+
 }

+ 1 - 3
common/src/main/java/com/lantone/common/dto/DeptDTO.java

@@ -48,8 +48,6 @@ public class DeptDTO implements Serializable {
 
     @ApiModelProperty(value = "是否删除,N:未删除,Y:删除")
     private String isDeleted;
-    /**
-     * 关联标志位 true 关联
-     */
+    @ApiModelProperty(value = "关联标志位 true 关联")
     private boolean relationStatus;
 }

+ 23 - 40
common/src/main/java/com/lantone/common/dto/DoctorDTO.java

@@ -1,5 +1,6 @@
 package com.lantone.common.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -15,68 +16,50 @@ public class DoctorDTO implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    /**
-     * 编号
-     */
+    @ApiModelProperty(value = "编号")
     private Long id;
+    @ApiModelProperty(value = "医院编号")
+    private Long hospitalId;
+    @ApiModelProperty(value = "科室编号")
+    private Long deptId;
 
-    /**
-     * 医生编码
-     */
+    @ApiModelProperty(value = "医生编码")
     private String code;
 
-    /**
-     * 医生姓名
-     */
+    @ApiModelProperty(value = "医院名称")
+    private String hospitalName;
+    @ApiModelProperty(value = "科室名称")
+    private String deptName;
+    @ApiModelProperty(value = "医生姓名")
     private String name;
 
-    /**
-     * 手机号
-     */
+    @ApiModelProperty(value = "手机号")
     private String mobilePhone;
 
-    /**
-     * 职称
-     */
+    @ApiModelProperty(value = "职称")
     private String professor;
 
-    /**
-     * 职业医师资格(0:无,1:有)
-     */
+    @ApiModelProperty(value = "职业医师资格(0:无,1:有)")
     private String occup;
 
-    /**
-     * 是否删除,N:未删除,Y:删除
-     */
+    @ApiModelProperty(value = "是否删除,N:未删除,Y:删除")
     private String isDeleted;
 
-    /**
-     * 记录创建时间
-     */
+    @ApiModelProperty(value = "记录创建时间")
     private Date gmtCreate;
 
-    /**
-     * 记录修改时间,如果时间是1970年则表示纪录未修改
-     */
+    @ApiModelProperty(value = "记录修改时间,如果时间是1970年则表示纪录未修改")
     private Date gmtModified;
 
-    /**
-     * 创建人,0表示无创建人值
-     */
+    @ApiModelProperty(value = "创建人,0表示无创建人值")
     private String creator;
 
-    /**
-     * 修改人,如果为0则表示纪录未修改
-     */
+    @ApiModelProperty(value = "修改人,如果为0则表示纪录未修改")
     private String modifier;
 
-    /**
-     * 备注
-     */
+    @ApiModelProperty(value = "备注")
     private String remark;
-    /**
-     * 关联标志位 true 关联
-     */
-    private boolean relationStatus;
+    @ApiModelProperty(value = "已关联未关联")
+    private String relation;
 
 }

+ 4 - 12
common/src/main/java/com/lantone/common/dto/HospitalDTO.java

@@ -52,21 +52,13 @@ public class HospitalDTO implements Serializable {
     private String isDeleted;
 
 
-    /**
-     * 用户在该组织下的角色列表
-     */
+    @ApiModelProperty(value = "用户在该组织下的角色列表")
     private List<RoleDTO> roles;
-    /**
-     * 该医院的科室列表
-     */
+    @ApiModelProperty(value = "该医院的科室列表")
     private List<DeptDTO> depts;
 
-    /**
-     * 该虚拟医院的医院列表
-     */
+    @ApiModelProperty(value = "该虚拟医院的医院列表")
     private List<HospitalDTO> hospitalDTOS;
-    /**
-     * 关联标志位 true 关联
-     */
+    @ApiModelProperty(value = "关联标志位 true 关联")
     private boolean relationStatus;
 }

+ 14 - 39
common/src/main/java/com/lantone/common/dto/ServiceRoleDataAuthDetailDTO.java

@@ -1,5 +1,6 @@
 package com.lantone.common.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -11,58 +12,32 @@ import lombok.Data;
  */
 @Data
 public class ServiceRoleDataAuthDetailDTO {
-    /**
-     * 服务、角色、数据权限关联id
-     */
+    @ApiModelProperty(value = "服务、角色、数据权限关联id")
     private Long serviceRoleDataAuthDetailId;
-    /**
-     * 系统数据权限id
-     */
+    @ApiModelProperty(value = "系统数据权限id")
     private Long serviceDataAuthId;
-    /**
-     * 数据权限详情id
-     */
+    @ApiModelProperty(value = "数据权限详情id")
     private Long detail;
-    /**
-     * 数据权限id
-     */
+    @ApiModelProperty(value = "数据权限id")
     private Long dataAuthId;
-    /**
-     * 数据权限名称
-     */
+    @ApiModelProperty(value = "数据权限名称")
     private String dataAuthName;
-    /**
-     * 数据权限启用禁用状态
-     */
+    @ApiModelProperty(value = "数据权限启用禁用状态")
     private String status;
-    /**
-     * 数据范围类型::1:全部组织,2:全部科室,3:全部科室除本科室外,4:本科室,5:本医疗组,6:本人,7:自定义
-     */
+    @ApiModelProperty(value = "数据范围类型::1:全部组织,2:全部科室,3:全部科室除本科室外,4:本科室,5:本医疗组,6:本人,7:自定义")
     private Integer dataType;
-    /**
-     * detail_id的类型 1:detail_id为医院id 2:为科室id3:为医生id
-     */
+    @ApiModelProperty(value = "detail_id的类型 1:detail_id为医院id 2:为科室id3:为医生id")
     private Integer detailType;
-    /**
-     * 医院、科室、医生id
-     */
+    @ApiModelProperty(value = "医院、科室、医生id")
     private Long detailId;
-    /**
-     * 系统id
-     */
+    @ApiModelProperty(value = "系统id")
     private Long serviceId;
 
-    /**
-     * 系统名称
-     */
+    @ApiModelProperty(value = "系统名称")
     private String serviceName;
-    /**
-     * 角色id
-     */
+    @ApiModelProperty(value = "角色id")
     private Long roleId;
-    /**
-     * 角色名称
-     */
+    @ApiModelProperty(value = "角色名称")
     private String roleName;
 
 }

+ 5 - 1
common/src/main/java/com/lantone/common/vo/DataAuthVO.java

@@ -1,5 +1,6 @@
 package com.lantone.common.vo;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -15,7 +16,7 @@ import java.util.List;
  * @Version 1.0
  */
 @Data
-public class DataAuthVO implements Serializable {
+public class DataAuthVO extends Page implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "编号")
@@ -43,4 +44,7 @@ public class DataAuthVO implements Serializable {
     private String isDeleted;
     @ApiModelProperty("系统列表")
     private List<SysServiceVO> serviceVOS;
+
+    @ApiModelProperty("角色列表")
+    private List<Long> roles;
 }

+ 64 - 0
common/src/main/java/com/lantone/common/vo/DoctorVO.java

@@ -0,0 +1,64 @@
+package com.lantone.common.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 医生表
+ * </p>
+ */
+@Data
+public class DoctorVO extends Page implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "编号")
+    private Long id;
+
+    @ApiModelProperty(value = "医生编码")
+    private String code;
+
+    @ApiModelProperty(value = "医生姓名")
+    private String name;
+
+    @ApiModelProperty(value = "手机号")
+    private String mobilePhone;
+
+    @ApiModelProperty(value = "职称")
+    private String professor;
+
+    @ApiModelProperty(value = "职业医师资格(0:无,1:有)")
+    private String occup;
+
+    @ApiModelProperty(value = "是否删除,N:未删除,Y:删除")
+    private String isDeleted;
+
+    @ApiModelProperty(value = "记录创建时间")
+    private Date gmtCreate;
+
+    @ApiModelProperty(value = "记录修改时间,如果时间是1970年则表示纪录未修改")
+    private Date gmtModified;
+
+    @ApiModelProperty(value = "创建人,0表示无创建人值")
+    private String creator;
+
+    @ApiModelProperty(value = "修改人,如果为0则表示纪录未修改")
+    private String modifier;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    @ApiModelProperty(value = "科室id集合")
+    private List<Long> depts;
+
+    @ApiModelProperty(value = "医院id集合")
+    private List<Long> hospitals;
+    @ApiModelProperty(value = "已关联,未关联")
+    private String relation;
+}

+ 6 - 0
dblayer-mbg/pom.xml

@@ -17,6 +17,12 @@
         <dependency>
             <groupId>com.lantone</groupId>
             <artifactId>common</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.baomidou</groupId>
+                    <artifactId>mybatis-plus-extension</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.alibaba</groupId>

+ 26 - 3
dblayer-mbg/src/main/java/com/lantone/dblayermbg/mapper/DataAuthMapper.java

@@ -1,7 +1,10 @@
 package com.lantone.dblayermbg.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.lantone.common.dto.DataAuthDTO;
 import com.lantone.common.dto.ServiceRoleDataAuthDetailDTO;
+import com.lantone.common.vo.DataAuthVO;
 import com.lantone.common.vo.ServiceDataAuthVO;
 import com.lantone.dblayermbg.entity.DataAuth;
 import org.apache.ibatis.annotations.Param;
@@ -15,14 +18,34 @@ import java.util.List;
  */
 public interface DataAuthMapper extends BaseMapper<DataAuth> {
     /**
+     /**
      * @Author songxl
-     * @Description 通过数据权限id和角色id获取数据权限详情
-     * @Date  2021/7/22
+     * @Description 通过数据权限id和角色id获取数据权限
+     * @Date 2021/7/22
      * @Param [serviceDataAuthVO]
      * @Return com.lantone.security.dto.ServiceRoleDataAuthDetailDTO
      * @MethodName getDataAuthById
      */
     List<ServiceRoleDataAuthDetailDTO> getDataAuthById(@Param("serviceDataAuthVO") ServiceDataAuthVO serviceDataAuthVO);
-    List<ServiceRoleDataAuthDetailDTO> getOneServiceRoleDataAuthDetail(@Param("serviceID") Long serviceID,@Param("dataDetailID") Long dataDetailID);
+
+    /**
+     * @Author songxl
+     * @Description 获取数据权限详情
+     * @Date 2021/7/22
+     * @Param [serviceDataAuthVO]
+     * @Return com.lantone.security.dto.ServiceRoleDataAuthDetailDTO
+     * @MethodName getDataAuthById
+     */
+    List<ServiceRoleDataAuthDetailDTO> getOneServiceRoleDataAuthDetail(@Param("serviceID") Long serviceID, @Param("dataDetailID") Long dataDetailID);
+
+    /**
+     * @Author songxl
+     * @Description获取数据权限列表
+     * @Date 2021/7/27
+     * @Param [dataAuthVO]
+     * @Return com.baomidou.mybatisplus.core.metadata.IPage<com.lantone.common.dto.DataAuthDTO>
+     * @MethodName getDataAuthPage
+     */
+    IPage<DataAuthDTO> getDataAuthPage(@Param("dataAuthVO") DataAuthVO dataAuthVO);
 }
 

+ 5 - 1
dblayer-mbg/src/main/java/com/lantone/dblayermbg/mapper/DoctorMapper.java

@@ -1,7 +1,11 @@
 package com.lantone.dblayermbg.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.lantone.common.dto.DoctorDTO;
+import com.lantone.common.vo.DoctorVO;
 import com.lantone.dblayermbg.entity.Doctor;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -9,6 +13,6 @@ import com.lantone.dblayermbg.entity.Doctor;
  * </p>
  */
 public interface DoctorMapper extends BaseMapper<Doctor> {
-
+    IPage<DoctorDTO> getDoctorPage(@Param("doctorVO") DoctorVO doctorVO);
 }
 

+ 85 - 52
dblayer-mbg/src/main/resources/mapper/DataAuthMapper.xml

@@ -1,35 +1,35 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.lantone.dblayermbg.mapper.DataAuthMapper">
-    <select id="getDataAuthById"  resultType="com.lantone.common.dto.ServiceRoleDataAuthDetailDTO">
+    <select id="getDataAuthById" resultType="com.lantone.common.dto.ServiceRoleDataAuthDetailDTO">
         SELECT
-            rsd.id serviceRoleDataAuthDetailId,
-            sd.id serviceDataAuthId,
-            sd.service_id serviceId,
-            s.`name` serviceName,
-            r.id roleId,
-            r.`name` roleName,
-            sd.data_auth_id dataAuthId,
-            d.auth_name dataAuthName,
-            d.`status`
-            FROM
-            sys_role r,
-            sys_service s,
-            sys_role_service_data_auth rsd,
-            sys_data_auth d,
-            sys_service_data_auth sd
-            WHERE
-            r.id = rsd.role_id
-            AND r.`status` = '1'
-            AND d.`status` = '1'
-            AND s.id = sd.service_id
-            AND rsd.service_data_auth_id = sd.id
-            AND sd.data_auth_id = d.id
-            AND r.is_deleted = 'N'
-            AND s.is_deleted = 'N'
-            AND rsd.is_deleted = 'N'
-            AND d.is_deleted = 'N'
-            AND sd.is_deleted = 'N'
+        rsd.id serviceRoleDataAuthDetailId,
+        sd.id serviceDataAuthId,
+        sd.service_id serviceId,
+        s.`name` serviceName,
+        r.id roleId,
+        r.`name` roleName,
+        sd.data_auth_id dataAuthId,
+        d.auth_name dataAuthName,
+        d.`status`
+        FROM
+        sys_role r,
+        sys_service s,
+        sys_role_service_data_auth rsd,
+        sys_data_auth d,
+        sys_service_data_auth sd
+        WHERE
+        r.id = rsd.role_id
+        AND r.`status` = '1'
+        AND d.`status` = '1'
+        AND s.id = sd.service_id
+        AND rsd.service_data_auth_id = sd.id
+        AND sd.data_auth_id = d.id
+        AND r.is_deleted = 'N'
+        AND s.is_deleted = 'N'
+        AND rsd.is_deleted = 'N'
+        AND d.is_deleted = 'N'
+        AND sd.is_deleted = 'N'
         <if test="serviceDataAuthVO.roles !=null and serviceDataAuthVO.roles.size!=0">
             AND rsd.role_id in
             <foreach collection="serviceDataAuthVO.roles" item="role" open="(" close=")" separator=",">
@@ -42,31 +42,31 @@
     </select>
 
 
-    <select id="getOneServiceRoleDataAuthDetail"  resultType="com.lantone.common.dto.ServiceRoleDataAuthDetailDTO">
+    <select id="getOneServiceRoleDataAuthDetail" resultType="com.lantone.common.dto.ServiceRoleDataAuthDetailDTO">
         SELECT DISTINCT
-            detail.id detail,
-            detail.data_type dataType,
-            detail.detail_type detailType,
-            detail.detail_id detailId
-            FROM
-            sys_role r,
-            sys_service s,
-            sys_role_service_data_auth rsd,
-            sys_data_auth d,
-            sys_service_data_auth sd
-            LEFT JOIN sys_data_auth_detail detail ON sd.id = detail.service_data_auth_id
-            WHERE
-            r.id = rsd.role_id
-            AND r.`status` = '1'
-            AND d.`status` = '1'
-            AND s.id = sd.service_id
-            AND rsd.service_data_auth_id = sd.id
-            AND sd.data_auth_id = d.id
-            AND r.is_deleted = 'N'
-            AND s.is_deleted = 'N'
-            AND rsd.is_deleted = 'N'
-            AND d.is_deleted = 'N'
-            AND sd.is_deleted = 'N'
+        detail.id detail,
+        detail.data_type dataType,
+        detail.detail_type detailType,
+        detail.detail_id detailId
+        FROM
+        sys_role r,
+        sys_service s,
+        sys_role_service_data_auth rsd,
+        sys_data_auth d,
+        sys_service_data_auth sd
+        LEFT JOIN sys_data_auth_detail detail ON sd.id = detail.service_data_auth_id
+        WHERE
+        r.id = rsd.role_id
+        AND r.`status` = '1'
+        AND d.`status` = '1'
+        AND s.id = sd.service_id
+        AND rsd.service_data_auth_id = sd.id
+        AND sd.data_auth_id = d.id
+        AND r.is_deleted = 'N'
+        AND s.is_deleted = 'N'
+        AND rsd.is_deleted = 'N'
+        AND d.is_deleted = 'N'
+        AND sd.is_deleted = 'N'
         <if test="serviceID != null ">
             AND d.id = #{dataDetailID}
         </if>
@@ -74,4 +74,37 @@
             AND s.id = #{serviceID}
         </if>
     </select>
+    <select id="getDataAuthPage" resultType="com.lantone.common.dto.DataAuthDTO">
+        SELECT DISTINCT
+        auth.id,
+        auth.auth_name,
+        r.id roleId,
+        r.`name` roleName,
+        auth.`status`
+        FROM
+        sys_role r,
+        sys_data_auth auth,
+        sys_role_service_data_auth rauth,
+        sys_service_data_auth sauth
+        WHERE
+        r.id = rauth.role_id
+        AND sauth.data_auth_id = auth.id
+        AND sauth.id = rauth.service_data_auth_id
+        AND r.is_deleted = 'N'
+        AND auth.is_deleted = 'N'
+        AND rauth.is_deleted = 'N'
+        AND sauth.is_deleted = 'N'
+        <if test="dataAuthVO.status != null ">
+            AND auth.`status` = #{dataAuthVO.status}
+        </if>
+        <if test="dataAuthVO.roles !=null and dataAuthVO.roles.size!=0">
+            AND r.id IN
+            <foreach collection="dataAuthVO.roles" item="id" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
+        <if test="dataAuthVO.authName!=null and dataAuthVO.authName!=''">
+            AND auth.auth_name LIKE concat('%',#{dataAuthVO.authName},'%')
+        </if>
+    </select>
 </mapper>

+ 59 - 1
dblayer-mbg/src/main/resources/mapper/DoctorMapper.xml

@@ -1,5 +1,63 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.lantone.dblayermbg.mapper.DoctorMapper">
-
+    <select id="getDoctorPage" resultType="com.lantone.common.dto.DoctorDTO">
+        SELECT
+        *
+        FROM
+        (
+        SELECT
+        h.id hospitalId,
+        h.`name` hospitalName,
+        dept.id deptId,
+        dept.`name` deptName,
+        doc.id ,
+        doc.`name` ,
+        doc.mobilePhone,
+        IF (
+        detail.detail_id IS NULL,
+        '未关联',
+        '已关联'
+        ) relation
+        FROM
+        sys_hospital h,
+        sys_dept dept,
+        sys_dept_doctor dd,
+        sys_doctor doc
+        LEFT JOIN sys_data_auth_detail detail ON detail.data_type = 7
+        AND detail.detail_type = 3
+        AND detail.detail_id = doc.id
+        AND detail.is_deleted = 'N'
+        WHERE
+        h.id = dd.hospital_id
+        AND dept.id = dd.dept_id
+        AND doc.id = dd.doctor_id
+        AND h.is_deleted = 'N'
+        AND dept.is_deleted = 'N'
+        AND doc.is_deleted = 'N'
+        AND dd.is_deleted = 'N'
+        <if test="doctorVO.hospitals !=null and doctorVO.hospitals.size!=0">
+            AND h.id IN
+            <foreach collection="doctorVO.hospitals" item="id" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
+        <if test="doctorVO.depts !=null and doctorVO.depts.size!=0">
+            AND dept.id IN
+            <foreach collection="doctorVO.depts" item="id" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
+        <if test="doctorVO.name!=null and doctorVO.name!=''">
+            AND doc.`name` LIKE concat('%',#{doctorVO.name},'%')
+        </if>
+        <if test="doctorVO.mobilePhone!=null and doctorVO.mobilePhone!=''">
+            AND doc.mobilePhone LIKE concat('%',#{doctorVO.mobilePhone},'%')
+        </if>
+        ) t
+        WHERE
+        <if test="doctorVO.relation != null ">
+            t.relation = #{doctorVO.relation}
+        </if>
+    </select>
 </mapper>

+ 3 - 1
gateway-service/src/main/resources/bootstrap.yml

@@ -89,4 +89,6 @@ secure:
       - "/security-center/data/auth/addAuth"
       - "/security-center/data/auth/updateAuth"
       - "/security-center/data/auth/disableAuth"
-      - "/security-center/data/auth/deleteAuth"
+      - "/security-center/data/auth/deleteAuth"
+      - "/security-center/data/auth/getDoctorPage"
+      - "/security-center/data/auth/getDataAuthPage"

+ 33 - 9
security-center/src/main/java/com/lantone/security/facade/DataAuthHandleFacade.java

@@ -16,7 +16,8 @@ import com.lantone.common.util.DateUtil;
 import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
 import com.lantone.common.vo.DataAuthDetailVO;
-import com.lantone.common.vo.HospitalVO;
+import com.lantone.common.vo.DataAuthVO;
+import com.lantone.common.vo.DoctorVO;
 import com.lantone.common.vo.RoleVO;
 import com.lantone.common.vo.ServiceDataAuthVO;
 import com.lantone.common.vo.SysServiceVO;
@@ -29,6 +30,7 @@ import com.lantone.dblayermbg.entity.ServiceDataAuth;
 import com.lantone.dblayermbg.facade.DataAuthDetailFacade;
 import com.lantone.dblayermbg.facade.DataAuthFacade;
 import com.lantone.dblayermbg.facade.DeptFacade;
+import com.lantone.dblayermbg.facade.DoctorFacade;
 import com.lantone.dblayermbg.facade.HospitalFacade;
 import com.lantone.dblayermbg.facade.RoleServiceDataAuthFacade;
 import com.lantone.dblayermbg.facade.ServiceDataAuthFacade;
@@ -73,6 +75,8 @@ public class DataAuthHandleFacade extends DataAuthServiceImpl {
     private HospitalFacade hospitalFacade;
     @Autowired
     private DeptFacade deptFacade;
+    @Autowired
+    private DoctorFacade doctorFacade;
 
     /**
      * @Author songxl
@@ -393,9 +397,9 @@ public class DataAuthHandleFacade extends DataAuthServiceImpl {
                 sysServiceDTO.setId(id);
                 sysServiceDTO.setName(ServiceEnum.getName(id.intValue()));
                 //4.1添加数据权限详情列表
-//                List<ServiceRoleDataAuthDetailDTO> oneServiceRoleDataAuthDetailDTOS = serviceRoleDataAuthDetailDTOS.stream()
-//                        .filter(serviceRoleDataAuthDetailDTO -> serviceRoleDataAuthDetailDTO.getServiceId() == id).collect(Collectors.toList());
-                List<ServiceRoleDataAuthDetailDTO> oneServiceRoleDataAuthDetailDTOS = this.baseMapper.getOneServiceRoleDataAuthDetail(id,serviceDataAuthVO.getDataAuthVO().getId());
+                //                List<ServiceRoleDataAuthDetailDTO> oneServiceRoleDataAuthDetailDTOS = serviceRoleDataAuthDetailDTOS.stream()
+                //                        .filter(serviceRoleDataAuthDetailDTO -> serviceRoleDataAuthDetailDTO.getServiceId() == id).collect(Collectors.toList());
+                List<ServiceRoleDataAuthDetailDTO> oneServiceRoleDataAuthDetailDTOS = this.baseMapper.getOneServiceRoleDataAuthDetail(id, serviceDataAuthVO.getDataAuthVO().getId());
 
                 List<DataAuthDetailDTO> dataAuthDetailDTOS = new ArrayList<>();
                 //4.2.1是否获取当前组织-科室信息 dataAuthDetailDTOS去重
@@ -417,11 +421,11 @@ public class DataAuthHandleFacade extends DataAuthServiceImpl {
 
                 //5.添加角色列表
                 List<RoleDTO> roleDTOS = new ArrayList<>();
-                Map<Long,String> roleMap = new HashMap<>();
+                Map<Long, String> roleMap = new HashMap<>();
                 serviceRoleDataAuthDetailDTOS.stream().forEach(serviceRoleDataAuthDetailDTO -> {
-                    roleMap.put(serviceRoleDataAuthDetailDTO.getRoleId(),serviceRoleDataAuthDetailDTO.getRoleName());
+                    roleMap.put(serviceRoleDataAuthDetailDTO.getRoleId(), serviceRoleDataAuthDetailDTO.getRoleName());
                 });
-                for (Long roleID:roleMap.keySet()){
+                for (Long roleID : roleMap.keySet()) {
                     RoleDTO role = new RoleDTO();
                     role.setId(roleID);
                     role.setName(roleMap.get(roleID));
@@ -543,7 +547,27 @@ public class DataAuthHandleFacade extends DataAuthServiceImpl {
         return hospitalDTOS;
     }
 
-    public IPage<DoctorDTO> getDoctorPage(HospitalVO hospitalVO) {
-        return null;
+    /**
+     * @Author songxl
+     * @Description通过医院id或科室id获取医生列表
+     * @Date 2021/7/27
+     * @Param [hospitalVO]
+     * @Return com.baomidou.mybatisplus.core.metadata.IPage<com.lantone.common.dto.DoctorDTO>
+     * @MethodName getDoctorPage
+     */
+    public IPage<DoctorDTO> getDoctorPage(DoctorVO doctorVO) {
+        return doctorFacade.getBaseMapper().getDoctorPage(doctorVO);
+    }
+
+    /**
+     * @Author songxl
+     * @Description获取数据权限列表
+     * @Date 2021/7/27
+     * @Param [dataAuthVO]
+     * @Return com.baomidou.mybatisplus.core.metadata.IPage<com.lantone.common.dto.DataAuthDTO>
+     * @MethodName getDataAuthPage
+     */
+    public IPage<DataAuthDTO> getDataAuthPage(DataAuthVO dataAuthVO) {
+        return dataAuthFacade.getBaseMapper().getDataAuthPage(dataAuthVO);
     }
 }

+ 15 - 14
security-center/src/main/java/com/lantone/security/web/DataAuthController.java

@@ -4,7 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.lantone.common.api.CommonResult;
 import com.lantone.common.dto.DataAuthDTO;
 import com.lantone.common.dto.DoctorDTO;
-import com.lantone.common.vo.HospitalVO;
+import com.lantone.common.vo.DataAuthVO;
+import com.lantone.common.vo.DoctorVO;
 import com.lantone.common.vo.ServiceDataAuthVO;
 import com.lantone.security.facade.DataAuthHandleFacade;
 import io.swagger.annotations.Api;
@@ -15,7 +16,6 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-import springfox.documentation.annotations.ApiIgnore;
 
 /**
  * @ClassName: DataAuthController
@@ -25,7 +25,7 @@ import springfox.documentation.annotations.ApiIgnore;
  * @Version 1.0
  */
 @RestController
-@Api(value = "数据权限API", tags = { "数据权限API" })
+@Api( value = "数据权限API",tags = "DataAuthController")
 @RequestMapping("/data/auth")
 public class DataAuthController {
     @Autowired
@@ -36,7 +36,6 @@ public class DataAuthController {
                     "roles:角色列表,必填<br>" +
                     "type:操作码 1:新增;2:修改 ;3:删除;5:启用禁用")
     @PostMapping("/addAuth")
-    @ApiIgnore
     @Transactional
     public CommonResult<Boolean> addAuth(@RequestBody ServiceDataAuthVO serviceDataAuthVO) {
         return CommonResult.success(dataAuthHandleFacade.CRUDOperation(serviceDataAuthVO));
@@ -47,7 +46,6 @@ public class DataAuthController {
                     "roles:角色列表,必填<br>" +
                     "type:操作码 1:新增;2:修改;3:删除;5:启用禁用")
     @PostMapping("/updateAuth")
-    @ApiIgnore
     @Transactional
     public CommonResult<Boolean> updateAuth(@RequestBody ServiceDataAuthVO serviceDataAuthVO) {
         return CommonResult.success(dataAuthHandleFacade.CRUDOperation(serviceDataAuthVO));
@@ -57,7 +55,6 @@ public class DataAuthController {
                     "roles:角色列表,必填<br>" +
                     "type:操作码 1:新增;2:修改;3:删除;5:启用禁用")
     @PostMapping("/disableAuth")
-    @ApiIgnore
     @Transactional
     public CommonResult<Boolean> disableAuth(@RequestBody ServiceDataAuthVO serviceDataAuthVO) {
         return CommonResult.success(dataAuthHandleFacade.CRUDOperation(serviceDataAuthVO));
@@ -68,7 +65,6 @@ public class DataAuthController {
                     "roles:角色列表,必填<br>" +
                     "type:操作码 1:新增;2:修改;3:删除;5:启用禁用")
     @PostMapping("/deleteAuth")
-    @ApiIgnore
     @Transactional
     public CommonResult<Boolean> deleteAuth(@RequestBody ServiceDataAuthVO serviceDataAuthVO) {
         return CommonResult.success(dataAuthHandleFacade.CRUDOperation(serviceDataAuthVO));
@@ -79,19 +75,24 @@ public class DataAuthController {
                     "roles:角色列表,必填<br>" +
                     "type:操作码 1:新增;2:修改;3:删除;5:启用禁用")
     @PostMapping("/getDataAuthById")
-    @ApiIgnore
     public CommonResult<DataAuthDTO> getDataAuthById(@RequestBody ServiceDataAuthVO serviceDataAuthVO) {
         return CommonResult.success(dataAuthHandleFacade.getDataAuthById(serviceDataAuthVO));
     }
 
 
-    @ApiOperation(value = "通过医院id或科室id获取医生列表[by:songxl]",
+    @ApiOperation(value = "获取医生列表[by:songxl]",
             notes = "id:医院编号,必填<br>" +
-                    "roles:角色列表,必填<br>" +
-                    "type:操作码 1:新增;2:修改;3:删除;5:启用禁用")
+                    "depts:该医院的科室列表" )
     @PostMapping("/getDoctorPage")
-    @ApiIgnore
-    public CommonResult<IPage<DoctorDTO>> getDoctorPage(@RequestBody HospitalVO hospitalVO) {
-        return CommonResult.success(dataAuthHandleFacade.getDoctorPage(hospitalVO));
+    public CommonResult<IPage<DoctorDTO>> getDoctorPage(@RequestBody DoctorVO doctorVO) {
+        return CommonResult.success(dataAuthHandleFacade.getDoctorPage(doctorVO));
+    }
+
+    @ApiOperation(value = "获取数据权限列表[by:songxl]",
+            notes = "id:医院编号,必填<br>" +
+                    "depts:该医院的科室列表" )
+    @PostMapping("/getDataAuthPage")
+    public CommonResult<IPage<DataAuthDTO>> getDataAuthPage(@RequestBody DataAuthVO dataAuthVO) {
+        return CommonResult.success(dataAuthHandleFacade.getDataAuthPage(dataAuthVO));
     }
 }