From f08739f46afe856f60ebb1d21ab23d72947629ed Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 21 十二月 2025 00:03:12 +0800
Subject: [PATCH] feat:优化任务搜索查询 app

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java |   62 +++++++++++++++++++-----------
 1 files changed, 39 insertions(+), 23 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 7bdf8a6..0298175 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
@@ -2,9 +2,7 @@
 
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.MapValueUtils;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.*;
 import com.ruoyi.system.domain.SysTaskEmergency;
 import com.ruoyi.system.domain.VehicleInfo;
 import com.ruoyi.system.domain.enums.TaskStatus;
@@ -257,8 +255,14 @@
             }
             SysDept dept=sysDeptService.selectDeptByServiceClass(serviceOrdClass);
             Long deptId=dept==null?null:dept.getDeptId();
+            if(deptId==null){
+                log.error("鍒涘缓浠诲姟鏃讹紝鑾峰彇閮ㄩ棬淇℃伅澶辫触锛宻erviceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
+                return false;
+            }
+            createTaskVo.setDeptId(deptId);
             TaskUpdateVO updateTaskVo = new TaskUpdateVO();
             BeanUtils.copyProperties(createTaskVo, updateTaskVo);
+
 //            log.info("寮�濮嬩繚瀛樿浆杩愪换鍔�,serviceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
 
             int result = sysTaskService.updateTask(updateTaskVo,serviceOrdID,dispatchOrdID, serviceOrdNo, taskCreatorId,createUserName, deptId, ServiceOrd_CC_Time, ServiceOrd_CC_Time);
@@ -334,6 +338,11 @@
             String createUserName= sysUser.getUserName();
             SysDept dept=sysDeptService.selectDeptByServiceClass(serviceOrdClass);
             Long deptId=dept==null?null:dept.getDeptId();
+            if(deptId==null){
+                log.error("鍒涘缓浠诲姟鏃讹紝鑾峰彇閮ㄩ棬淇℃伅澶辫触锛宻erviceOrdID={}, DispatchOrdID={} ServiceOrdClass:{}", serviceOrdID, dispatchOrdID, serviceOrdClass);
+                return false;
+            }
+            createTaskVo.setDeptId(deptId);
 
 
             int result = sysTaskService.insertTask(createTaskVo,serviceOrdID,dispatchOrdID, serviceOrdNo, taskCreatorId,createUserName, deptId, ServiceOrd_CC_Time, ServiceOrd_CC_Time);
@@ -370,7 +379,7 @@
     public boolean isTransferOrderSynced(Long serviceOrdID, Long dispatchOrdID) {
         try {
             // 妫�鏌ュ弬鏁版湁鏁堟��
-            if (serviceOrdID == null || serviceOrdID<=0) {
+            if (LongUtil.isEmpty(serviceOrdID)) {
                 log.warn("鏈嶅姟鍗旾D涓嶈兘涓虹┖");
                 return false;
             }
@@ -387,7 +396,7 @@
                 log.warn("鏈嶅姟鍗旾D涓嶆槸鏈夋晥鏁板瓧: {}", serviceOrdID);
             }
             
-            if (dispatchOrdID>0) {
+            if (LongUtil.isNotEmpty(dispatchOrdID)) {
                 try {
                     SysTaskEmergency emergency = sysTaskEmergencyMapper.selectByLegacyDispatchOrdId(dispatchOrdID);
                     if (emergency != null) {
@@ -435,7 +444,7 @@
                 return null;
             }
             
-            if (serviceOrdID==null || serviceOrdID<=0) {
+            if (LongUtil.isEmpty(serviceOrdID)) {
                 log.error("鏈嶅姟鍗旾D涓嶈兘涓虹┖");
                 return null;
             }
@@ -449,9 +458,9 @@
             createTaskVo.setTaskType("EMERGENCY_TRANSFER"); // 鎬ユ晳杞繍浠诲姟
             
             // 璁剧疆鍗曟嵁绫诲瀷鍜屼换鍔$被鍨婭D锛堜粠鏃х郴缁熷瓧娈垫槧灏勶級
-
-            if (StringUtils.isNotEmpty(serviceOrdClass)) {
-                createTaskVo.setDocumentTypeId(serviceOrdClass);
+            String ServiceOrdAreaType = MapValueUtils.getStringValue(order, "ServiceOrdAreaType");
+            if (StringUtils.isNotEmpty(ServiceOrdAreaType)) {
+                createTaskVo.setDocumentTypeId(ServiceOrdAreaType);
             }
             
             String serviceOrdType = MapValueUtils.getStringValue(order, "ServiceOrdType");
@@ -459,8 +468,21 @@
                 createTaskVo.setTaskTypeId(serviceOrdType);
             }
             
-            // 璁剧疆鍖哄煙绫诲瀷
-            String serviceOrdAreaType = MapValueUtils.getStringValue(order, "ServiceOrdAreaType");
+
+
+           String serviceOrdVIP = MapValueUtils.getStringValue(order, "ServiceOrdVIP");
+           if(serviceOrdVIP!=null){
+               createTaskVo.setServiceOrdVIP(serviceOrdVIP);
+           }else{
+               createTaskVo.setServiceOrdVIP("0");
+           }
+
+           Integer FromHQ2_is = MapValueUtils.getIntegerValue(order, "FromHQ2_is");
+           if(IntegerUtil.isNotEmpty(FromHQ2_is)){
+               createTaskVo.setFromHQ2_is("1");
+           }else{
+               createTaskVo.setFromHQ2_is("0");
+           }
 
             // 璁剧疆鐢ㄦ埛ID
             Long serviceOrdUserID = MapValueUtils.getLongValue(order, "ServiceOrdUserID");
@@ -561,7 +583,7 @@
             createTaskVo.setPrice(MapValueUtils.getBigDecimalValue(order, "ServiceOrdTraTxnPrice"));
             // 璺濈淇℃伅闇�瑕佷粠鍏朵粬瀛楁璁$畻鎴栬幏鍙�
 
-            if(dispatchOrdID!=null) {
+            if(LongUtil.isNotEmpty(dispatchOrdID)) {
                 // 璁剧疆鎵ц浜轰俊鎭�
                 List<TaskCreateVO.AssigneeInfo> assignees = queryAssignees(dispatchOrdID);
                 createTaskVo.setAssignees(assignees);
@@ -718,22 +740,16 @@
         long startTime = System.currentTimeMillis();
         try {
             // 妫�鏌ュ弬鏁版湁鏁堟��
-            if (dispatchOrdID==null || dispatchOrdID <= 0) {
+            if (LongUtil.isEmpty(dispatchOrdID)) {
                 log.warn("璋冨害鍗旾D涓嶈兘涓虹┖");
                 return new ArrayList<>();
             }
             
             // 灏哠tring杞崲涓篖ong锛岄伩鍏嶆暟鎹簱绫诲瀷涓嶅尮閰嶅鑷寸殑鎬ц兘闂
-            Long dispatchOrdIdLong;
-            try {
-                dispatchOrdIdLong = Long.valueOf(dispatchOrdID);
-            } catch (NumberFormatException e) {
-                log.error("璋冨害鍗旾D鏍煎紡涓嶆纭�: {}", dispatchOrdID, e);
-                return new ArrayList<>();
-            }
+
             
             // 浠嶴QL Server鏌ヨ鎵ц浜轰俊鎭紙浣跨敤Long绫诲瀷锛屽尮閰岯IGINT瀛楁锛�
-            List<Map<String, Object>> assigneeList = legacyTransferSyncMapper.selectAssigneesByDispatchOrdID(dispatchOrdIdLong);
+            List<Map<String, Object>> assigneeList = legacyTransferSyncMapper.selectAssigneesByDispatchOrdID(dispatchOrdID);
             long queryTime = System.currentTimeMillis() - startTime;
             
             // 璁板綍鎱㈡煡璇紙瓒呰繃500ms锛�
@@ -782,7 +798,7 @@
                 }
             }
             
-            log.debug("鏌ヨ鍒皗}涓墽琛屼汉锛岃皟搴﹀崟ID: {}, 鑰楁椂: {}ms", assignees.size(), dispatchOrdID, System.currentTimeMillis() - startTime);
+//            log.debug("鏌ヨ鍒皗}涓墽琛屼汉锛岃皟搴﹀崟ID: {}, 鑰楁椂: {}ms", assignees.size(), dispatchOrdID, System.currentTimeMillis() - startTime);
             return assignees;
         } catch (Exception e) {
             long totalTime = System.currentTimeMillis() - startTime;
@@ -800,7 +816,7 @@
     private String queryDiseaseIds(Long serviceOrdID) {
         try {
             // 妫�鏌ュ弬鏁版湁鏁堟��
-            if (serviceOrdID==null || serviceOrdID <= 0) {
+            if (LongUtil.isEmpty(serviceOrdID) ) {
                 log.warn("鏈嶅姟鍗旾D涓嶈兘涓虹┖");
                 return null;
             }

--
Gitblit v1.9.1