From c5ac97682e3b4ca748541ace97cb37a2295bd81e Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 19 三月 2026 22:46:29 +0800
Subject: [PATCH] feat: 增加GPS清理后台任务
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java | 74 +++++++++++++++++++++++-------------
1 files changed, 47 insertions(+), 27 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 55d2337..247bbc3 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,10 +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.LongUtil;
-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;
@@ -79,7 +76,7 @@
*/
@Override
public int syncLegacyTransferOrders(int daysAgo) {
- log.info("寮�濮嬪悓姝}澶╁墠鐨勬棫绯荤粺杞繍鍗曟暟鎹�", daysAgo);
+// log.info("寮�濮嬪悓姝}澶╁墠鐨勬棫绯荤粺杞繍鍗曟暟鎹�", daysAgo);
try {
// 鍙傛暟楠岃瘉
@@ -91,16 +88,17 @@
// 璁$畻鏃ユ湡鑼冨洿
Date startDate = DateUtils.addDays(new Date(), -daysAgo);
String startDateStr = DateUtils.parseDateToStr("yyyy-MM-dd", startDate);
+ String endDateStr = DateUtils.parseDateToStr("yyyy-MM-dd", new Date());
// 浠嶴QL Server鏌ヨ杞繍鍗曟暟鎹�
- List<Map<String, Object>> transferOrders = legacyTransferSyncMapper.selectTransferOrders(startDateStr);
+ List<Map<String, Object>> transferOrders = legacyTransferSyncMapper.selectTransferOrders(startDateStr, endDateStr);
if (transferOrders == null || transferOrders.isEmpty()) {
log.info("鏈煡璇㈠埌{}澶╁墠鐨勮浆杩愬崟鏁版嵁", daysAgo);
return 0;
}
- log.info("鏌ヨ鍒皗}鏉¤浆杩愬崟鏁版嵁锛屽紑濮嬪悓姝�...", transferOrders.size());
+// log.info("鏌ヨ鍒皗}鏉¤浆杩愬崟鏁版嵁锛屽紑濮嬪悓姝�...", transferOrders.size());
int successCount = 0;
int totalCount = transferOrders.size();
@@ -118,12 +116,12 @@
continue;
}
- log.debug("姝e湪澶勭悊绗瑊}/{}鏉¤浆杩愬崟: ServiceOrdID={}, DispatchOrdID={}",
- processedCount, totalCount, serviceOrdID, dispatchOrdID);
+// log.debug("姝e湪澶勭悊绗瑊}/{}鏉¤浆杩愬崟: ServiceOrdID={}, DispatchOrdID={}",
+// processedCount, totalCount, serviceOrdID, dispatchOrdID);
// 妫�鏌ユ槸鍚﹀凡鍚屾
if (isTransferOrderSynced(serviceOrdID, dispatchOrdID)) {
- log.debug("杞繍鍗曞凡鍚屾锛岃烦杩�: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
+// log.debug("杞繍鍗曞凡鍚屾锛岃烦杩�: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID);
//杩涜鏇存柊鎿嶄綔
updateTransferOrder(serviceOrdID, dispatchOrdID, order);
continue;
@@ -148,7 +146,7 @@
}
}
- log.info("鍚屾瀹屾垚锛屽叡澶勭悊{}鏉¤浆杩愬崟锛屾垚鍔熷悓姝}鏉¤浆杩愬崟鏁版嵁", totalCount, successCount);
+// log.info("鍚屾瀹屾垚锛屽叡澶勭悊{}鏉¤浆杩愬崟锛屾垚鍔熷悓姝}鏉¤浆杩愬崟鏁版嵁", totalCount, successCount);
return successCount;
} catch (Exception e) {
@@ -348,13 +346,13 @@
createTaskVo.setDeptId(deptId);
- int result = sysTaskService.insertTask(createTaskVo,serviceOrdID,dispatchOrdID, serviceOrdNo, taskCreatorId,createUserName, deptId, ServiceOrd_CC_Time, ServiceOrd_CC_Time);
+ Long taskId = 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);
+ if (taskId != null && taskId > 0) {
+// log.info("杞繍鍗曞悓姝ユ垚鍔�: ServiceOrdID={}, DispatchOrdID={}, 鍒涘缓鐨勪换鍔D={}", serviceOrdID, dispatchOrdID, taskId);
try {
- notifyTransferOrderByWechat((long) result, serviceOrdID, dispatchOrdID, serviceOrdNo, ServiceOrd_CC_Time, dept, order);
+ notifyTransferOrderByWechat(taskId, serviceOrdID, dispatchOrdID, serviceOrdNo, ServiceOrd_CC_Time, dept, order);
} catch (Exception e) {
log.error("杞繍鍗曞悓姝ユ垚鍔熷悗鍙戦�佸井淇¢�氱煡澶辫触: ServiceOrdID={}, DispatchOrdID={}", serviceOrdID, dispatchOrdID, e);
}
@@ -461,9 +459,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");
@@ -471,8 +469,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 FromHQ_is = MapValueUtils.getIntegerValue(order, "FromHQ_is");
+ if(IntegerUtil.isNotEmpty(FromHQ_is)){
+ createTaskVo.setFromHQ2_is("1");
+ }else{
+ createTaskVo.setFromHQ2_is("0");
+ }
// 璁剧疆鐢ㄦ埛ID
Long serviceOrdUserID = MapValueUtils.getLongValue(order, "ServiceOrdUserID");
@@ -494,11 +505,20 @@
}
}
createTaskVo.setPatient(patientInfo);
- //1000鍏噷锛屾彁鍙栨暟瀛�
+ //1000鍏噷锛屾彁鍙栨暟瀛楋紙鏀寔灏忔暟锛�
String ServiceOrdTraDistance=MapValueUtils.getStringValue(order, "ServiceOrdTraDistance");
if(ServiceOrdTraDistance!=null){
- ServiceOrdTraDistance=ServiceOrdTraDistance.replaceAll("[^0-9]", "");
- createTaskVo.setDistance(new BigDecimal(ServiceOrdTraDistance));
+ // 淇濈暀鏁板瓧鍜屽皬鏁扮偣锛岀Щ闄ゅ叾浠栧瓧绗�
+ ServiceOrdTraDistance=ServiceOrdTraDistance.replaceAll("[^0-9.]", "");
+ // 澶勭悊澶氫釜灏忔暟鐐圭殑鎯呭喌锛屽彧淇濈暀绗竴涓�
+ int firstDotIndex = ServiceOrdTraDistance.indexOf('.');
+ if (firstDotIndex != -1) {
+ ServiceOrdTraDistance = ServiceOrdTraDistance.substring(0, firstDotIndex + 1)
+ + ServiceOrdTraDistance.substring(firstDotIndex + 1).replace(".", "");
+ }
+ if (!ServiceOrdTraDistance.isEmpty() && !ServiceOrdTraDistance.equals(".")) {
+ createTaskVo.setTransferDistance(new BigDecimal(ServiceOrdTraDistance));
+ }
}
@@ -588,7 +608,7 @@
String carLicense = legacyTransferSyncMapper.selectCarLicenseByCarID(carID);
if (StringUtils.isNotEmpty(carLicense)) {
// 鏍规嵁杞︾墝鍙锋煡璇㈡柊绯荤粺涓殑杞﹁締ID
- log.info("杞繍浠诲姟,ServiceOrdID:{},杞﹁締杞︾墝:{}",serviceOrdID,carLicense);
+// log.info("杞繍浠诲姟,ServiceOrdID:{},杞﹁締杞︾墝:{}",serviceOrdID,carLicense);
// log.debug("杞﹁締杞︾墝鍙�: {}", carLicense);
// 棣栧厛灏濊瘯閫氳繃VehicleInfoMapper鏌ヨ杞﹁締淇℃伅
@@ -609,7 +629,7 @@
List<Long> vehicleIds = new ArrayList<>();
vehicleIds.add(vehicleInfo.getVehicleId());
createTaskVo.setVehicleIds(vehicleIds);
- log.debug("杞繍浠诲姟,ServiceOrdID:{} 閫氳繃杞︾墝鍙锋壘鍒拌溅杈嗕俊鎭�: vehicle_id={}, vehicle_no={}",serviceOrdID, vehicleInfo.getVehicleId(), vehicleInfo.getVehicleNo());
+// log.debug("杞繍浠诲姟,ServiceOrdID:{} 閫氳繃杞︾墝鍙锋壘鍒拌溅杈嗕俊鎭�: vehicle_id={}, vehicle_no={}",serviceOrdID, vehicleInfo.getVehicleId(), vehicleInfo.getVehicleNo());
} else {
log.warn("杞繍浠诲姟,ServiceOrdID:{} 鏈壘鍒板搴旂殑杞﹁締淇℃伅: car_id={}, vehicle_no={}",serviceOrdID, carID, carLicense);
}
@@ -622,7 +642,7 @@
List<Long> vehicleIds = new ArrayList<>();
vehicleIds.add(vehicleInfo.getVehicleId());
createTaskVo.setVehicleIds(vehicleIds);
- log.debug("閫氳繃杞︾墝鍙锋壘鍒拌溅杈嗕俊鎭�: vehicle_id={}, vehicle_no={}", vehicleInfo.getVehicleId(), vehicleInfo.getVehicleNo());
+// log.debug("閫氳繃杞︾墝鍙锋壘鍒拌溅杈嗕俊鎭�: vehicle_id={}, vehicle_no={}", vehicleInfo.getVehicleId(), vehicleInfo.getVehicleNo());
} else {
log.warn("鏈壘鍒板搴旂殑杞﹁締淇℃伅: vehicle_no={}", carLicense);
}
@@ -819,7 +839,7 @@
return String.join(",", diseaseIds);
}
- log.info("鏌ヨ鍒扮梾鎯呬俊鎭紝鏈嶅姟鍗旾D: {}, 鐥呮儏鏁伴噺: {}", serviceOrdID, diseaseIds != null ? diseaseIds.size() : 0);
+// log.info("鏌ヨ鍒扮梾鎯呬俊鎭紝鏈嶅姟鍗旾D: {}, 鐥呮儏鏁伴噺: {}", serviceOrdID, diseaseIds != null ? diseaseIds.size() : 0);
return null;
} catch (Exception e) {
log.error("鏌ヨ鐥呮儏淇℃伅寮傚父锛屾湇鍔″崟ID: {}", serviceOrdID, e);
--
Gitblit v1.9.1