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