wlzboy
2026-04-01 b9e9cde65890851f4ca2d7b4809b802b88937ddf
 feat:同步状态优化
2个文件已修改
11 ■■■■ 已修改文件
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java
@@ -91,7 +91,7 @@
            String endDateStr = DateUtils.parseDateToStr("yyyy-MM-dd", new Date());
            
            // Keyset游标分页从 SQL Server 拉取转运单数据,每页 10 条,走主键索引彻底规避超时
            final int PAGE_SIZE = 10;
            final int PAGE_SIZE = 5;
            long lastId = 0L;   // 游标:记录上一页最后一条的 ServiceOrdID,首次传 0
            int successCount = 0;
ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
@@ -105,7 +105,14 @@
            b.DispatchOrdNo,
            b.DispatchOrdClass
        FROM ServiceOrder AS a
        LEFT JOIN DispatchOrd b ON a.ServiceOrdID = b.ServiceOrdIDDt
        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 <= 3
            AND a.ServiceOrd_CC_Time between #{startDate} and #{endDate}
            AND a.ServiceOrdID > #{lastId}