From 8cb5d3440208a3be3e772e65f1bd0ec63031ba62 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 17 十二月 2025 08:37:14 +0800
Subject: [PATCH] feat: 增加服务单派发通知

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacySystemSyncServiceImpl.java |  250 +++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 198 insertions(+), 52 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacySystemSyncServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacySystemSyncServiceImpl.java
index 487b710..d871794 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacySystemSyncServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacySystemSyncServiceImpl.java
@@ -16,29 +16,29 @@
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509TrustManager;
 import java.security.cert.X509Certificate;
-
+import com.ruoyi.common.utils.MapValueUtils;
 import com.ruoyi.system.domain.*;
+import com.ruoyi.system.event.TaskDispatchSyncEvent;
+import com.ruoyi.system.event.TaskServiceOrderSyncEvent;
+import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.task.ITaskAttachmentService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.ruoyi.common.config.LegacySystemConfig;
+import com.ruoyi.common.utils.MapValueUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.system.domain.vo.TaskCreateVO;
-import com.ruoyi.system.mapper.SysTaskMapper;
-import com.ruoyi.system.mapper.SysTaskEmergencyMapper;
-import com.ruoyi.system.mapper.SysTaskVehicleMapper;
-import com.ruoyi.system.mapper.SysTaskAssigneeMapper;
-import com.ruoyi.system.mapper.VehicleInfoMapper;
-import com.ruoyi.system.mapper.SysUserMapper;
-import com.ruoyi.system.mapper.SysDeptMapper;
 import com.ruoyi.system.utils.TaskStatusConverter;
+import org.springframework.util.CollectionUtils;
 
 /**
  * 鏃х郴缁熷悓姝ervice涓氬姟灞傚鐞�
@@ -91,12 +91,35 @@
     private ITaskAttachmentService taskAttachmentService;
 
 
+    @Autowired
+    private ApplicationEventPublisher eventPublisher;
     
+    @Autowired
+    private LegacyTransferSyncMapper legacyTransferSyncMapper;
+    
+    
+    public Map<String,Object> getLegacyDispatchByDispatchId(Long dispatchId) {
+        List<Map<String, Object>> result = legacyTransferSyncMapper.selectByDispatchId(dispatchId);
+        if(!CollectionUtils.isEmpty(result)){
+            return result.get(0);
+        }else{
+            return null;
+        }
+    }
+
+
+    private Map<String,Object> getLegacyByServiceOrdId(Long serviceOrdId) {
+        List<Map<String, Object>> result = legacyTransferSyncMapper.selectByServiceOrdId(serviceOrdId);
+        if(!CollectionUtils.isEmpty(result)){
+            return result.get(0);
+        }else{
+            return null;
+        }
+    }
     /**
      * 鍚屾鎬ユ晳杞繍浠诲姟鍒版棫绯荤粺
      */
     @Override
-    @Transactional
     public Long syncEmergencyTaskToLegacy(Long taskId) {
         if (!legacyConfig.isEnabled()) {
             log.info("鏃х郴缁熷悓姝ュ凡绂佺敤锛岃烦杩囦换鍔D: {}", taskId);
@@ -126,7 +149,7 @@
             
             // 濡傛灉宸茬粡鍚屾杩囷紝涓嶅啀閲嶅鍚屾
             if (emergency.getLegacyServiceOrdId() != null && emergency.getLegacyServiceOrdId() > 0) {
-                log.info("浠诲姟宸插悓姝ヨ繃锛屼换鍔D: {}, ServiceOrdID: {}", taskId, emergency.getLegacyServiceOrdId());
+//                log.info("浠诲姟宸插悓姝ヨ繃锛屼换鍔D: {}, ServiceOrdID: {}", taskId, emergency.getLegacyServiceOrdId());
                 return emergency.getLegacyServiceOrdId();
             }
             
@@ -149,13 +172,27 @@
                 emergency.setSyncStatus(2); // 鍚屾鎴愬姛
                 emergency.setSyncTime(new Date());
                 emergency.setSyncErrorMsg(null);
+                Map<String, Object> legacy = getLegacyByServiceOrdId(serviceOrdId);
+                String serviceOrdNo = MapValueUtils.getStringValue(legacy, "ServiceOrdNo");
+                if(serviceOrdNo!=null) {
+                    emergency.setLegacyServiceOrdNo(serviceOrdNo);
+                }
+                String serviceOrdClass = MapValueUtils.getStringValue(legacy, "ServiceOrdClass");
+                if(serviceOrdClass!=null) {
+                    emergency.setLegacyServiceOrdClass(serviceOrdClass);
+                }
+                Date serviceCCTime = MapValueUtils.getDateValue(legacy, "ServiceOrd_CC_Time");
+                if(serviceCCTime!=null) {
+                    emergency.setLegacyServiceNsTime(serviceCCTime);
+                }
                 sysTaskEmergencyService.updateSysTaskEmergency(emergency);
                 
                 // 鏇存柊浠诲姟涓昏〃鍚屾鏍囪
                 task.setLegacySynced(1);
                 sysTaskMapper.updateSysTask(task);
-                
-                log.info("浠诲姟鍚屾鎴愬姛锛屼换鍔D: {}, ServiceOrdID: {}", taskId, serviceOrdId);
+
+                eventPublisher.publishEvent(new TaskServiceOrderSyncEvent(this, taskId, task.getTaskCode(), serviceOrdId));
+//                log.info("浠诲姟鍚屾鎴愬姛锛屼换鍔D: {}, ServiceOrdID: {}", taskId, serviceOrdId);
                 return serviceOrdId;
             } else {
                 // 鍚屾澶辫触
@@ -187,7 +224,13 @@
             return null;
         }
     }
-    
+
+    //鍦ㄨ繖閲岀洃鍚淳鍙戠殑浜嬩欢
+    @EventListener
+    public void handleTaskServiceOrderSyncEvent(TaskServiceOrderSyncEvent event) {
+//        log.info("鏀跺埌浠诲姟鏈嶅姟鍗曞悓姝ヤ簨浠讹紝浠诲姟ID锛歿}锛屼换鍔$紪鍙凤細{}锛屾湇鍔″崟ID锛歿}", event.getTaskId(), event.getTaskCode(), event.getServiceOrderId());
+        syncDispatchOrderToLegacy(event.getTaskId());
+    }
     /**
      * 鎵归噺鍚屾鏈悓姝ョ殑鎬ユ晳杞繍浠诲姟
      * 浣跨敤鍒嗛〉鏌ヨ锛岀‘淇濇墍鏈夌鍚堟潯浠剁殑浠诲姟閮借兘琚悓姝�
@@ -213,7 +256,7 @@
                     break; // 娌℃湁鏇村鏁版嵁锛岄��鍑哄惊鐜�
                 }
                 
-                log.info("寮�濮嬪悓姝ョ {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, pendingTasks.size());
+//                log.info("寮�濮嬪悓姝ョ {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, pendingTasks.size());
                 
                 int pageSuccessCount = 0;
                 for (SysTaskEmergency emergency : pendingTasks) {
@@ -233,19 +276,19 @@
                 }
                 
                 totalSuccessCount += pageSuccessCount;
-                log.info("绗� {} 椤靛悓姝ュ畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}", 
-                    (offset / pageSize) + 1, pendingTasks.size(), pageSuccessCount);
+//                log.info("绗� {} 椤靛悓姝ュ畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}",
+//                    (offset / pageSize) + 1, pendingTasks.size(), pageSuccessCount);
                 
                 // 濡傛灉鏈〉鏁版嵁灏戜簬姣忛〉澶у皬锛岃鏄庡凡缁忔槸鏈�鍚庝竴椤�
                 if (pendingTasks.size() < pageSize) {
-                    log.info("宸插埌杈炬渶鍚庝竴椤碉紝鍚屾缁撴潫");
+//                    log.info("宸插埌杈炬渶鍚庝竴椤碉紝鍚屾缁撴潫");
                     break;
                 }
                 
                 offset += pageSize; // 涓嬩竴椤�
             }
             
-            log.info("鎵归噺鍚屾瀹屾垚锛屾�绘垚鍔熸暟: {}", totalSuccessCount);
+//            log.info("鎵归噺鍚屾瀹屾垚锛屾�绘垚鍔熸暟: {}", totalSuccessCount);
             return totalSuccessCount;
             
         } catch (Exception e) {
@@ -303,7 +346,6 @@
      * 鍚屾璋冨害鍗曞埌鏃х郴缁燂紙admin_save_24.asp锛�
      */
     @Override
-    @Transactional
     public Long syncDispatchOrderToLegacy(Long taskId) {
         if (!legacyConfig.isEnabled()) {
             log.info("鏃х郴缁熷悓姝ュ凡绂佺敤锛岃烦杩囪皟搴﹀崟鍚屾锛屼换鍔D: {}", taskId);
@@ -333,7 +375,7 @@
             
             // 濡傛灉宸茬粡鍚屾杩囷紝涓嶅啀閲嶅鍚屾
             if (emergency.getLegacyDispatchOrdId() != null && emergency.getLegacyDispatchOrdId() > 0) {
-                log.info("璋冨害鍗曞凡鍚屾杩囷紝浠诲姟ID: {}, DispatchOrdID: {}", taskId, emergency.getLegacyDispatchOrdId());
+//                log.info("璋冨害鍗曞凡鍚屾杩囷紝浠诲姟ID: {}, DispatchOrdID: {}", taskId, emergency.getLegacyDispatchOrdId());
                 return emergency.getLegacyDispatchOrdId();
             }
 
@@ -432,15 +474,20 @@
                 emergency.setDispatchSyncStatus(2); // 鍚屾鎴愬姛
                 emergency.setDispatchSyncTime(new Date());
                 emergency.setDispatchSyncErrorMsg(null);
+                //鏇存柊璋冨害鍗曚俊鎭紑鍒版柊绯荤粺
+                Map<String,Object> dispatchInfo = this.getLegacyDispatchByDispatchId(dispatchOrdId);
+                if (dispatchInfo != null) {
+                    emergency.setLegacyDispatchNsTime(MapValueUtils.getDateValue(dispatchInfo, "DispatchOrd_NS_Time")); // 鍚屾鎴愬姛
+                    emergency.setLegacyDispatchOrdClass(MapValueUtils.getStringValue(dispatchInfo, "DispatchOrdClass")); // 鍚屾鎴愬姛
+                    emergency.setLegacyDispatchOrdNo(MapValueUtils.getStringValue(dispatchInfo, "DispatchOrdNo")); // 鍚屾鎴愬姛
+                    emergency.setLegacyServiceNsTime(MapValueUtils.getDateValue(dispatchInfo, "ServiceOrd_CC_Time")); // 鍚屾鎴愬姛
+                    emergency.setLegacyServiceOrdClass(MapValueUtils.getStringValue(dispatchInfo, "ServiceOrdClass")); // 鍚屾鎴愬姛
+                }
                 sysTaskEmergencyService.updateSysTaskEmergency(emergency);
 
-                List<SysTaskAttachment> taskAttachments= sysTaskService.getAttachmentsByTaskId(taskId);
-                if (taskAttachments != null && !taskAttachments.isEmpty()) {
-                    //鍚屾闄勪欢
-                   this.syncAttachmentToLegacy(taskAttachments,serviceOrdId,dispatchOrdId,oaUserID);
-                }
+                eventPublisher.publishEvent(new TaskDispatchSyncEvent(this, taskId, task.getTaskCode(),serviceOrdId, dispatchOrdId, oaUserID));
 
-                log.info("璋冨害鍗曞悓姝ユ垚鍔燂紝浠诲姟ID: {}, DispatchOrdID: {}", taskId, dispatchOrdId);
+//                log.info("璋冨害鍗曞悓姝ユ垚鍔燂紝浠诲姟ID: {}, DispatchOrdID: {}", taskId, dispatchOrdId);
                 return dispatchOrdId;
             } else {
                 // 鍚屾澶辫触
@@ -472,7 +519,19 @@
             return null;
         }
     }
-    
+
+    @EventListener
+    public void handleTaskDispatchSyncEvent(TaskDispatchSyncEvent event) {
+        Long taskId = event.getTaskId();
+        Long dispatchOrdId = event.getDispatchOrderId();
+        Long serviceOrdId = event.getServiceOrderId();
+        Integer oaUserID = event.getOaUserId();
+        List<SysTaskAttachment> taskAttachments= sysTaskService.getAttachmentsByTaskId(taskId);
+        if (taskAttachments != null && !taskAttachments.isEmpty()) {
+            //鍚屾闄勪欢
+            this.syncAttachmentToLegacy(taskAttachments,serviceOrdId,dispatchOrdId,oaUserID);
+        }
+    }
     /**
      * 鎵归噺鍚屾鏈悓姝ョ殑璋冨害鍗�
      * 浣跨敤鍒嗛〉鏌ヨ锛岀‘淇濇墍鏈夌鍚堟潯浠剁殑浠诲姟閮借兘琚悓姝�
@@ -492,17 +551,17 @@
             while (true) {
                 // 鍒嗛〉鏌ヨ宸插悓姝ユ湇鍔″崟浣嗘湭鍚屾璋冨害鍗曠殑浠诲姟
                 List<SysTaskEmergency> pendingTasks = sysTaskEmergencyService.selectPendingDispatchSyncTasks(offset, pageSize);
-                log.info("鏌ヨ鍒版湭鍚屾璋冨害鍗曠殑浠诲姟鏁伴噺: {}", pendingTasks.size());
+//                log.info("鏌ヨ鍒版湭鍚屾璋冨害鍗曠殑浠诲姟鏁伴噺: {}", pendingTasks.size());
                 if (pendingTasks == null || pendingTasks.isEmpty()) {
                     log.info("娌℃湁鏇村闇�瑕佸悓姝ヨ皟搴﹀崟鐨勪换鍔★紝offset: {}", offset);
                     break; // 娌℃湁鏇村鏁版嵁锛岄��鍑哄惊鐜�
                 }
                 
-                log.info("寮�濮嬪悓姝ヨ皟搴﹀崟绗� {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, pendingTasks.size());
+//                log.info("寮�濮嬪悓姝ヨ皟搴﹀崟绗� {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, pendingTasks.size());
                 
                 int pageSuccessCount = 0;
                 for (SysTaskEmergency emergency : pendingTasks) {
-                    log.info("寮�濮嬪悓姝ヨ皟搴﹀崟锛屼换鍔D: {}", emergency.getTaskId());
+//                    log.info("寮�濮嬪悓姝ヨ皟搴﹀崟锛屼换鍔D: {}", emergency.getTaskId());
                     Long dispatchOrdId = syncDispatchOrderToLegacy(emergency.getTaskId());
 
                     if (dispatchOrdId != null && dispatchOrdId > 0) {
@@ -520,19 +579,19 @@
                 }
                 
                 totalSuccessCount += pageSuccessCount;
-                log.info("璋冨害鍗曠 {} 椤靛悓姝ュ畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}", 
-                    (offset / pageSize) + 1, pendingTasks.size(), pageSuccessCount);
+//                log.info("璋冨害鍗曠 {} 椤靛悓姝ュ畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}",
+//                    (offset / pageSize) + 1, pendingTasks.size(), pageSuccessCount);
                 
                 // 濡傛灉鏈〉鏁版嵁灏戜簬姣忛〉澶у皬锛岃鏄庡凡缁忔槸鏈�鍚庝竴椤�
                 if (pendingTasks.size() < pageSize) {
-                    log.info("宸插埌杈炬渶鍚庝竴椤碉紝璋冨害鍗曞悓姝ョ粨鏉�");
+//                    log.info("宸插埌杈炬渶鍚庝竴椤碉紝璋冨害鍗曞悓姝ョ粨鏉�");
                     break;
                 }
                 
                 offset += pageSize; // 涓嬩竴椤�
             }
             
-            log.info("鎵归噺鍚屾璋冨害鍗曞畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
+//            log.info("鎵归噺鍚屾璋冨害鍗曞畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
             return totalSuccessCount;
             
         } catch (Exception e) {
@@ -558,7 +617,7 @@
                 SysDept dept = sysDeptMapper.selectDeptById(task.getDeptId());
                 if (dept != null && StringUtils.isNotEmpty(dept.getDispatchOrderClass())) {
                     dispatchOrdClass = dept.getDispatchOrderClass();
-                    log.info("鑾峰彇浠诲姟鎵�灞為儴闂ㄧ殑璋冨害鍗曠紪鐮佹垚鍔燂紝閮ㄩ棬ID: {}, 璋冨害鍗曠紪鐮�: {}", task.getDeptId(), dispatchOrdClass);
+//                    log.info("鑾峰彇浠诲姟鎵�灞為儴闂ㄧ殑璋冨害鍗曠紪鐮佹垚鍔燂紝閮ㄩ棬ID: {}, 璋冨害鍗曠紪鐮�: {}", task.getDeptId(), dispatchOrdClass);
                 }
             } catch (Exception e) {
                 log.error("鏌ヨ浠诲姟鎵�灞為儴闂ㄤ俊鎭紓甯革紝閮ㄩ棬ID: {}", task.getDeptId(), e);
@@ -806,8 +865,8 @@
 //            params.put("Entourage_3", doctorOaId);  // 鍖荤敓
 //            params.put("Entourage_4", nurseOaId);   // 鎶ゅ+
             
-            log.info("浠诲姟鎵ц浜哄憳鍚屾鎴愬姛锛屼换鍔D: {}, 棰嗛槦ID: {}, 鍙告満: {}, 鍖荤敓: {}, 鎶ゅ+: {}", 
-                task.getTaskId(), leadEntourageId, driverOaId, doctorOaId, nurseOaId);
+//            log.info("浠诲姟鎵ц浜哄憳鍚屾鎴愬姛锛屼换鍔D: {}, 棰嗛槦ID: {}, 鍙告満: {}, 鍖荤敓: {}, 鎶ゅ+: {}",
+//                task.getTaskId(), leadEntourageId, driverOaId, doctorOaId, nurseOaId);
             
         } catch (Exception e) {
             log.error("鍚屾浠诲姟鎵ц浜哄憳寮傚父锛屼换鍔D: {}", task.getTaskId(), e);
@@ -847,7 +906,7 @@
             }
             
             // 濡傛灉鏁版嵁搴撲腑娌℃湁鎵ц浜哄憳淇℃伅锛屽皾璇曚粠浠诲姟鐨勪富瑕佹墽琛屼汉鑾峰彇
-            log.warn("鏁版嵁搴撲腑鏈壘鍒版墽琛屼汉鍛樹俊鎭紝灏濊瘯浠庝换鍔′富瑕佹墽琛屼汉鑾峰彇锛屼换鍔D: {}", taskId);
+//            log.warn("鏁版嵁搴撲腑鏈壘鍒版墽琛屼汉鍛樹俊鎭紝灏濊瘯浠庝换鍔′富瑕佹墽琛屼汉鑾峰彇锛屼换鍔D: {}", taskId);
             SysTask task = sysTaskMapper.selectSysTaskByTaskId(taskId);
             if (task != null && task.getAssigneeId() != null) {
                 SysUser user = sysUserMapper.selectUserById(task.getAssigneeId());
@@ -974,8 +1033,8 @@
                 if (dept != null && StringUtils.isNotEmpty(dept.getServiceOrderClass())) {
                     // 浣跨敤閮ㄩ棬鐨勬湇鍔″崟缂栫爜浣滀负ServiceOrdClass
                     serviceOrdClass = dept.getServiceOrderClass();
-                    log.info("鑾峰彇浠诲姟鎵�灞為儴闂ㄧ殑鏈嶅姟鍗曠紪鐮佹垚鍔燂紝閮ㄩ棬ID: {}, 閮ㄩ棬鍚嶇О: {}, 鏈嶅姟鍗曠紪鐮�: {}", 
-                        task.getDeptId(), dept.getDeptName(), serviceOrdClass);
+//                    log.info("鑾峰彇浠诲姟鎵�灞為儴闂ㄧ殑鏈嶅姟鍗曠紪鐮佹垚鍔燂紝閮ㄩ棬ID: {}, 閮ㄩ棬鍚嶇О: {}, 鏈嶅姟鍗曠紪鐮�: {}",
+//                        task.getDeptId(), dept.getDeptName(), serviceOrdClass);
                 } else {
                     log.warn("浠诲姟鎵�灞為儴闂ㄦ湭閰嶇疆鏈嶅姟鍗曠紪鐮侊紝閮ㄩ棬ID: {}銆侀儴闂ㄥ悕绉�: {}锛屼娇鐢ㄩ粯璁ゅ��", 
                         task.getDeptId(), dept != null ? dept.getDeptName() : "null");
@@ -991,7 +1050,7 @@
         String serviceOrdAreaType = "1"; // 榛樿鍊�
         if (StringUtils.isNotEmpty(emergency.getDocumentTypeId())) {
             serviceOrdAreaType = emergency.getDocumentTypeId();
-            log.info("鑾峰彇鍗曟嵁绫诲瀷ID鎴愬姛锛屼换鍔D: {}, 鍗曟嵁绫诲瀷ID: {}", task.getTaskId(), serviceOrdAreaType);
+//            log.info("鑾峰彇鍗曟嵁绫诲瀷ID鎴愬姛锛屼换鍔D: {}, 鍗曟嵁绫诲瀷ID: {}", task.getTaskId(), serviceOrdAreaType);
         } else {
             log.warn("浠诲姟鏈厤缃崟鎹被鍨婭D锛屼换鍔D: {}锛屼娇鐢ㄩ粯璁ゅ��", task.getTaskId());
         }
@@ -1004,7 +1063,7 @@
         String serviceOrdType = "1"; // 榛樿鍊�
         if (StringUtils.isNotEmpty(emergency.getTaskTypeId())) {
             serviceOrdType = emergency.getTaskTypeId();
-            log.info("鑾峰彇浠诲姟绫诲瀷ID鎴愬姛锛屼换鍔D: {}, 浠诲姟绫诲瀷ID: {}", taskId, serviceOrdType);
+//            log.info("鑾峰彇浠诲姟绫诲瀷ID鎴愬姛锛屼换鍔D: {}, 浠诲姟绫诲瀷ID: {}", taskId, serviceOrdType);
         } else {
             log.warn("浠诲姟鏈厤缃换鍔$被鍨婭D锛屼换鍔D: {}锛屼娇鐢ㄩ粯璁ゅ��", taskId);
         }
@@ -1110,7 +1169,7 @@
             HttpsURLConnection httpsConn = (HttpsURLConnection) conn;
             httpsConn.setSSLSocketFactory(createTrustAllSSLContext().getSocketFactory());
             httpsConn.setHostnameVerifier((hostname, session) -> true); // 淇′换鎵�鏈変富鏈哄悕
-            log.debug("閰嶇疆HTTPS杩炴帴锛屼俊浠绘墍鏈塖SL璇佷功锛孶RL: {}", urlString);
+//            log.debug("閰嶇疆HTTPS杩炴帴锛屼俊浠绘墍鏈塖SL璇佷功锛孶RL: {}", urlString);
         }
         
         try {
@@ -1226,6 +1285,93 @@
         }
     }
     
+    // 鍒犻櫎涓嬮潰鐨勯噸澶嶆柟娉曪紝鍥犱负鎴戜滑灏嗕娇鐢∕apValueUtils宸ュ叿绫讳腑鐨勬柟娉�
+    /*
+    private String getStringValue(Map<String, Object> map, String key) {
+        Object value = map.get(key);
+        return value != null ? value.toString() : null;
+    }
+    
+    private BigDecimal getBigDecimalValue(Map<String, Object> map, String key) {
+        Object value = map.get(key);
+        if (value == null) {
+            return null;
+        }
+        if (value instanceof BigDecimal) {
+            return (BigDecimal) value;
+        }
+        try {
+            return new BigDecimal(value.toString());
+        } catch (NumberFormatException e) {
+            return null;
+        }
+    }
+    
+    private Long getLongValue(Map<String, Object> map, String key) {
+        Object value = map.get(key);
+        if (value == null) {
+            return null;
+        }
+        if (value instanceof Long) {
+            return (Long) value;
+        }
+        try {
+            return Long.valueOf(value.toString());
+        } catch (NumberFormatException e) {
+            return null;
+        }
+    }
+    
+    private Integer getIntegerValue(Map<String, Object> map, String key) {
+        Object value = map.get(key);
+        if (value == null) {
+            return null;
+        }
+        if (value instanceof Integer) {
+            return (Integer) value;
+        }
+        try {
+            return Integer.valueOf(value.toString());
+        } catch (NumberFormatException e) {
+            return null;
+        }
+    }
+    
+    private Date getDateValue(Map<String, Object> map, String key) {
+        Object value = map.get(key);
+        if (value == null) {
+            return null;
+        }
+        if (value instanceof Date) {
+            return (Date) value;
+        }
+        // 濡傛灉鏄瓧绗︿覆锛屽皾璇曡В鏋�
+        if (value instanceof String) {
+            try {
+                return DateUtils.parseDate(value.toString());
+            } catch (Exception e) {
+                return null;
+            }
+        }
+        return null;
+    }
+    
+    private boolean isValidDateFormat(String dateStr, String format) {
+        if (StringUtils.isEmpty(dateStr)) {
+            return false;
+        }
+        
+        try {
+            SimpleDateFormat sdf = new SimpleDateFormat(format);
+            sdf.setLenient(false);
+            sdf.parse(dateStr);
+            return true;
+        } catch (Exception e) {
+            return false;
+        }
+    }
+    */
+    
     /**
      * 閲嶆柊鍚屾杞﹁締鍜屼汉鍛樺彉鏇寸殑浠诲姟鍒版棫绯荤粺
      * 褰撲换鍔$殑杞﹁締淇℃伅鎴栦汉鍛樹俊鎭彂鐢熷彉鏇存椂锛岄渶瑕佽皟鐢ㄦ棫绯荤粺鎺ュ彛閲嶆柊鍚屾
@@ -1322,7 +1468,7 @@
             log.info("閲嶆柊鍚屾璋冨害鍗曞埌鏃х郴缁熻姹傚弬鏁�: {}", params);
             // 鍙戦�丠TTP璇锋眰鍒版棫绯荤粺锛堜娇鐢╝dmin_save_25.asp鎺ュ彛锛�
             String response = sendHttpPost(legacyConfig.getDispatchUpdateUrl(), params);
-            log.info("閲嶆柊鍚屾璋冨害鍗曞埌鏃х郴缁熷搷搴�: ServiceOrdID:{},DispatchOrdId:{},Result: {}",emergency.getLegacyServiceOrdId(),emergency.getLegacyDispatchOrdId(), response);
+//            log.info("閲嶆柊鍚屾璋冨害鍗曞埌鏃х郴缁熷搷搴�: ServiceOrdID:{},DispatchOrdId:{},Result: {}",emergency.getLegacyServiceOrdId(),emergency.getLegacyDispatchOrdId(), response);
             // 瑙f瀽鍝嶅簲
 //            Long dispatchOrdId = parseResponse(response);
             
@@ -1333,7 +1479,7 @@
                 emergency.setDispatchSyncErrorMsg(null);
                 sysTaskEmergencyService.updateSysTaskEmergency(emergency);
                 
-                log.info("璋冨害鍗曢噸鏂板悓姝ユ垚鍔燂紝浠诲姟ID: {}, DispatchOrdID: {}", taskId, emergency.getLegacyDispatchOrdId());
+//                log.info("璋冨害鍗曢噸鏂板悓姝ユ垚鍔燂紝浠诲姟ID: {}, DispatchOrdID: {}", taskId, emergency.getLegacyDispatchOrdId());
                 return true;
             } else {
                 // 閲嶆柊鍚屾澶辫触
@@ -1381,17 +1527,17 @@
                 // 鍒嗛〉鏌ヨ闇�瑕侀噸鏂板悓姝ョ殑浠诲姟
                 List<SysTaskEmergency> needResyncTasks = sysTaskEmergencyMapper.selectNeedResyncTasks(offset, pageSize);
                 
-                log.info("鏌ヨ鍒伴渶瑕侀噸鏂板悓姝ョ殑浠诲姟鏁伴噺: {}", needResyncTasks.size());
+//                log.info("鏌ヨ鍒伴渶瑕侀噸鏂板悓姝ョ殑浠诲姟鏁伴噺: {}", needResyncTasks.size());
                 if (needResyncTasks == null || needResyncTasks.isEmpty()) {
                     log.info("娌℃湁鏇村闇�瑕侀噸鏂板悓姝ョ殑浠诲姟锛宱ffset: {}", offset);
                     break; // 娌℃湁鏇村鏁版嵁锛岄��鍑哄惊鐜�
                 }
                 
-                log.info("寮�濮嬮噸鏂板悓姝ヨ皟搴﹀崟绗� {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, needResyncTasks.size());
+//                log.info("寮�濮嬮噸鏂板悓姝ヨ皟搴﹀崟绗� {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, needResyncTasks.size());
                 
                 int pageSuccessCount = 0;
                 for (SysTaskEmergency emergency : needResyncTasks) {
-                    log.info("寮�濮嬮噸鏂板悓姝ヨ皟搴﹀崟锛屼换鍔D: {}", emergency.getTaskId());
+//                    log.info("寮�濮嬮噸鏂板悓姝ヨ皟搴﹀崟锛屼换鍔D: {}", emergency.getTaskId());
                     boolean success = resyncDispatchOrderToLegacy(emergency.getTaskId());
                     
                     if (success) {
@@ -1409,19 +1555,19 @@
                 }
                 
                 totalSuccessCount += pageSuccessCount;
-                log.info("璋冨害鍗曢噸鏂板悓姝ョ {} 椤靛畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}", 
-                    (offset / pageSize) + 1, needResyncTasks.size(), pageSuccessCount);
+//                log.info("璋冨害鍗曢噸鏂板悓姝ョ {} 椤靛畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}",
+//                    (offset / pageSize) + 1, needResyncTasks.size(), pageSuccessCount);
                 
                 // 濡傛灉鏈〉鏁版嵁灏戜簬姣忛〉澶у皬锛岃鏄庡凡缁忔槸鏈�鍚庝竴椤�
                 if (needResyncTasks.size() < pageSize) {
-                    log.info("宸插埌杈炬渶鍚庝竴椤碉紝璋冨害鍗曢噸鏂板悓姝ョ粨鏉�");
+//                    log.info("宸插埌杈炬渶鍚庝竴椤碉紝璋冨害鍗曢噸鏂板悓姝ョ粨鏉�");
                     break;
                 }
                 
                 offset += pageSize; // 涓嬩竴椤�
             }
             
-            log.info("鎵归噺閲嶆柊鍚屾璋冨害鍗曞畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
+//            log.info("鎵归噺閲嶆柊鍚屾璋冨害鍗曞畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
             return totalSuccessCount;
             
         } catch (Exception e) {

--
Gitblit v1.9.1