From f6d390988b1c9b5695338214e95ff0d6da70b300 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Wed, 25 Nov 2020 16:34:41 +0800
Subject: [PATCH] 完善功能
---
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysHospitalMapper.xml | 153 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 146 insertions(+), 7 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 3a9f902..6d4321c 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,12 +130,40 @@
<include refid="where"/>
order by id desc
</select>
+ <sql id="wherelist_last">
+ <if test="p.isScreen != null and p.isScreen !=''">
+ and is_screen = #{p.isScreen}
+ </if>
+ <if test="p.isPay != null and p.isPay !=''">
+ and is_pay = #{p.isPay}
+ </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>
+ </sql>
<sql id="whereList">
<where>
- DEP.is_del = 0
- AND HOS.is_del = 0
+ hosisdel = 0
<if test="p.isScreen != null and p.isScreen !=''">
and is_screen = #{p.isScreen}
+ </if>
+ <if test="p.isPay != null and p.isPay !=''">
+ and is_pay = #{p.isPay}
</if>
<if test="p.isAnswer != null and p.isAnswer !=''">
and is_answer = #{p.isAnswer}
@@ -154,6 +183,76 @@
<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 ( hospitals.hosisdel = 0 and hospitals.hosenabled=1 <include refid="wherelist_last"></include>)
+ </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 hospitals.hosisdel = 0 and hospitals.hosenabled=1 <include refid="wherelist_last"></include>
+ )
+ </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 hospitals.hosisdel = 0 and hospitals.hosenabled=1 <include refid="wherelist_last"></include>)
+ </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 hospitals.hosisdel = 0 and
+ hospitals.hosenabled=1 <include refid="wherelist_last"></include>)
+ </if>
+ </when>
+ <when test="inx == 5">
+ <if test="itemto.flag">
+ AND
+ hospitals.create_user_id = #{itemto.object}
+ </if>
+ <if test="!itemto.flag">
+ or (hospitals.create_user_id = #{itemto.object} and hospitals.hosisdel = 0 and hospitals.hosenabled=1 <include refid="wherelist_last"></include>)
+ </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">
@@ -164,7 +263,14 @@
DEP.server_user_id,
DEP.org_id,
DEP.is_del,
+ DEP.is_pay,
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,
@@ -174,14 +280,47 @@
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.create_time
+ HOS.area_code,
+ HOS.create_time,
+ HOS.is_del hosisdel,
+ HOS.enabled hosenabled,
+ ORG.id AS hosorgid,
+ HOS.create_user_id
FROM
- sys_department DEP
- LEFT JOIN sys_hospital HOS ON DEP.hospital_id = HOS.id
+ 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
+ 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,id 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