From b9e9cde65890851f4ca2d7b4809b802b88937ddf Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 01 四月 2026 23:05:48 +0800
Subject: [PATCH]  feat:同步状态优化

---
 ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml |  143 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 134 insertions(+), 9 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml b/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
index 906b028..6dbccfb 100644
--- a/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
@@ -44,6 +44,12 @@
         <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>
     
     <!-- 鎵ц浜虹粨鏋滄槧灏� -->
@@ -53,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,
@@ -93,12 +101,22 @@
             b.DispatchOrdCarID,
             a.ServiceOrdPtServices,
             a.ServiceOrdPtInServices,
-            a.ServiceOrdPtName
-        FROM ServiceOrder as a 
-        left JOIN DispatchOrd b on a.ServiceOrdID = b.ServiceOrdIDDt
+            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 > #{startDate} 
-            
+            AND a.ServiceOrd_CC_Time between #{startDate} and #{endDate}
+            AND a.ServiceOrdID > #{lastId}
+        ORDER BY a.ServiceOrdID
     </select>
     
     <!-- 鏍规嵁鏈嶅姟鍗旾D鍜岃皟搴﹀崟ID鏌ヨ杞繍鍗曟暟鎹� -->
@@ -107,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,
@@ -140,13 +161,117 @@
             a.ServiceOrdPtServices,
             a.ServiceOrdPtInServices,
             a.ServiceOrdPtName,
-            b.DispatchOrdState
+            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}
+        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">

--
Gitblit v1.9.1