<?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.kidgrow.usercenter.mapper.SysHospitalMapper">
|
<!--定义查询列-->
|
<sql id="Column_List">
|
*
|
</sql>
|
|
<!--sql查询片段-->
|
<sql id="where">
|
<where>
|
<!--查询条件自行添加-->
|
is_del=0
|
<if test="p.id != null and p.id !=''">
|
and id = #{p.id}
|
</if>
|
<if test="p.hospitalName != null and p.hospitalName !=''">
|
and hospital_name =#{p.hospitalName}%
|
</if>
|
<if test="p.orgId != null and p.orgId !=''">
|
and org_id = #{p.orgId}
|
</if>
|
<if test="p.hospitalShortName != null and p.hospitalShortName !=''">
|
and hospital_short_name = #{p.hospitalShortName}
|
</if>
|
<if test="p.hospitalCode != null and p.hospitalCode !=''">
|
and hospital_code = #{p.hospitalCode}
|
</if>
|
<if test="p.hospitalTypeId != null and p.hospitalTypeId !=''">
|
and hospital_type_id = #{p.hospitalTypeId}
|
</if>
|
<if test="p.hospitalTypeName != null and p.hospitalTypeName !=''">
|
and hospital_type_name = #{p.hospitalTypeName}
|
</if>
|
<if test="p.hospitalTel != null and p.hospitalTel !=''">
|
and hospital_tel = #{p.hospitalTel}
|
</if>
|
<if test="p.hospitalArea != null and p.hospitalArea !=''">
|
and hospital_area = #{p.hospitalArea}
|
</if>
|
<if test="p.areaCode != null and p.areaCode !=''">
|
and area_code = #{p.areaCode}
|
</if>
|
<if test="p.hospitalAdress != null and p.hospitalAdress !=''">
|
and hospital_adress = #{p.hospitalAdress}
|
</if>
|
<if test="p.latitude != null and p.latitude !=''">
|
and latitude = #{p.latitude}
|
</if>
|
<if test="p.longitude != null and p.longitude !=''">
|
and longitude = #{p.longitude}
|
</if>
|
<if test="p.hospitalQualifiedId != null and p.hospitalQualifiedId !=''">
|
and hospital_qualified_id = #{p.hospitalQualifiedId}
|
</if>
|
<if test="p.hospitalQualifiedName != null and p.hospitalQualifiedName !=''">
|
and hospital_qualified_name = #{p.hospitalQualifiedName}
|
</if>
|
<if test="p.hospitalLitLogo != null and p.hospitalLitLogo !=''">
|
and hospital_lit_logo = #{p.hospitalLitLogo}
|
</if>
|
<if test="p.hospitalLogo != null and p.hospitalLogo !=''">
|
and hospital_logo = #{p.hospitalLogo}
|
</if>
|
<if test="p.hospitalAdimage != null and p.hospitalAdimage !=''">
|
and hospital_adimage = #{p.hospitalAdimage}
|
</if>
|
<if test="p.hospitalAbout != null and p.hospitalAbout !=''">
|
and hospital_about = #{p.hospitalAbout}
|
</if>
|
<if test="p.isScreen != null and p.isScreen !=''">
|
and is_screen = #{p.isScreen}
|
</if>
|
<if test="p.serverUserId != null and p.serverUserId !=''">
|
and server_user_id = #{p.serverUserId}
|
</if>
|
<if test="p.serverUserName != null and p.serverUserName !=''">
|
and server_user_name = #{p.serverUserName}
|
</if>
|
<if test="p.hospitalState != null and p.hospitalState !=''">
|
and hospital_state = #{p.hospitalState}
|
</if>
|
<if test="p.enabled != null and p.enabled !=''">
|
and enabled = #{p.enabled}
|
</if>
|
<if test="p.tenantId != null and p.tenantId !=''">
|
and tenant_id = #{p.tenantId}
|
</if>
|
<if test="p.isDel != null and p.isDel !=''">
|
and is_del = #{p.isDel}
|
</if>
|
<if test="p.createUserId != null and p.createUserId !=''">
|
and create_user_id = #{p.createUserId}
|
</if>
|
<if test="p.createUserName != null and p.createUserName !=''">
|
and create_user_name = #{p.createUserName}
|
</if>
|
<if test="p.updateUserId != null and p.updateUserId !=''">
|
and update_user_id = #{p.updateUserId}
|
</if>
|
<if test="p.updateUserName != null and p.updateUserName !=''">
|
and update_user_name = #{p.updateUserName}
|
</if>
|
<if test="p.createTime != null and p.createTime !=''">
|
and create_time = #{p.createTime}
|
</if>
|
<if test="p.updateTime != null and p.updateTime !=''">
|
and update_time = #{p.updateTime}
|
</if>
|
|
</where>
|
</sql>
|
|
<!--定义根据-SysHospital当作查询条件返回对象-->
|
<select id="findByObject" resultType="com.kidgrow.usercenter.model.SysHospital">
|
select
|
<include refid="Column_List"/>
|
from sys_hospital
|
<include refid="where"/>
|
order by id desc
|
limit 1
|
</select>
|
|
<!--定义根据-SysHospital当作查询条件返回对象集合-->
|
<select id="findList" resultType="com.kidgrow.usercenter.model.SysHospital">
|
select
|
<include refid="Column_List"/>
|
from sys_hospital
|
<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>
|
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}
|
</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 ( 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">
|
SELECT
|
DEP.department_name,
|
DEP.id department_id,
|
DEP.server_user_name,
|
DEP.server_user_id,
|
DEP.org_id,
|
DEP.is_del,
|
DEP.is_pay,
|
DEP.enabled,
|
DEP.department_link,
|
DEP.department_tel,
|
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,
|
HOS.create_user_id
|
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,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>
|