wlzboy
2025-10-26 ed209eeb52e8d778ab2b3e8c86a3e63a924e53ec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?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 100
            HospID, HospName, HospCityID, HospShort, 
            HopsProvince, HopsCity, HopsArea, HospAddress, 
            HospTEL, HospUnitID, HospState, HospOAID, 
            HospIntroducerID, HospIntroducerDate, HospLevel
        FROM HospData
        WHERE 1=1
        <!-- 地域过滤:对HospProvince, HospCity, HospArea进行OR匹配 -->
        <if test="region != null and region != ''">
            AND (HopsProvince LIKE '%' + #{region} + '%' 
                 OR HopsCity LIKE '%' + #{region} + '%'
                 OR HopsArea LIKE '%' + #{region} + '%')
        </if>
        <!-- 关键词过滤:对多个字段进行OR匹配 -->
        <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>
        AND (HospState IS NULL OR HospState = 1)
        ORDER BY 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>
</mapper>