From 18d258c246cb9e4812964968769eb32fa990065a Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 11 七月 2024 16:44:00 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java | 15 +++++++++++----
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java | 15 +++++++++++----
2 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
index 8e0c161..44bcacd 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -323,8 +323,10 @@
shuttleDispatcher.generateMoveTask(device, start.getLocNo());
}else {
//鍦ㄨ捣鐐逛綅缃紝璋冨害鍘荤洰鏍囦綅缃�
- shuttleDispatcher.generateMoveTask(device, target.getLocNo());
- shuttleProtocol.setYCurrent(shuttleProtocol.getYCurrent() + 1);//鍒囨崲y杞�
+ Task task = shuttleDispatcher.generateMoveTask(device, target.getLocNo());
+ if (task != null) {
+ shuttleProtocol.setYCurrent(shuttleProtocol.getYCurrent() + 1);//鍒囨崲y杞�
+ }
if(shuttleProtocol.getYCurrent() > shuttleProtocol.getYTarget()) {
//y杞翠篃璺戝畬浜嗭紝缁撴潫璺戝簱
@@ -362,8 +364,10 @@
shuttleDispatcher.generateMoveTask(device, start.getLocNo());
}else {
//鍦ㄨ捣鐐逛綅缃紝璋冨害鍘荤洰鏍囦綅缃�
- shuttleDispatcher.generateMoveTask(device, target.getLocNo());
- shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);//鍒囨崲x杞�
+ Task task = shuttleDispatcher.generateMoveTask(device, target.getLocNo());
+ if (task != null) {
+ shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);//鍒囨崲x杞�
+ }
if(shuttleProtocol.getXCurrent() > shuttleProtocol.getXTarget()) {
//y杞翠篃璺戝畬浜嗭紝缁撴潫璺戝簱
@@ -486,6 +490,7 @@
return;
}
}
+ return;
}
//璋冨害鍘诲簱浣�
@@ -644,6 +649,8 @@
} else if (command.getMode() == ShuttleCommandModeType.UPDATE_LOCATION.id) {//鏇存柊鍧愭爣
result = shuttleThread.updateLocation(command);
}
+
+ News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙戯紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", device.getDeviceNo(), JSON.toJSON(command));
return result;
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
index 10176d4..891794a 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
@@ -373,6 +373,7 @@
NyShuttleHttpCommand httpCommand = JSON.parseObject(command.getBody(), NyShuttleHttpCommand.class);
Map<String, Object> body = httpCommand.getRequest().getBody();
Object pathObj = body.get("path");
+ int taskId = Integer.parseInt(body.get("taskId").toString());
List<JSONObject> path = JSON.parseArray(JSON.toJSONString(pathObj), JSONObject.class);
ArrayList<NyShuttleHttpCommand> commandList = new ArrayList<>();
while (!path.isEmpty()) {
@@ -380,7 +381,12 @@
if (path.size() > 10) {
List<JSONObject> subList = path.subList(0, 10);
list.addAll(subList);
- subList.clear();
+
+ List<JSONObject> tmp = new ArrayList<>();
+ for (int i = 10; i < path.size(); i++) {
+ tmp.add(path.get(i));
+ }
+ path = tmp;
}else {
list.addAll(path);
path.clear();
@@ -391,6 +397,7 @@
NyShuttleHttpCommand.NyRequest request = httpCommandCopy.getRequest();
bodyCopy.put("path", list);
+ bodyCopy.put("taskId", taskId++);
request.setBody(bodyCopy);
httpCommandCopy.setRequest(request);
@@ -399,9 +406,9 @@
for (NyShuttleHttpCommand requestCommand : commandList) {
JSONObject result = requestCommand(requestCommand);
- if (result == null) {
- return false;//璇锋眰澶辫触
- }
+// if (result == null) {
+// return false;//璇锋眰澶辫触
+// }
this.shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿
}
return true;
--
Gitblit v1.9.1