From 99f528e235f11126fea44480c6e8888a9e463f2f Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 08 十一月 2025 21:09:53 +0800
Subject: [PATCH] feat:任务附件上传和同步

---
 ruoyi-system/src/main/resources/mapper/system/HospDataMapper.xml |   70 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/HospDataMapper.xml b/ruoyi-system/src/main/resources/mapper/system/HospDataMapper.xml
index 6936572..a7e7a9f 100644
--- a/ruoyi-system/src/main/resources/mapper/system/HospDataMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/HospDataMapper.xml
@@ -22,18 +22,35 @@
         <result property="hospLevel" column="HospLevel" />
     </resultMap>
 
-    <select id="searchHospitals" parameterType="String" resultMap="HospDataResult">
-        SELECT TOP 100
+    <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 (HospName LIKE '%' + #{keyword} + '%' 
-                 OR HospAddress 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
@@ -48,4 +65,47 @@
         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>
+    
+    <!-- 鏌ヨ甯哥敤杞叆鍖婚櫌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>

--
Gitblit v1.9.1