From 40a8157440e3b906da8f52e07d939d78c3f4c313 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 12 四月 2026 16:14:06 +0800
Subject: [PATCH] feat: 任务增加统计、同步增加通知

---
 ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml |  176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 162 insertions(+), 14 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml b/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
index 8000982..6dbccfb 100644
--- a/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
@@ -43,6 +43,13 @@
         <result property="Old_ServiceOrdID_TXT" column="Old_ServiceOrdID_TXT" />
         <result property="ServiceOrdTraDistance" column="ServiceOrdTraDistance" />
         <result property="ServiceOrdApptDate" column="ServiceOrdApptDate" />
+        <result property="DispatchOrdState" column="DispatchOrdState" />
+        <result property="DispatchOrdNo" column="DispatchOrdNo" />
+        <result property="DispatchOrdClass" column="DispatchOrdClass" />
+        <result property="ServiceOrdVIP" column="ServiceOrdVIP" />
+        <result property="FromHQ_is" column="FromHQ_is" />
+        <result property="DispatchOrd_NS_Time" column="DispatchOrd_NS_Time" />
+
     </resultMap>
     
     <!-- 鎵ц浜虹粨鏋滄槧灏� -->
@@ -52,12 +59,14 @@
         <result property="EntourageState" column="EntourageState" />
     </resultMap>
     
-    <!-- 鏌ヨ鎸囧畾鏃ユ湡鑼冨洿鐨勮浆杩愬崟鏁版嵁 -->
+    <!-- 鏌ヨ鎸囧畾鏃ユ湡鑼冨洿鐨勮浆杩愬崟鏁版嵁锛圞eyset娓告爣鍒嗛〉锛岃蛋涓婚敭绱㈠紩锛屽交搴曡閬胯秴鏃讹級 -->
     <select id="selectTransferOrders" resultMap="TransferOrderResult">
-        SELECT 
+        SELECT TOP (${pageSize})
             a.ServiceOrdID,
             a.Old_ServiceOrdID_TXT,
             a.ServiceOrdNo,
+            a.FromHQ_is,
+            a.ServiceOrdVIP,
             a.ServiceOrdTraVia,
             a.ServiceOrdApptDate,
             a.ServiceOrd_NS_ID,
@@ -87,16 +96,27 @@
             b.DispatchOrdActualDate,
             b.DispatchOrdReturnDate,
             b.DispatchOrdTraEnd,
+            b.DispatchOrdState,
             b.DispatchOrdID,
             b.DispatchOrdCarID,
             a.ServiceOrdPtServices,
             a.ServiceOrdPtInServices,
-            a.ServiceOrdPtName
-        FROM ServiceOrder as a 
-        INNER JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
-        WHERE a.ServiceOrdState = 3 
-            AND a.ServiceOrd_CC_Time > #{startDate} 
-            AND b.DispatchOrdState != 0
+            a.ServiceOrdPtName,
+            b.DispatchOrdNo,
+            b.DispatchOrdClass
+        FROM ServiceOrder AS a
+        OUTER APPLY (
+            SELECT TOP 1
+            DispatchOrd_NS_Time, DispatchOrdTraStreet, DispatchOrdStartDate,
+            DispatchOrdActualDate, DispatchOrdReturnDate, DispatchOrdTraEnd,
+            DispatchOrdState, DispatchOrdID, DispatchOrdCarID, DispatchOrdNo, DispatchOrdClass
+            FROM DispatchOrd b
+            WHERE b.ServiceOrdIDDt = a.ServiceOrdID
+        ) b
+        WHERE a.ServiceOrdState &lt;= 3
+            AND a.ServiceOrd_CC_Time between #{startDate} and #{endDate}
+            AND a.ServiceOrdID > #{lastId}
+        ORDER BY a.ServiceOrdID
     </select>
     
     <!-- 鏍规嵁鏈嶅姟鍗旾D鍜岃皟搴﹀崟ID鏌ヨ杞繍鍗曟暟鎹� -->
@@ -105,10 +125,13 @@
             a.ServiceOrdID,
             a.Old_ServiceOrdID_TXT,
             a.ServiceOrdTraVia,
+            a.FromHQ_is,
+            a.ServiceOrdVIP,
             a.ServiceOrdNo,
             a.ServiceOrdApptDate,
             a.ServiceOrdUserID,
             a.ServiceOrd_NS_ID,
+            a.ServiceOrd_NS_Time,
             a.ServiceOrd_CC_ID,
             a.ServiceOrd_CC_Time,
             a.ServiceOrdAreaType,
@@ -137,14 +160,118 @@
             b.DispatchOrdCarID,
             a.ServiceOrdPtServices,
             a.ServiceOrdPtInServices,
-            a.ServiceOrdPtName
+            a.ServiceOrdPtName,
+            b.DispatchOrdState,            
+            b.DispatchOrdNo,
+            b.DispatchOrdClass,
+            a.ServiceOrdClass
+
         FROM ServiceOrder as a 
-        INNER JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
-        WHERE a.ServiceOrdID = #{serviceOrdID}
-            AND b.DispatchOrdID = #{dispatchOrdID}
-            AND a.ServiceOrdState = 3 
-            AND b.DispatchOrdState != 0
+        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
+        WHERE a.ServiceOrdID = #{serviceOrdID} 
+            AND (b.DispatchOrdID = #{dispatchOrdID} OR #{dispatchOrdID} IS NULL)
+            AND a.ServiceOrdState &lt;=3
+
     </select>
+    <select id="selectByServiceOrdId" resultMap="TransferOrderResult">
+        SELECT
+        a.ServiceOrdID,
+        a.Old_ServiceOrdID_TXT,
+        a.FromHQ_is,
+        a.ServiceOrdVIP,
+        a.ServiceOrdTraVia,
+        a.ServiceOrdNo,
+        a.ServiceOrdApptDate,
+        a.ServiceOrdUserID,
+        a.ServiceOrd_NS_ID,
+        a.ServiceOrd_NS_Time,
+        a.ServiceOrd_CC_ID,
+        a.ServiceOrd_CC_Time,
+        a.ServiceOrdAreaType,
+        a.ServiceOrdType,
+        a.ServiceOrdPtSex,
+        a.ServiceOrdTraTxnPrice,
+        a.ServiceOrdPtOutHospID,
+        a.ServiceOrdPtServicesID,
+        a.ServiceOrdPtInHospID,
+        a.ServiceOrdPtInServicesID,
+        a.ServiceOrdCoTies,
+        a.ServiceOrdCoName,
+        a.ServiceOrdTraDistance,
+        a.ServiceOrdCoPhone,
+        a.ServiceOrdClass,
+        a.ServiceOrdTraStreet,
+        a.ServiceOrdTraEnd,
+        a.ServiceOrdPtCondition,
+        b.DispatchOrd_NS_Time,
+        a.ServiceOrdState,
+        a.ServiceOrdPtIDCard,
+        b.DispatchOrdTraStreet,
+        b.DispatchOrdStartDate,
+        b.DispatchOrdTraEnd,
+        b.DispatchOrdID,
+        b.DispatchOrdCarID,
+        a.ServiceOrdPtServices,
+        a.ServiceOrdPtInServices,
+        a.ServiceOrdPtName,
+        b.DispatchOrdState,
+        b.DispatchOrdNo,
+        b.DispatchOrdClass,
+        a.ServiceOrdClass
+
+        FROM ServiceOrder as a
+        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
+        WHERE a.ServiceOrdID = #{serviceOrdID}
+    </select>
+    <select id="selectByDispatchId" resultMap="TransferOrderResult">
+     SELECT 
+            a.ServiceOrdID,
+            a.Old_ServiceOrdID_TXT,
+            a.ServiceOrdTraVia,
+            a.ServiceOrdNo,
+            a.ServiceOrdApptDate,
+            a.ServiceOrdUserID,
+            a.ServiceOrd_NS_ID,
+            a.ServiceOrd_NS_Time,
+            a.ServiceOrd_CC_ID,
+            a.ServiceOrd_CC_Time,
+            a.ServiceOrdAreaType,
+            a.ServiceOrdType,
+            a.ServiceOrdPtSex,
+            a.ServiceOrdTraTxnPrice,
+            a.ServiceOrdPtOutHospID,
+            a.ServiceOrdPtServicesID,
+            a.ServiceOrdPtInHospID,
+            a.ServiceOrdPtInServicesID,
+            a.ServiceOrdCoTies,
+            a.ServiceOrdCoName,
+            a.ServiceOrdTraDistance,
+            a.ServiceOrdCoPhone,
+            a.ServiceOrdClass,
+            a.ServiceOrdTraStreet,
+            a.ServiceOrdTraEnd,
+            a.ServiceOrdPtCondition,
+            b.DispatchOrd_NS_Time,
+            a.ServiceOrdState,
+            a.ServiceOrdPtIDCard,
+            b.DispatchOrdTraStreet,
+            b.DispatchOrdStartDate,
+            b.DispatchOrdTraEnd,
+            b.DispatchOrdID,
+            b.DispatchOrdCarID,
+            a.ServiceOrdPtServices,
+            a.ServiceOrdPtInServices,
+            a.ServiceOrdPtName,
+            b.DispatchOrdState,            
+            b.DispatchOrdNo,
+            b.DispatchOrdClass,
+            a.ServiceOrdClass           
+
+        FROM ServiceOrder as a 
+        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
+        WHERE b.DispatchOrdID = #{dispatchId}
+     </select>
+
     
     <!-- 鏍规嵁鏈嶅姟鍗旾D鏌ヨ鐥呮儏淇℃伅 -->
     <select id="selectDiseaseIdsByServiceOrdID" resultType="String">
@@ -184,4 +311,25 @@
         WHERE vID = #{deptID} AND vtitle = 'HospitalDepartment'
     </select>
     
+    <!-- 鎻掑叆璋冨害鍗曠姸鎬佸彉鏇磋褰曞埌 DispatchOrd_Running 琛� -->
+    <insert id="insertDispatchOrdRunning">
+        INSERT INTO DispatchOrd_Running (
+            DispatchOrdIDDt,
+            DispatchOrdState,
+            DispatchOrdStartDate,
+            DispatchOrdStartOA
+            <if test="oaLatitude != null">,OA_latitude</if>
+            <if test="oaLongitude != null">,OA_longitude</if>
+            <if test="oaAddress != null and oaAddress != ''">,OA_address</if>
+        ) VALUES (
+            #{dispatchOrdID},
+            #{dispatchOrdState},
+            #{dispatchOrdStartDate},
+            #{dispatchOrdStartOA}
+            <if test="oaLatitude != null">,#{oaLatitude}</if>
+            <if test="oaLongitude != null">,#{oaLongitude}</if>
+            <if test="oaAddress != null and oaAddress != ''">,#{oaAddress}</if>
+        )
+    </insert>
+    
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1