From d9505e143cdf452c3a33752b380ee1b3a410601d Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 16 十月 2025 14:48:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/impl/NyShuttleThread.java | 54 ++++++++++++++++++++++++++++++++++--------------------
1 files changed, 34 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
index e124f84..30b6c6c 100644
--- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -58,6 +58,7 @@
private List<JSONObject> socketReadResults = new ArrayList<>();
private List<DeviceMsgModel> socketResults = new ArrayList<>();
+ private Long requestReadTime = System.currentTimeMillis();
//鍘熷璁惧鏁版嵁
private Object originDeviceData;
@@ -199,7 +200,10 @@
//鎸囦护瓒呰繃2鏉★紝涓嶅啀涓嬪彂浠诲姟鐘舵�佽姹�
TreeSet<String> deviceCommandMsgListKey = deviceMsgUtils.getDeviceCommandMsgListKey(SlaveType.Shuttle, deviceConfig.getDeviceNo());
if (deviceCommandMsgListKey.size() < 2) {
- requestCommand(readStatusCommand);//璇锋眰鐘舵��
+ if ((System.currentTimeMillis() - requestReadTime) > 500) {
+ requestCommand(readStatusCommand);//璇锋眰鐘舵��
+ requestReadTime = System.currentTimeMillis();
+ }
}
if (this.socketReadResults.isEmpty()) {
@@ -949,6 +953,10 @@
List<NavigationMapType> restartCalcMapTypes = new ArrayList<>(mapTypes);
restartCalcMapTypes.add(NavigationMapType.SHUTTLE);
+ if (assignCommand.getTaskMode() == ShuttleTaskModeType.TRANSPORT.id) {
+ restartCalcMapTypes.add(NavigationMapType.DFX);
+ }
+
String currentLocNo = shuttleProtocol.getCurrentLocNo();
List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(currentLocNo, locNo, restartCalcMapTypes, assignCommand, this);
if (commands == null) {
@@ -985,7 +993,7 @@
}
@Override
- public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes) {
+ public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes, Boolean shuttleDirectionReverse) {
NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
NyShuttleHttpCommand httpStandard = getHttpStandard(deviceConfig.getDeviceNo(), taskNo);
NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
@@ -1005,8 +1013,14 @@
HashMap<String, Object> data = new HashMap<>();
String codeNum = NavigatePositionConvert.xyToPosition(node.getX(), node.getY(), node.getZ());
Map<String, Object> nyNode = navigateNodeToNyPointNode(NavigatePositionConvert.codeToNode(codeNum));
- int xp = Integer.parseInt(String.valueOf(nyNode.get("y")));
- int yp = Integer.parseInt(String.valueOf(nyNode.get("x")));
+
+ int xp = Integer.parseInt(String.valueOf(nyNode.get("x")));
+ int yp = Integer.parseInt(String.valueOf(nyNode.get("y")));
+ if (shuttleDirectionReverse) {
+ xp = Integer.parseInt(String.valueOf(nyNode.get("y")));
+ yp = Integer.parseInt(String.valueOf(nyNode.get("x")));
+ }
+
int z = Integer.parseInt(String.valueOf(nyNode.get("z")));
List<MapNode> mapNodes = mapData.get(node.getX());
@@ -1036,7 +1050,7 @@
}
@Override
- public ShuttleCommand getMoveLiftCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes, Boolean moveIn) {
+ public ShuttleCommand getMoveLiftCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes, Boolean moveIn, Boolean shuttleDirectionReverse) {
NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
NyShuttleHttpCommand httpStandard = getHttpStandard(deviceConfig.getDeviceNo(), taskNo);
NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
@@ -1045,11 +1059,12 @@
Integer taskId = getTaskId();
HashMap<String, Object> body = new HashMap<>();
- if (moveIn) {
- body.put("requestType", "intoLift");//杩涙彁鍗囨満
- }else {
- body.put("requestType", "outLift");//鍑烘彁鍗囨満
- }
+// if (moveIn) {
+// body.put("requestType", "intoLift");//杩涙彁鍗囨満
+// } else {
+// body.put("requestType", "outLift");//鍑烘彁鍗囨満
+// }
+ body.put("requestType", "move");//绉诲姩鍛戒护
body.put("taskId", taskId);//TaskID闇�瑕侀殢鏈�
body.put("path", path);
request.setBody(body);
@@ -1060,8 +1075,14 @@
HashMap<String, Object> data = new HashMap<>();
String codeNum = NavigatePositionConvert.xyToPosition(node.getX(), node.getY(), node.getZ());
Map<String, Object> nyNode = navigateNodeToNyPointNode(NavigatePositionConvert.codeToNode(codeNum));
- int xp = Integer.parseInt(String.valueOf(nyNode.get("y")));
- int yp = Integer.parseInt(String.valueOf(nyNode.get("x")));
+
+ int xp = Integer.parseInt(String.valueOf(nyNode.get("x")));
+ int yp = Integer.parseInt(String.valueOf(nyNode.get("y")));
+ if (shuttleDirectionReverse) {
+ xp = Integer.parseInt(String.valueOf(nyNode.get("y")));
+ yp = Integer.parseInt(String.valueOf(nyNode.get("x")));
+ }
+
int z = Integer.parseInt(String.valueOf(nyNode.get("z")));
List<MapNode> mapNodes = mapData.get(node.getX());
@@ -1326,13 +1347,6 @@
//WCS绯荤粺鍧愭爣杞墰鐪煎潗鏍�
private static int[] WCSXyzToNyXyz(int x, int y, int z) {
-// //WCS绯荤粺Y杞� => 鐗涚溂X杞磋浆鎹㈠叕寮�
-// int x1 = Math.abs(y - 61) + 11;
-// //WCS绯荤粺X杞� => 鐗涚溂Y杞磋浆鎹㈠叕寮�
-// int y1 = x + 10;
-
-// int x1 = x + 10;
-// int y1 = y + 10;
LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
.eq("row1", x)
@@ -1345,7 +1359,7 @@
String qrCodeValue = locMast.getQrCodeValue();
JSONObject data = JSON.parseObject(qrCodeValue);
- return new int[]{data.getInteger("y"), data.getInteger("x"), z};
+ return new int[]{data.getInteger("x"), data.getInteger("y"), z};
}
@Override
--
Gitblit v1.9.1