From 3e6cd2231fc99a855129d1a293b8d65adf1683b5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期三, 04 二月 2026 10:55:11 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/NamespaceType.java                    |   15 +++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java            |    6 +-
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java              |   41 ++++++++++++++++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java |   10 +++-
 zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java                         |    2 +
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java                 |   21 ++++++++++
 6 files changed, 88 insertions(+), 7 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java
index f1e1ee0..289941d 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/Constants.java
@@ -12,6 +12,8 @@
 
     public static final String LIMIT_ONE = "limit 1";
 
+    public static final String RCS = "RCS";
+
     /**
      * 榛樿鎴愬姛鐮�
      */
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/NamespaceType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/NamespaceType.java
new file mode 100644
index 0000000..cf1fcb5
--- /dev/null
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/NamespaceType.java
@@ -0,0 +1,15 @@
+package com.zy.acs.manager.core.domain.type;
+
+public enum NamespaceType {
+
+    RCS_TASK_REPORT("浠诲姟瀹屾垚涓婃姤"),
+
+    ;
+
+    public String name;
+
+    NamespaceType(String name) {
+        this.name = name;
+    }
+
+}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java
index 4a8c61e..b3bf360 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/OpenController.java
@@ -10,6 +10,7 @@
 import com.zy.acs.manager.core.integrate.dto.OpenBusSubmitParam;
 import com.zy.acs.manager.core.service.MainService;
 import com.zy.acs.manager.manager.entity.Bus;
+import com.zy.acs.manager.manager.entity.IntegrationRecord;
 import com.zy.acs.manager.manager.entity.Task;
 import com.zy.acs.manager.manager.enums.TaskStsType;
 import com.zy.acs.manager.manager.service.BusService;
@@ -41,6 +42,26 @@
     @PostMapping("/bus/submit")
     @OperationLog("generate task from open api")
     public R submit(@RequestBody OpenBusSubmitParam param) {
+        IntegrationRecord integrationRecord = new IntegrationRecord(
+                null,    // 缂栧彿
+                null,    // 鍚嶇О绌洪棿
+                null,    // 鎺ュ彛鍦板潃
+                null,    // 骞冲彴瀵嗛挜
+                null,    // 璋冪敤鏂规爣璇�
+                null,    // 鏂瑰悜[闈炵┖]
+                null,    // 鏃堕棿鎴�
+                null,    // 瀹㈡埛绔疘P
+                null,    // 璇锋眰鍐呭
+                null,    // 鍝嶅簲鍐呭
+                null,    // 寮傚父鍐呭
+                null,    // 缁撴灉
+                null,    // 鑰楁椂
+                null,    // 鐘舵��
+                null,    // 娣诲姞鏃堕棿[闈炵┖]
+                null,    // 淇敼鏃堕棿[闈炵┖]
+                null    // 澶囨敞
+        );
+
         mainService.generateBusAndTask(param, null);
         return R.ok("generate tasks success");
     }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
index 4947200..b1238d2 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/wms/TaskReportService.java
@@ -4,16 +4,23 @@
 import com.alibaba.fastjson.TypeReference;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.R;
+import com.zy.acs.framework.common.SnowflakeIdWorker;
 import com.zy.acs.manager.common.config.UplinkProperties;
+import com.zy.acs.manager.common.constant.Constants;
 import com.zy.acs.manager.common.utils.HttpGo;
+import com.zy.acs.manager.core.domain.type.NamespaceType;
 import com.zy.acs.manager.core.integrate.dto.HttpResult;
 import com.zy.acs.manager.core.integrate.dto.TaskUplinkParam;
 import com.zy.acs.manager.core.service.ThreadPoolRegulator;
 import com.zy.acs.manager.manager.entity.Bus;
+import com.zy.acs.manager.manager.entity.IntegrationRecord;
 import com.zy.acs.manager.manager.entity.Task;
+import com.zy.acs.manager.manager.enums.IntegrationDirectionType;
+import com.zy.acs.manager.manager.enums.StatusType;
 import com.zy.acs.manager.manager.enums.TaskStsType;
 import com.zy.acs.manager.manager.enums.TaskUplinkStateType;
 import com.zy.acs.manager.manager.service.BusService;
+import com.zy.acs.manager.manager.service.IntegrationRecordService;
 import com.zy.acs.manager.manager.service.TaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -21,6 +28,7 @@
 
 import javax.annotation.PostConstruct;
 import java.time.Duration;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
@@ -37,6 +45,10 @@
     private ThreadPoolRegulator threadPoolRegulator;
     @Autowired
     private BusService busService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private IntegrationRecordService integrationRecordService;
 
     private HttpGo http;
 
@@ -68,7 +80,7 @@
         ) {
             return false;
         }
-
+        Date now = new Date();
         // block
 //        Future<R> future = threadPoolRegulator.getInstance().submit(() -> {
 //            mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true);
@@ -96,9 +108,30 @@
         param.setTaskNo(task.getSeqNum());
         param.setTimestamp(null == task.getEndTime() ? System.currentTimeMillis() : task.getEndTime().getTime());
 
+        IntegrationRecord integrationRecord = new IntegrationRecord(
+                String.valueOf(snowflakeIdWorker.nextId()).substring(3),    // 缂栧彿
+                NamespaceType.RCS_TASK_REPORT.name,    // 鍚嶇О绌洪棿
+                uplinkProperties.getUrl(),    // 鎺ュ彛鍦板潃
+                null,    // 骞冲彴瀵嗛挜
+                Constants.RCS,    // 璋冪敤鏂规爣璇�
+                IntegrationDirectionType.OUTBOUND.value,    // 鏂瑰悜[闈炵┖]
+                String.valueOf(now.getTime()),    // 鏃堕棿鎴�
+                uplinkProperties.getHost(),    // 瀹㈡埛绔疘P
+                JSON.toJSONString(param),    // 璇锋眰鍐呭
+                null,    // 鍝嶅簲鍐呭
+                null,    // 寮傚父鍐呭
+                0,    // 缁撴灉
+                null,    // 鑰楁椂
+                StatusType.ENABLE.val,    // 鐘舵��
+                now,    // 娣诲姞鏃堕棿[闈炵┖]
+                now,    // 淇敼鏃堕棿[闈炵┖]
+                null    // 澶囨敞
+        );
         HttpResult<?> result;
         try {
             result = postForResult(url, headers, param);
+            integrationRecord.setResponse(JSON.toJSONString(result));
+
             Integer code = result.getCode();
             if (null == code || 200 != code) {
                 return false;
@@ -107,11 +140,17 @@
 //            if (Cools.isEmpty(data)) {
 //                return false;
 //            }
+
+            integrationRecord.setResult(1);
         } catch (Exception e) {
             log.error("Uplink report failed, taskId={}",
                     JSON.toJSONString(task),
                     e);
+            integrationRecord.setErr(e.getMessage());
             return false;
+        } finally {
+            integrationRecord.setCostMs((int) (System.currentTimeMillis() - now.getTime()));
+            integrationRecordService.syncRecord(integrationRecord);
         }
         return true;
     }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java
index 31fbd14..626cefa 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/IntegrationDirectionType.java
@@ -2,9 +2,9 @@
 
 public enum IntegrationDirectionType {
 
-    NONE(0),
-    INBOUND(1),
-    OUTBOUND(2),
+    NONE(0),        // 鏈煡
+    INBOUND(1),     // 鎺ユ敹
+    OUTBOUND(2),    // 璋冪敤
     ;
 
     public int value;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java
index fc6cdc3..5c9f300 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/IntegrationRecordServiceImpl.java
@@ -1,16 +1,19 @@
 package com.zy.acs.manager.manager.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.zy.acs.framework.common.R;
 import com.zy.acs.manager.core.service.ThreadPoolRegulator;
 import com.zy.acs.manager.manager.mapper.IntegrationRecordMapper;
 import com.zy.acs.manager.manager.entity.IntegrationRecord;
 import com.zy.acs.manager.manager.service.IntegrationRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.concurrent.CompletableFuture;
 
+@Slf4j
 @Service("integrationRecordService")
 public class IntegrationRecordServiceImpl extends ServiceImpl<IntegrationRecordMapper, IntegrationRecord> implements IntegrationRecordService {
 
@@ -21,14 +24,15 @@
     public Boolean syncRecord(IntegrationRecord record) {
         CompletableFuture<?> completableFuture = CompletableFuture.supplyAsync(() -> {
 
-
-
+            if (!this.save(record)) {
+                log.error("failed to save record {}", JSON.toJSONString(record));
+            }
 //            mapDataDispatcher.modifyDynamicMatrix(null, null, param.getAgvNo(), true);
 //            avoidWaveCalculator.calcDynamicNodeByVehicle(agv, null);
             return R.ok();
         }, threadPoolRegulator.getInstance());
 
-        return false;
+        return true;
     }
 
 }

--
Gitblit v1.9.1