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/LegacyTransferSyncServiceImpl.java |   84 +++++++++++++++++-------------------------
 1 files changed, 34 insertions(+), 50 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java
index 03102dd..7bdf8a6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java
@@ -108,11 +108,11 @@
             for (Map<String, Object> order : transferOrders) {
                 processedCount++;
                 try {
-                    String serviceOrdID = MapValueUtils.getStringValue(order, "ServiceOrdID");
-                    String dispatchOrdID = MapValueUtils.getStringValue(order, "DispatchOrdID");
+                    Long serviceOrdID = MapValueUtils.getLongValue(order, "ServiceOrdID");
+                    Long dispatchOrdID = MapValueUtils.getLongValue(order, "DispatchOrdID");
                     
                     // 妫�鏌ュ弬鏁版湁鏁堟��
-                    if (StringUtils.isEmpty(serviceOrdID)) {
+                    if (serviceOrdID==null || serviceOrdID<=0) {
                         log.warn("绗瑊}鏉℃暟鎹湇鍔″崟ID涓虹┖锛岃烦杩囧鐞�", processedCount);
                         continue;
                     }
@@ -164,41 +164,25 @@
      * @return 鏄惁鍚屾鎴愬姛
      */
     @Override
-    public boolean syncSingleTransferOrder(String serviceOrdID, String dispatchOrdID) {
-        log.info("寮�濮嬪悓姝ュ崟涓浆杩愬崟: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
+    public boolean syncSingleTransferOrder(Long serviceOrdID, Long dispatchOrdID) {
+//        log.info("寮�濮嬪悓姝ュ崟涓浆杩愬崟: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
         
         try {
             // 妫�鏌ュ弬鏁版湁鏁堟��
-            if (StringUtils.isEmpty(serviceOrdID)) {
+            if (serviceOrdID == null || serviceOrdID <= 0) {
                 log.error("鏈嶅姟鍗旾D涓嶈兘涓虹┖");
                 return false;
             }
-            // 鐩存帴鏌ヨ鎸囧畾鐨勮浆杩愬崟淇℃伅
-            Long serviceOrdIdLong = null;
-            Long dispatchOrdIdLong = null;
+
+
             
-            try {
-                serviceOrdIdLong = Long.valueOf(serviceOrdID);
-            } catch (NumberFormatException e) {
-                log.error("鏈嶅姟鍗旾D涓嶆槸鏈夋晥鏁板瓧: {}", serviceOrdID);
-                return false;
-            }
-            
-            if (StringUtils.isNotEmpty(dispatchOrdID)) {
-                try {
-                    dispatchOrdIdLong = Long.valueOf(dispatchOrdID);
-                } catch (NumberFormatException e) {
-                    log.warn("璋冨害鍗旾D涓嶆槸鏈夋晥鏁板瓧: {}", dispatchOrdID);
-                }
-            }
-            
-            List<Map<String, Object>> transferOrders = legacyTransferSyncMapper.selectTransferOrdersByIDs(serviceOrdIdLong, dispatchOrdIdLong);
+            List<Map<String, Object>> transferOrders = legacyTransferSyncMapper.selectTransferOrdersByIDs(serviceOrdID, dispatchOrdID);
 
             Map<String, Object> order = transferOrders.get(0);
 
             // 妫�鏌ユ槸鍚﹀凡鍚屾
             if (isTransferOrderSynced(serviceOrdID, dispatchOrdID)) {
-                log.info("杞繍鍗曞凡鍚屾锛岃烦杩�: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
+//                log.info("杞繍鍗曞凡鍚屾锛岃烦杩�: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
                 updateTransferOrder(serviceOrdID, dispatchOrdID, order);
                 return true;
             }
@@ -226,11 +210,11 @@
      * @param order
      * @return
      */
-    private boolean updateTransferOrder(String serviceOrdID, String dispatchOrdID, Map<String, Object> order){
-        log.info("寮�濮嬪悓姝ュ崟涓浆杩愬崟: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
+    private boolean updateTransferOrder(Long serviceOrdID, Long dispatchOrdID, Map<String, Object> order){
+//        log.info("寮�濮嬪悓姝ュ崟涓浆杩愬崟: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
         String sysTaskCode="";
         try {
-            SysTaskEmergency emergency=sysTaskEmergencyMapper.selectByLegacyServiceOrdId(Long.parseLong(serviceOrdID));
+            SysTaskEmergency emergency=sysTaskEmergencyMapper.selectByLegacyServiceOrdId(serviceOrdID);
             if(emergency.getNeedResync().equals(1)){
                 log.info("鏂扮郴缁熼渶瑕佸悓姝ュ埌鏃х郴缁熼偅閲岋紝鎵�浠ヤ笉瑕佸悓姝ユ棫鏁版嵁鍒版柊绯荤粺,serviceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
                 return false;
@@ -275,12 +259,12 @@
             Long deptId=dept==null?null:dept.getDeptId();
             TaskUpdateVO updateTaskVo = new TaskUpdateVO();
             BeanUtils.copyProperties(createTaskVo, updateTaskVo);
-            log.info("寮�濮嬩繚瀛樿浆杩愪换鍔�,serviceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
+//            log.info("寮�濮嬩繚瀛樿浆杩愪换鍔�,serviceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
 
             int result = sysTaskService.updateTask(updateTaskVo,serviceOrdID,dispatchOrdID, serviceOrdNo, taskCreatorId,createUserName, deptId, ServiceOrd_CC_Time, ServiceOrd_CC_Time);
 
             if (result > 0) {
-                log.info("杞繍鍗曞悓姝ユ垚鍔�: ServiceOrdID={}, DispatchOrdID={}, 鍒涘缓鐨勪换鍔D={}", serviceOrdID, dispatchOrdID, result);
+//                log.info("杞繍鍗曞悓姝ユ垚鍔�: ServiceOrdID={}, DispatchOrdID={}, 鍒涘缓鐨勪换鍔D={}", serviceOrdID, dispatchOrdID, result);
 
                 try {
                     notifyTransferOrderByWechat((long) result, serviceOrdID, dispatchOrdID, serviceOrdNo, ServiceOrd_CC_Time, dept, order);
@@ -307,8 +291,8 @@
      * @param order 杞繍鍗曡缁嗕俊鎭�
      * @return 鏄惁鍚屾鎴愬姛
      */
-    private boolean syncSingleTransferOrder(String serviceOrdID, String dispatchOrdID, Map<String, Object> order) {
-        log.info("寮�濮嬪悓姝ュ崟涓浆杩愬崟: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
+    private boolean syncSingleTransferOrder(Long serviceOrdID, Long dispatchOrdID, Map<String, Object> order) {
+//        log.info("寮�濮嬪悓姝ュ崟涓浆杩愬崟: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
         String sysTaskCode="";
         try {
             // 鏋勯�燭askCreateVO瀵硅薄
@@ -355,7 +339,7 @@
             int result = sysTaskService.insertTask(createTaskVo,serviceOrdID,dispatchOrdID, serviceOrdNo, taskCreatorId,createUserName, deptId, ServiceOrd_CC_Time, ServiceOrd_CC_Time);
 
             if (result > 0) {
-                log.info("杞繍鍗曞悓姝ユ垚鍔�: ServiceOrdID={}, DispatchOrdID={}, 鍒涘缓鐨勪换鍔D={}", serviceOrdID, dispatchOrdID, result);
+//                log.info("杞繍鍗曞悓姝ユ垚鍔�: ServiceOrdID={}, DispatchOrdID={}, 鍒涘缓鐨勪换鍔D={}", serviceOrdID, dispatchOrdID, result);
 
                 try {
                     notifyTransferOrderByWechat((long) result, serviceOrdID, dispatchOrdID, serviceOrdNo, ServiceOrd_CC_Time, dept, order);
@@ -383,10 +367,10 @@
      * @return 鏄惁宸插悓姝�
      */
     @Override
-    public boolean isTransferOrderSynced(String serviceOrdID, String dispatchOrdID) {
+    public boolean isTransferOrderSynced(Long serviceOrdID, Long dispatchOrdID) {
         try {
             // 妫�鏌ュ弬鏁版湁鏁堟��
-            if (StringUtils.isEmpty(serviceOrdID)) {
+            if (serviceOrdID == null || serviceOrdID<=0) {
                 log.warn("鏈嶅姟鍗旾D涓嶈兘涓虹┖");
                 return false;
             }
@@ -395,7 +379,7 @@
             // 鏉′欢锛歭egacy_service_ord_id = serviceOrdID 鎴� legacy_dispatch_ord_id = dispatchOrdID
             
             try {
-                SysTaskEmergency emergency = sysTaskEmergencyMapper.selectByLegacyServiceOrdId(Long.valueOf(serviceOrdID));
+                SysTaskEmergency emergency = sysTaskEmergencyMapper.selectByLegacyServiceOrdId(serviceOrdID);
                 if (emergency != null) {
                     return true;
                 }
@@ -403,9 +387,9 @@
                 log.warn("鏈嶅姟鍗旾D涓嶆槸鏈夋晥鏁板瓧: {}", serviceOrdID);
             }
             
-            if (StringUtils.isNotEmpty(dispatchOrdID)) {
+            if (dispatchOrdID>0) {
                 try {
-                    SysTaskEmergency emergency = sysTaskEmergencyMapper.selectByLegacyDispatchOrdId(Long.valueOf(dispatchOrdID));
+                    SysTaskEmergency emergency = sysTaskEmergencyMapper.selectByLegacyDispatchOrdId(dispatchOrdID);
                     if (emergency != null) {
                         return true;
                     }
@@ -441,7 +425,7 @@
      * @return TaskCreateVO瀵硅薄
      */
     @Override
-    public TaskCreateVO buildCreateTaskVo(String serviceOrdID, String dispatchOrdID, Map<String, Object> order) {
+    public TaskCreateVO buildCreateTaskVo(Long serviceOrdID, Long dispatchOrdID, Map<String, Object> order) {
 //        log.info("鏋勯�燭askCreateVO: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
 
         try {
@@ -451,7 +435,7 @@
                 return null;
             }
             
-            if (StringUtils.isEmpty(serviceOrdID)) {
+            if (serviceOrdID==null || serviceOrdID<=0) {
                 log.error("鏈嶅姟鍗旾D涓嶈兘涓虹┖");
                 return null;
             }
@@ -730,11 +714,11 @@
      * @param dispatchOrdID 璋冨害鍗旾D
      * @return 鎵ц浜轰俊鎭垪琛�
      */
-    private List<TaskCreateVO.AssigneeInfo> queryAssignees(String dispatchOrdID) {
+    private List<TaskCreateVO.AssigneeInfo> queryAssignees(Long dispatchOrdID) {
         long startTime = System.currentTimeMillis();
         try {
             // 妫�鏌ュ弬鏁版湁鏁堟��
-            if (StringUtils.isEmpty(dispatchOrdID)) {
+            if (dispatchOrdID==null || dispatchOrdID <= 0) {
                 log.warn("璋冨害鍗旾D涓嶈兘涓虹┖");
                 return new ArrayList<>();
             }
@@ -813,10 +797,10 @@
      * @param serviceOrdID 鏈嶅姟鍗旾D
      * @return 鐥呮儏ID鍒楄〃
      */
-    private String queryDiseaseIds(String serviceOrdID) {
+    private String queryDiseaseIds(Long serviceOrdID) {
         try {
             // 妫�鏌ュ弬鏁版湁鏁堟��
-            if (StringUtils.isEmpty(serviceOrdID)) {
+            if (serviceOrdID==null || serviceOrdID <= 0) {
                 log.warn("鏈嶅姟鍗旾D涓嶈兘涓虹┖");
                 return null;
             }
@@ -840,8 +824,8 @@
 
 
     private void notifyTransferOrderByWechat(Long taskId,
-                                             String serviceOrdID,
-                                             String dispatchOrdID,
+                                             Long serviceOrdID,
+                                             Long dispatchOrdID,
                                              String serviceOrdNo,
                                              Date serviceOrdCcTime,
                                              SysDept dept,
@@ -850,7 +834,7 @@
             // 鑾峰彇閫氱煡鎺ユ敹浜哄垪琛�
             List<SysUser> receivers = getWechatNotifyUsers(dispatchOrdID, dept);
             if (receivers == null || receivers.isEmpty()) {
-                log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟鏃犲彲鐢ㄥ井淇℃帴鏀朵汉锛宼askId={}", taskId);
+//                log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟鏃犲彲鐢ㄥ井淇℃帴鏀朵汉锛宼askId={}", taskId);
                 return;
             }
 
@@ -864,13 +848,13 @@
 
             // 璋冪敤缁熶竴鐨勫井淇¢�氱煡鏈嶅姟
             int successCount = wechatTaskNotifyService.sendTaskNotifyMessage(taskId, userIds);
-            log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟寰俊閫氱煡鍙戦�佸畬鎴愶紝taskId={}, 鎴愬姛={}", taskId, successCount);
+//            log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟寰俊閫氱煡鍙戦�佸畬鎴愶紝taskId={}, 鎴愬姛={}", taskId, successCount);
         } catch (Exception e) {
             log.error("notifyTransferOrderByWechat鍙戠敓寮傚父, serviceOrdID={}, dispatchOrdID={}", serviceOrdID, dispatchOrdID, e);
         }
     }
 
-    private List<SysUser> getWechatNotifyUsers(String dispatchOrdID, SysDept dept) {
+    private List<SysUser> getWechatNotifyUsers(Long dispatchOrdID, SysDept dept) {
         try {
             List<SysUser> result = new ArrayList<>();
 

--
Gitblit v1.9.1