From 2a0e777c3d5d8198554bcdf50f36d54927176fae Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Thu, 23 Jul 2020 12:05:12 +0800
Subject: [PATCH] 网关修改  判断逻辑 ,  数据权限修改

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml |   74 +++++++++++++++++++++++++++++++++++--
 1 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml
index af8c47a..93bee13 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml
@@ -155,11 +155,77 @@
             <if test="p.hospitalName != null and p.hospitalName !=''">
                 and hospital_name LIKE concat('%',#{p.hospitalName},'%')
             </if>
-            <include refid="com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper.Role_Organization"></include>
+            <if test="p.roleOrg != null and p.roleOrg.size>0">
+
+                <foreach item="item" collection="p.roleOrg" index="">
+                    <foreach item="itemto" collection="item" index="inx">
+
+                        <choose>
+                            <when test="inx == 1">
+                                <if test="itemto.flag">
+                                </if>
+                                <if test="!itemto.flag">
+                                    or ( HOS.is_del = 0 and HOS.enabled=1)
+                                </if>
+                            </when>
+                            <when test="inx==2">
+                                <if test="itemto.flag">
+                                    AND
+                                    <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")"
+                                             index="">
+                                        create_user_org_code = #{itemtoto.orgCode}
+                                    </foreach>
+                                </if>
+                                <if test="!itemto.flag">
+                                    or (
+                                    <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")"
+                                             index="">
+                                        create_user_org_code = #{itemtoto.orgCode}
+                                    </foreach>  and HOS.is_del = 0 and HOS.enabled=1
+                                    )
+                                </if>
+                            </when>
+                            <when test="inx == 3">
+                                <if test="itemto.flag">
+                                    AND
+                                    create_user_org_code = #{itemto.object}
+                                </if>
+                                <if test="!itemto.flag">
+                                    or (create_user_org_code = #{itemto.object} and HOS.is_del = 0 and HOS.enabled=1)
+                                </if>
+                            </when>
+                            <when test="inx == 4">
+                                <if test="itemto.flag">
+                                    AND
+                                    create_user_org_code like '${itemto.object}%'
+                                </if>
+                                <if test="!itemto.flag">
+                                    or (create_user_org_code like '${itemto.object}%' and HOS.is_del = 0 and HOS.enabled=1)
+                                </if>
+                            </when>
+                            <when test="inx == 5">
+                                <if test="itemto.flag">
+                                    AND
+                                    HOS.create_user_id = #{itemto.object}
+                                </if>
+                                <if test="!itemto.flag">
+                                    or (HOS.create_user_id = #{itemto.object} and HOS.is_del = 0 and HOS.enabled=1)
+                                </if>
+                            </when>
+                            <otherwise>
+                                AND id is null
+                            </otherwise>
+                        </choose>
+
+                    </foreach>
+                </foreach>
+            </if>
+<!--                        <include refid="com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper.Role_Organization"></include>-->
         </where>
     </sql>
     <select id="findHospitalList" resultType="com.kidgrow.usercenter.vo.HospitalListVo">
         SELECT
+        DISTINCT
         DEP.department_name,
         DEP.id department_id,
         DEP.server_user_name,
@@ -183,10 +249,10 @@
         HOS.area_code,
         HOS.create_time
         FROM
-	sys_department DEP
-	LEFT JOIN sys_hospital HOS ON DEP.hospital_id = HOS.id
+        sys_department DEP
+        LEFT JOIN sys_hospital HOS ON DEP.hospital_id = HOS.id
         <include refid="whereList"/>
-        order by create_time  desc
+        order by create_time desc
     </select>
     <select id="findByName" resultType="com.kidgrow.usercenter.model.SysHospital">
         select id,

--
Gitblit v1.8.0