wlzboy
2025-10-27 559b2e34c983f615b6d6747f52c801022c561803
ruoyi-system/src/main/resources/mapper/system/HospDataMapper.xml
@@ -30,20 +30,27 @@
            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匹配 -->
        <!-- 有 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} + '%')
        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 HospName