From 247aa0db4e8e91508085e70ba8bbb094782861fc Mon Sep 17 00:00:00 2001
From: dougang <78125310@kidgrow.com>
Date: Sat, 15 Aug 2020 12:13:15 +0800
Subject: [PATCH] 注册校验增加用户类别

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml |  165 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 164 insertions(+), 1 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 0026ee8..7754ecb 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
@@ -16,7 +16,7 @@
                 and id = #{p.id}
             </if>
             <if test="p.hospitalName != null and p.hospitalName !=''">
-                and hospital_name = #{p.hospitalName}
+                and hospital_name =#{p.hospitalName}%
             </if>
             <if test="p.orgId != null and p.orgId !=''">
                 and org_id = #{p.orgId}
@@ -108,6 +108,7 @@
             <if test="p.updateTime != null and p.updateTime !=''">
                 and update_time = #{p.updateTime}
             </if>
+
         </where>
     </sql>
 
@@ -129,4 +130,166 @@
         <include refid="where"/>
         order by id desc
     </select>
+    <sql id="whereList">
+        <where>
+            hosisdel = 0
+            <if test="p.isScreen != null and p.isScreen !=''">
+                and is_screen = #{p.isScreen}
+            </if>
+            <if test="p.isAnswer != null and p.isAnswer !=''">
+                and is_answer = #{p.isAnswer}
+            </if>
+            <if test="p.hospitalState != null and p.hospitalState !=''">
+                and hospital_state = #{p.hospitalState}
+            </if>
+            <if test="p.hospitalProvince != null and p.hospitalProvince !=''">
+                and hospital_province = #{p.hospitalProvince}
+            </if>
+            <if test="p.hospitalCity != null and p.hospitalCity !=''">
+                and hospital_city = #{p.hospitalCity}
+            </if>
+            <if test="p.hospitalArea != null and p.hospitalArea !=''">
+                and hospital_area = #{p.hospitalArea}
+            </if>
+            <if test="p.hospitalName != null and p.hospitalName !=''">
+                and hospital_name LIKE concat('%',#{p.hospitalName},'%')
+            </if>
+            <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
+        DEP.department_name,
+        DEP.id department_id,
+        DEP.server_user_name,
+        DEP.server_user_id,
+        DEP.org_id,
+        DEP.is_del,
+        DEP.enabled,
+        hospitals.*
+        FROM
+        sys_department DEP
+        LEFT JOIN sys_organization DEORG ON DEP.org_id = DEORG.id and DEP.is_del=0
+        LEFT JOIN (
+        SELECT
+        HOS.id hospital_id,
+        HOS.hospital_name,
+        HOS.hospital_code,
+        HOS.hospital_province,
+        HOS.hospital_city,
+        HOS.hospital_area,
+        HOS.hospital_tel,
+        HOS.hospital_state,
+        HOS.hospital_link,
+        HOS.org_id hospital_org_id,
+        HOS.is_screen,
+        HOS.is_answer,
+        HOS.tenant_id,
+        HOS.area_code,
+        HOS.create_time,
+        HOS.is_del hosisdel,
+        HOS.enabled hosenabled,
+        ORG.id AS hosorgid
+        FROM
+        sys_hospital HOS
+        LEFT JOIN sys_organization ORG ON HOS.org_id = ORG.id and ORG.is_del=0
+        ) AS hospitals ON DEORG.org_parent_id = hospitals.hosorgid
+        <include refid="whereList"/>
+        order by create_time desc
+    </select>
+    <select id="findByName" resultType="com.kidgrow.usercenter.model.SysHospital">
+        select id,
+        hospital_name
+        from sys_hospital
+        where is_del=0 and enabled=1 and hospital_name LIKE concat('%',#{hospitalName},'%')
+        order by hospital_name desc
+    </select>
+    <select id="chartHospital" resultType="int" parameterType="int">
+        SELECT
+        count( DISTINCT hospital_name ) hospitalCount
+        FROM
+        sys_hospital
+        WHERE
+        <if test="datatype==0">
+            hospital_state =0
+        </if>
+        <if test="datatype==1">
+            hospital_state =1
+        </if>
+        <if test="datatype==11">
+            is_screen =1 and
+            hospital_state =1
+        </if>
+        AND is_del = 0
+        AND enabled = 1;
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0