From 5d8c23764a220724358d9cf7c4244f5f1864e9a1 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 27 一月 2026 08:53:46 +0800
Subject: [PATCH] #

---
 /dev/null                                                                                           |    0 
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java                       |   53 +++++++++++------
 version/doc/AGV-RCS 通信协议 V1.1.xlsx                                                                  |    0 
 zy-acs-common/src/main/java/com/zy/acs/common/domain/HeightDepthDto.java                            |   34 +++++++++++
 zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToConveyorSta.java |    7 ++
 zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromShelvesLoc.java   |    7 ++
 zy-acs-flow/src/page/sta/StaList.jsx                                                                |    2 
 zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromConveyorSta.java  |    7 ++
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java                            |   15 ++++-
 zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToShelvesLoc.java  |    7 ++
 10 files changed, 105 insertions(+), 27 deletions(-)

diff --git "a/version/doc/AGV-RCS \351\200\232\344\277\241\345\215\217\350\256\256 V1.0.xlsx" "b/version/doc/AGV-RCS \351\200\232\344\277\241\345\215\217\350\256\256 V1.0.xlsx"
deleted file mode 100644
index 2813849..0000000
--- "a/version/doc/AGV-RCS \351\200\232\344\277\241\345\215\217\350\256\256 V1.0.xlsx"
+++ /dev/null
Binary files differ
diff --git "a/version/doc/AGV-RCS \351\200\232\344\277\241\345\215\217\350\256\256 V1.1.xlsx" "b/version/doc/AGV-RCS \351\200\232\344\277\241\345\215\217\350\256\256 V1.1.xlsx"
new file mode 100644
index 0000000..95482c4
--- /dev/null
+++ "b/version/doc/AGV-RCS \351\200\232\344\277\241\345\215\217\350\256\256 V1.1.xlsx"
Binary files differ
diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/domain/HeightDepthDto.java b/zy-acs-common/src/main/java/com/zy/acs/common/domain/HeightDepthDto.java
new file mode 100644
index 0000000..add3672
--- /dev/null
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/domain/HeightDepthDto.java
@@ -0,0 +1,34 @@
+package com.zy.acs.common.domain;
+
+import com.zy.acs.framework.exception.CoolException;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class HeightDepthDto implements Serializable {
+
+    private static final long serialVersionUID = 1304095271854524735L;
+
+    // 楂樺害锛坢m锛�
+    private Short height;
+
+    // 娣卞害锛坢m锛�
+    private Short depth;
+
+    public HeightDepthDto() {
+    }
+
+    public HeightDepthDto(Number height, Number depth) {
+        this.height = toShort(height);
+        this.depth  = toShort(depth);
+    }
+
+    private static Short toShort(Number value) {
+        if (value == null) {
+            throw new CoolException("HeightDepthDto parameter is null");
+        }
+        return value.shortValue();
+    }
+
+}
diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToConveyorSta.java b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToConveyorSta.java
index b43b712..a0f25df 100644
--- a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToConveyorSta.java
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToConveyorSta.java
@@ -19,7 +19,9 @@
 
     @Override
     public byte[] writeToBytes() {
-        return Utils.reverse(RadixTools.shortToByte(this.height));
+        byte[] heightBytes = Utils.reverse(RadixTools.shortToByte(this.height));
+        byte[] depthBytes = Utils.reverse(RadixTools.shortToByte(this.depth));
+        return Utils.merge(heightBytes, depthBytes);
     }
 
     @Override
@@ -30,4 +32,7 @@
     // 鍙栬揣楂樺害
     private Short height;
 
+    // 鍙栬揣娣卞害
+    private Short depth;
+
 }
diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToShelvesLoc.java b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToShelvesLoc.java
index 1ea4a50..5c354e4 100644
--- a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToShelvesLoc.java
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyReleaseToShelvesLoc.java
@@ -19,7 +19,9 @@
 
     @Override
     public byte[] writeToBytes() {
-        return Utils.reverse(RadixTools.shortToByte(this.height));
+        byte[] heightBytes = Utils.reverse(RadixTools.shortToByte(this.height));
+        byte[] depthBytes = Utils.reverse(RadixTools.shortToByte(this.depth));
+        return Utils.merge(heightBytes, depthBytes);
     }
 
     @Override
@@ -30,4 +32,7 @@
     // 鍙栬揣楂樺害
     private Short height;
 
+    // 鍙栬揣娣卞害
+    private Short depth;
+
 }
diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromConveyorSta.java b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromConveyorSta.java
index 30c5611..d6ea0ac 100644
--- a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromConveyorSta.java
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromConveyorSta.java
@@ -19,7 +19,9 @@
 
     @Override
     public byte[] writeToBytes() {
-        return Utils.reverse(RadixTools.shortToByte(this.height));
+        byte[] heightBytes = Utils.reverse(RadixTools.shortToByte(this.height));
+        byte[] depthBytes = Utils.reverse(RadixTools.shortToByte(this.depth));
+        return Utils.merge(heightBytes, depthBytes);
     }
 
     @Override
@@ -30,4 +32,7 @@
     // 鍙栬揣楂樺害
     private Short height;
 
+    // 鍙栬揣娣卞害
+    private Short depth;
+
 }
diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromShelvesLoc.java b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromShelvesLoc.java
index 7ff3adc..88500f0 100644
--- a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromShelvesLoc.java
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/ReadyTakeFromShelvesLoc.java
@@ -19,7 +19,9 @@
 
     @Override
     public byte[] writeToBytes() {
-        return Utils.reverse(RadixTools.shortToByte(this.height));
+        byte[] heightBytes = Utils.reverse(RadixTools.shortToByte(this.height));
+        byte[] depthBytes = Utils.reverse(RadixTools.shortToByte(this.depth));
+        return Utils.merge(heightBytes, depthBytes);
     }
 
     @Override
@@ -30,4 +32,7 @@
     // 鍙栬揣楂樺害
     private Short height;
 
+    // 鍙栬揣娣卞害
+    private Short depth;
+
 }
diff --git a/zy-acs-flow/src/page/sta/StaList.jsx b/zy-acs-flow/src/page/sta/StaList.jsx
index 39e41cf..4c976b9 100644
--- a/zy-acs-flow/src/page/sta/StaList.jsx
+++ b/zy-acs-flow/src/page/sta/StaList.jsx
@@ -157,7 +157,7 @@
                     <NumberField source="rsvInCnt" label="table.field.sta.rsvInCnt" />
                     <NumberField source="rsvOutCnt" label="table.field.sta.rsvOutCnt" />
                     <NumberField source="offset" label="table.field.sta.offset" />
-                    <NumberField source="hight" label="table.field.sta.hight" />
+                    <NumberField source="hight" label="table.field.sta.height" />
                     <NumberField source="depth" label="table.field.sta.depth" />
                     <NumberField source="angle" label="table.field.sta.angle" />
                     {/* <TextField source="autoing" label="table.field.sta.autoing" />
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java
index 7e63edd..60c5160 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DemoController.java
@@ -1,6 +1,8 @@
 package com.zy.acs.manager.core;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.acs.common.domain.HeightDepthDto;
 import com.zy.acs.common.enums.AgvStatusType;
 import com.zy.acs.framework.common.R;
 import com.zy.acs.manager.core.integrate.conveyor.ConveyorStationService;
@@ -9,16 +11,17 @@
 import com.zy.acs.manager.core.service.PatrolService;
 import com.zy.acs.manager.manager.entity.*;
 import com.zy.acs.manager.manager.enums.FuncStaType;
-import com.zy.acs.manager.manager.enums.StaReserveType;
 import com.zy.acs.manager.manager.enums.StatusType;
 import com.zy.acs.manager.manager.service.*;
 import com.zy.acs.manager.system.controller.BaseController;
+import com.zy.acs.manager.system.service.ConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -50,6 +53,8 @@
 //    private ConveyorStationService siemensConveyorStationService;
     @Autowired
     private ConveyorStationService siemensConveyorStationService;
+    @Autowired
+    private ConfigService configService;
 
     @RequestMapping(value = "/system/info", method = {RequestMethod.GET, RequestMethod.POST})
     public R systemInfo() {
@@ -58,8 +63,12 @@
 
     @RequestMapping(value = "/system/demo", method = {RequestMethod.GET, RequestMethod.POST})
     public R demo() {
-        List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(8L, 42L);
-        return R.ok(usedBackpacks);
+        Double defaultShelfDepth = configService.getVal("defaultShelfDepth", Double.class);
+
+        defaultShelfDepth = Optional.ofNullable(defaultShelfDepth).orElse((double) 0);
+        Double ss = 10.0;
+        String jsonString = JSON.toJSONString(new HeightDepthDto(ss, defaultShelfDepth));
+        return R.ok(jsonString);
     }
 
     // http://localhost:8088/demo/auto/go/standby
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 16aa6ac..d1aa9eb 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -4,10 +4,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.zy.acs.common.constant.RedisConstant;
-import com.zy.acs.common.domain.AgvAction;
-import com.zy.acs.common.domain.AgvActionItem;
-import com.zy.acs.common.domain.AgvProtocol;
-import com.zy.acs.common.domain.BaseResult;
+import com.zy.acs.common.domain.*;
 import com.zy.acs.common.domain.protocol.*;
 import com.zy.acs.common.domain.protocol.action.*;
 import com.zy.acs.common.enums.*;
@@ -895,6 +892,8 @@
             long actionPrepareSts = ActionStsType.PREPARE.val();
 //            JSONObject storeDirection = configService.getVal("storeDirection", JSONObject.class);
             int angleOffsetVal = configService.getVal("mapAngleOffsetVal", Integer.class);
+            Double defaultShelfDepth = configService.getVal("defaultShelfDepth", Double.class);
+            defaultShelfDepth = Optional.ofNullable(defaultShelfDepth).orElse((double) 0);
             String agvNo = agvService.getAgvNo(agvId);
 //            if (!agvService.judgeEnable(agvId)) {
 //                throw new CoolException("AGV[" + agvNo + "]褰撳墠涓嶅彲鐢�...");
@@ -1171,7 +1170,7 @@
                                 ActionTypeType.ReadyTakeFromShelvesLoc.desc,    // 鍚嶇О
                                 (double) agvDirectionType.val,    // 灞炴�у��
                                 lastCode.getData(),    // 鍦伴潰鐮�
-                                String.valueOf(oriLoc.getOffset()),   // 鍔ㄤ綔鍙傛暟
+                                JSON.toJSONString(new HeightDepthDto(oriLoc.getOffset(), defaultShelfDepth)),   // 鍔ㄤ綔鍙傛暟
                                 ActionTypeType.ReadyTakeFromShelvesLoc.val(),    // 鍔ㄤ綔绫诲瀷
                                 actionPrepareSts,    // 鍔ㄤ綔杩涘害
                                 agvId,    // AGV
@@ -1234,7 +1233,7 @@
                                 ActionTypeType.ReadyReleaseToShelvesLoc.desc,    // 鍚嶇О
                                 (double) agvDirectionType.val,    // 灞炴�у��
                                 lastCode.getData(),    // 鍦伴潰鐮�
-                                String.valueOf(destLoc.getOffset()),   // 鍔ㄤ綔鍙傛暟
+                                JSON.toJSONString(new HeightDepthDto(destLoc.getOffset(), defaultShelfDepth)),   // 鍔ㄤ綔鍙傛暟
                                 ActionTypeType.ReadyReleaseToShelvesLoc.val(),    // 鍔ㄤ綔绫诲瀷
                                 actionPrepareSts,    // 鍔ㄤ綔杩涘害
                                 agvId,    // AGV
@@ -1279,7 +1278,7 @@
                                 ActionTypeType.ReadyTakeFromConveyorSta.desc,    // 鍚嶇О
                                 staWorkDirection,    // 灞炴�у��
                                 lastCode.getData(),    // 鍦伴潰鐮�
-                                String.valueOf(oriSta.getHeight()),   // 鍔ㄤ綔鍙傛暟
+                                JSON.toJSONString(new HeightDepthDto(oriSta.getHeight(), Optional.ofNullable(oriSta.getDepth()).orElse((double) 0))),   // 鍔ㄤ綔鍙傛暟
                                 ActionTypeType.ReadyTakeFromConveyorSta.val(),    // 鍔ㄤ綔绫诲瀷
                                 actionPrepareSts,    // 鍔ㄤ綔杩涘害
                                 agvId,    // AGV
@@ -1362,7 +1361,7 @@
                                 ActionTypeType.ReadyReleaseToConveyorSta.desc,    // 鍚嶇О
                                 staWorkDirection,    // 灞炴�у��
                                 lastCode.getData(),    // 鍦伴潰鐮�
-                                String.valueOf(destSta.getHeight()),   // 鍔ㄤ綔鍙傛暟
+                                JSON.toJSONString(new HeightDepthDto(destSta.getHeight(), Optional.ofNullable(destSta.getDepth()).orElse((double) 0))),   // 鍔ㄤ綔鍙傛暟
                                 ActionTypeType.ReadyReleaseToConveyorSta.val(),    // 鍔ㄤ綔绫诲瀷
                                 actionPrepareSts,    // 鍔ㄤ綔杩涘害
                                 agvId,    // AGV
@@ -1635,14 +1634,22 @@
                         agvAction.add(new AgvActionItem<>(ReadyTakeFromShelvesLoc.class)
                                 .setVal(action.getVal().intValue())
                                 .setQrCode(action.getCode())
-                                .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
+                                .bodySync((body) -> {
+                                    HeightDepthDto heightDepthDto = JSON.parseObject(action.getParams(), HeightDepthDto.class);
+                                    body.setHeight(heightDepthDto.getHeight());
+                                    body.setDepth(heightDepthDto.getDepth());
+                                })
                         );
                         break;
                     case ReadyTakeFromConveyorSta:
                         agvAction.add(new AgvActionItem<>(ReadyTakeFromConveyorSta.class)
                                 .setVal(action.getVal().intValue())
                                 .setQrCode(action.getCode())
-                                .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
+                                .bodySync((body) -> {
+                                    HeightDepthDto heightDepthDto = JSON.parseObject(action.getParams(), HeightDepthDto.class);
+                                    body.setHeight(heightDepthDto.getHeight());
+                                    body.setDepth(heightDepthDto.getDepth());
+                                })
                         );
                         break;
                     case ReadyTakeFromAgvSite:
@@ -1656,21 +1663,22 @@
                         agvAction.add(new AgvActionItem<>(ReadyReleaseToShelvesLoc.class)
                                 .setVal(action.getVal().intValue())
                                 .setQrCode(action.getCode())
-                                .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
-                        );
-                        break;
-                    case LoadPlatformLift:
-                        agvAction.add(new AgvActionItem<>(LoadPlatformLift.class)
-                                .setVal(action.getVal().intValue())
-                                .setQrCode(action.getCode())
-                                .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
+                                .bodySync((body) -> {
+                                    HeightDepthDto heightDepthDto = JSON.parseObject(action.getParams(), HeightDepthDto.class);
+                                    body.setHeight(heightDepthDto.getHeight());
+                                    body.setDepth(heightDepthDto.getDepth());
+                                })
                         );
                         break;
                     case ReadyReleaseToConveyorSta:
                         agvAction.add(new AgvActionItem<>(ReadyReleaseToConveyorSta.class)
                                 .setVal(action.getVal().intValue())
                                 .setQrCode(action.getCode())
-                                .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
+                                .bodySync((body) -> {
+                                    HeightDepthDto heightDepthDto = JSON.parseObject(action.getParams(), HeightDepthDto.class);
+                                    body.setHeight(heightDepthDto.getHeight());
+                                    body.setDepth(heightDepthDto.getDepth());
+                                })
                         );
                         break;
                     case ReadyReleaseToAgvSite:
@@ -1680,6 +1688,13 @@
                                 .bodySync(body -> body.setDepth((short) Double.parseDouble(action.getParams())))
                         );
                         break;
+                    case LoadPlatformLift:
+                        agvAction.add(new AgvActionItem<>(LoadPlatformLift.class)
+                                .setVal(action.getVal().intValue())
+                                .setQrCode(action.getCode())
+                                .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams())))
+                        );
+                        break;
                     case FinishPath:
                         agvAction.add(new AgvActionItem<>(FinishPathAction.class)
                                 .setQrCode(action.getCode())

--
Gitblit v1.9.1