From cdcc529ce5fb9aa0dd1dea5bb2a620fc09b7d25c Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 08 十一月 2025 20:03:56 +0800
Subject: [PATCH] feat: 上传附件
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacySystemSyncServiceImpl.java | 67 ++++++++++++++++++++++++++-------
1 files changed, 53 insertions(+), 14 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 828459a..db1fa94 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
@@ -12,6 +12,9 @@
import java.util.List;
import java.util.Map;
+import com.ruoyi.system.domain.*;
+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;
@@ -22,11 +25,6 @@
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.SysTask;
-import com.ruoyi.system.domain.SysTaskEmergency;
-import com.ruoyi.system.domain.SysTaskVehicle;
-import com.ruoyi.system.domain.SysTaskAssignee;
-import com.ruoyi.system.domain.VehicleInfo;
import com.ruoyi.system.domain.vo.TaskCreateVO;
import com.ruoyi.system.mapper.SysTaskMapper;
import com.ruoyi.system.mapper.SysTaskEmergencyMapper;
@@ -35,10 +33,7 @@
import com.ruoyi.system.mapper.VehicleInfoMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.mapper.SysDeptMapper;
-import com.ruoyi.system.service.ILegacySystemSyncService;
import com.ruoyi.system.utils.TaskStatusConverter;
-import com.ruoyi.system.service.IDispatchOrdService;
-import com.ruoyi.system.service.ISysTaskEmergencyService;
/**
* 鏃х郴缁熷悓姝ervice涓氬姟灞傚鐞�
@@ -77,6 +72,15 @@
@Autowired
private ISysTaskEmergencyService sysTaskEmergencyService;
+
+ @Autowired
+ private ITaskAttachmentSyncService taskAttachmentSyncService;
+
+ @Autowired
+ private ISysTaskService sysTaskService;
+
+ @Autowired
+ private ITaskAttachmentService taskAttachmentService;
/**
* 鍚屾鎬ユ晳杞繍浠诲姟鍒版棫绯荤粺
@@ -265,7 +269,27 @@
return false;
}
}
-
+
+
+ /**
+ * 鍚屾浠诲姟闄勪欢鍒版棫绯荤粺
+ * @param taskAttachments
+ * @param serviceOrdId
+ * @param dispatchOrdId
+ * @param oaUserID
+ */
+ public void syncAttachmentToLegacy(List<SysTaskAttachment> taskAttachments, Long serviceOrdId,Long dispatchOrdId,Integer oaUserID) {
+ taskAttachments.forEach((taskAttachment)->{
+ Long imageDataId= taskAttachmentSyncService.syncAttachmentToImageData(taskAttachment,serviceOrdId,dispatchOrdId,oaUserID);
+ if (imageDataId != null && imageDataId > 0) {
+
+ taskAttachment.setSyncedToImageData(1);
+ taskAttachment.setSyncTime(new Date());
+ taskAttachment.setImageDataId(imageDataId);
+ taskAttachmentService.updateAttachment(taskAttachment);
+ }
+ });
+ }
/**
* 鍚屾璋冨害鍗曞埌鏃х郴缁燂紙admin_save_24.asp锛�
*/
@@ -303,16 +327,23 @@
log.info("璋冨害鍗曞凡鍚屾杩囷紝浠诲姟ID: {}, DispatchOrdID: {}", taskId, emergency.getLegacyDispatchOrdId());
return emergency.getLegacyDispatchOrdId();
}
-
+
+ Long serviceOrdId=emergency.getLegacyServiceOrdId();
// 蹇呴』鍏堝悓姝ユ湇鍔″崟
- if (emergency.getLegacyServiceOrdId() == null || emergency.getLegacyServiceOrdId() <= 0) {
+ if (serviceOrdId == null || serviceOrdId <= 0) {
log.warn("鏈嶅姟鍗曟湭鍚屾锛屾棤娉曞悓姝ヨ皟搴﹀崟锛屼换鍔D: {}", taskId);
return null;
}
-
+
+
+
+
// 鏇存柊鍚屾鐘舵�佷负鍚屾涓�
emergency.setDispatchSyncStatus(1);
sysTaskEmergencyService.updateSysTaskEmergency(emergency);
+
+ SysUser u=sysUserMapper.selectUserById(task.getCreatorId());
+ Integer oaUserID= u.getOaUserId();
// 鏋勫缓璇锋眰鍙傛暟
Map<String, String> params = buildDispatchOrderParams(task, emergency);
@@ -330,7 +361,13 @@
emergency.setDispatchSyncTime(new Date());
emergency.setDispatchSyncErrorMsg(null);
sysTaskEmergencyService.updateSysTaskEmergency(emergency);
-
+
+ List<SysTaskAttachment> taskAttachments= sysTaskService.getAttachmentsByTaskId(taskId);
+ if (taskAttachments != null && !taskAttachments.isEmpty()) {
+ //鍚屾闄勪欢
+ this.syncAttachmentToLegacy(taskAttachments,serviceOrdId,dispatchOrdId,oaUserID);
+ }
+
log.info("璋冨害鍗曞悓姝ユ垚鍔燂紝浠诲姟ID: {}, DispatchOrdID: {}", taskId, dispatchOrdId);
return dispatchOrdId;
} else {
@@ -383,7 +420,7 @@
while (true) {
// 鍒嗛〉鏌ヨ宸插悓姝ユ湇鍔″崟浣嗘湭鍚屾璋冨害鍗曠殑浠诲姟
List<SysTaskEmergency> pendingTasks = sysTaskEmergencyService.selectPendingDispatchSyncTasks(offset, pageSize);
-
+ log.info("鏌ヨ鍒版湭鍚屾璋冨害鍗曠殑浠诲姟鏁伴噺: {}", pendingTasks.size());
if (pendingTasks == null || pendingTasks.isEmpty()) {
log.info("娌℃湁鏇村闇�瑕佸悓姝ヨ皟搴﹀崟鐨勪换鍔★紝offset: {}", offset);
break; // 娌℃湁鏇村鏁版嵁锛岄��鍑哄惊鐜�
@@ -393,7 +430,9 @@
int pageSuccessCount = 0;
for (SysTaskEmergency emergency : pendingTasks) {
+ log.info("寮�濮嬪悓姝ヨ皟搴﹀崟锛屼换鍔D: {}", emergency.getTaskId());
Long dispatchOrdId = syncDispatchOrderToLegacy(emergency.getTaskId());
+
if (dispatchOrdId != null && dispatchOrdId > 0) {
pageSuccessCount++;
}
--
Gitblit v1.9.1