<?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.ruoyi.system.mapper.HospDataMapper">
|
|
<resultMap type="HospData" id="HospDataResult">
|
<result property="hospId" column="HospID" />
|
<result property="hospName" column="HospName" />
|
<result property="hospCityId" column="HospCityID" />
|
<result property="hospShort" column="HospShort" />
|
<result property="hopsProvince" column="HopsProvince" />
|
<result property="hopsCity" column="HopsCity" />
|
<result property="hopsArea" column="HopsArea" />
|
<result property="hospAddress" column="HospAddress" />
|
<result property="hospTel" column="HospTEL" />
|
<result property="hospUnitId" column="HospUnitID" />
|
<result property="hospState" column="HospState" />
|
<result property="hospOaId" column="HospOAID" />
|
<result property="hospIntroducerId" column="HospIntroducerID" />
|
<result property="hospIntroducerDate" column="HospIntroducerDate" />
|
<result property="hospLevel" column="HospLevel" />
|
</resultMap>
|
|
<select id="searchHospitals" resultMap="HospDataResult">
|
SELECT TOP 1000
|
HospID, HospName, HospCityID, HospShort,
|
HopsProvince, HopsCity, HopsArea, HospAddress,
|
HospTEL, HospUnitID, HospState, HospOAID,
|
HospIntroducerID, HospIntroducerDate, HospLevel
|
FROM HospData
|
WHERE 1=1
|
<!-- 有 keyword 就只用 keyword,不用 region -->
|
<if test="keyword != null and keyword != ''">
|
AND (
|
HopsProvince LIKE '%' + #{keyword} + '%'
|
OR HopsCity LIKE '%' + #{keyword} + '%'
|
OR HopsArea LIKE '%' + #{keyword} + '%'
|
OR HospAddress LIKE '%' + #{keyword} + '%'
|
OR HospName LIKE '%' + #{keyword} + '%'
|
OR HospShort LIKE '%' + #{keyword} + '%'
|
)
|
</if>
|
<!-- 没有 keyword 时才用 region -->
|
<if test="(keyword == null or keyword == '') and (region != null and region != '')">
|
AND (
|
HopsProvince LIKE '%' + #{region} + '%'
|
OR HopsCity LIKE '%' + #{region} + '%'
|
OR HopsArea LIKE '%' + #{region} + '%'
|
OR HospAddress LIKE '%' + #{region} + '%'
|
OR HospName LIKE '%' + #{region} + '%'
|
OR HospShort LIKE '%' + #{region} + '%'
|
)
|
</if>
|
AND (HospState IS NULL OR HospState = 1)
|
ORDER BY
|
CASE WHEN HospName = '家中' THEN 0 ELSE 1 END,
|
HospName
|
</select>
|
|
<select id="selectHospDataById" parameterType="Integer" resultMap="HospDataResult">
|
SELECT
|
HospID, HospName, HospCityID, HospShort,
|
HopsProvince, HopsCity, HopsArea, HospAddress,
|
HospTEL, HospUnitID, HospState, HospOAID,
|
HospIntroducerID, HospIntroducerDate, HospLevel
|
FROM HospData
|
WHERE HospID = #{hospId}
|
</select>
|
|
<!-- 查询常用转出医院ID列表 -->
|
<select id="selectFrequentOutHospitalIds" resultType="java.lang.Integer">
|
select ServiceOrdPtOutHospID from (
|
select ServiceOrdPtOutHospID,count(1) as InCount from ServiceOrder
|
where ServiceOrdClass=#{serviceOrdClass} and ServiceOrdPtOutHospID>0
|
group by ServiceOrdPtOutHospID
|
) as t
|
order by InCount desc
|
</select>
|
<select id="getHomeHospId" resultType="java.lang.Integer">
|
select HospID from HospData where HospName='家中'
|
</select>
|
|
<!-- 查询常用转入医院ID列表 -->
|
<select id="selectFrequentInHospitalIds" resultType="java.lang.Integer">
|
select ServiceOrdPtInHospID from (
|
select ServiceOrdPtInHospID,count(1) as InCount from ServiceOrder
|
where ServiceOrdClass=#{serviceOrdClass} and ServiceOrdPtInHospID>0
|
group by ServiceOrdPtInHospID
|
) as t
|
order by InCount desc
|
</select>
|
|
<!-- 根据医院ID列表查询医院信息 -->
|
<select id="selectHospDataByIds" resultMap="HospDataResult">
|
SELECT
|
HospID, HospName, HospCityID, HospShort,
|
HopsProvince, HopsCity, HopsArea, HospAddress,
|
HospTEL, HospUnitID, HospState, HospOAID,
|
HospIntroducerID, HospIntroducerDate, HospLevel
|
FROM HospData
|
WHERE HospID IN
|
<foreach collection="hospIds" item="hospId" open="(" separator="," close=")">
|
#{hospId}
|
</foreach>
|
<if test="region != null and region != ''">
|
AND (
|
HopsProvince LIKE '%' + #{region} + '%'
|
OR HopsCity LIKE '%' + #{region} + '%'
|
OR HopsArea LIKE '%' + #{region} + '%'
|
)
|
</if>
|
AND (HospState IS NULL OR HospState = 1)
|
ORDER BY HospName
|
</select>
|
</mapper>
|