From d7a88293d5e823a3752e5ea4f8b9e9b11906e6bc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 12 四月 2024 17:23:45 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java | 40 +++++++++++++++++++++++++++++++++++++---
1 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java
index d4b9e83..600cd12 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java
@@ -7,10 +7,12 @@
import com.zy.asrs.framework.common.DateUtils;
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wcs.common.ExecuteSupport;
import com.zy.asrs.wcs.core.entity.BasShuttle;
import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.model.NavigateNode;
import com.zy.asrs.wcs.core.model.command.ShuttleCommand;
+import com.zy.asrs.wcs.core.model.command.ShuttleRedisCommand;
import com.zy.asrs.wcs.core.model.enums.ShuttleCommandModeType;
import com.zy.asrs.wcs.core.model.enums.ShuttleRunDirection;
import com.zy.asrs.wcs.core.service.BasShuttleService;
@@ -18,6 +20,7 @@
import com.zy.asrs.wcs.core.utils.NavigateUtils;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.OutputQueue;
+import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
import com.zy.asrs.wcs.rcs.entity.DeviceDataLog;
import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
@@ -32,6 +35,7 @@
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.concurrent.TimeUnit;
@Slf4j
@SuppressWarnings("all")
@@ -110,7 +114,8 @@
shuttleProtocol.setCurrentCode(data.getString("groundCode") == null ? "0" : data.getString("groundCode"));
//鐢垫睜鐢甸噺
shuttleProtocol.setBatteryPower(data.getString("battery") == null ? "0%" : data.getString("battery"));
-
+ //鏁呴殰
+ shuttleProtocol.setErrorCode(deviceStatus == 6 ? "1" : "0");
//鏄惁椤跺崌
shuttleProtocol.setHasLift(data.getInteger("palletStatus") == 1 ? true : false);
@@ -263,6 +268,7 @@
.setPath("/RDS/runRoute")
.setHeaders(headers)
.setJson(JSON.toJSONString(param))
+ .setTimeout(60, TimeUnit.SECONDS)
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
@@ -292,6 +298,7 @@
.setPath("/RDS/runOrder")
.setHeaders(headers)
.setJson(command.getBody())
+ .setTimeout(60, TimeUnit.SECONDS)
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
@@ -321,6 +328,7 @@
.setPath("/RDS/actionOrder")
.setHeaders(headers)
.setJson(command.getBody())
+ .setTimeout(60, TimeUnit.SECONDS)
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
@@ -350,6 +358,7 @@
.setPath("/RDS/actionOrder")
.setHeaders(headers)
.setJson(command.getBody())
+ .setTimeout(60, TimeUnit.SECONDS)
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
@@ -370,11 +379,20 @@
@Override
public boolean isIdle() {
+ return this.isIdle(null);
+ }
+
+ @Override
+ public boolean isIdle(ExecuteSupport support) {
+ if (null != support) {
+ if (!support.judgement()) {
+ return false;
+ }
+ }
if (this.shuttleProtocol.getIdle() == null
|| this.shuttleProtocol.getPakMk() == null
|| this.shuttleProtocol.getErrorCode() == null
|| this.shuttleProtocol.getProtocolStatus() == null
- || this.shuttleProtocol.getTaskNo() == null
) {
return false;
}
@@ -383,7 +401,6 @@
&& this.shuttleProtocol.getPakMk()
&& this.shuttleProtocol.getErrorCode().equals("0")
&& this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.IDLE.id
- && this.shuttleProtocol.getTaskNo() == 0
;
return res;
}
@@ -454,6 +471,23 @@
}
@Override
+ public List<NavigateNode> getMoveAdvancePath() {
+ ArrayList<NavigateNode> path = new ArrayList<>();
+ if (shuttleProtocol.getTaskNo() != 0) {
+ //瀛樺湪浠诲姟锛岃幏鍙栨寚浠�
+ Object object = redisUtil.get(DeviceRedisConstant.SHUTTLE_FLAG + shuttleProtocol.getTaskNo());
+ if (object != null) {
+ ShuttleRedisCommand redisCommand = JSON.parseObject(object.toString(), ShuttleRedisCommand.class);
+ List<NavigateNode> nodes = redisCommand.getAssignCommand().getNodes();//绌挎杞﹂璁¤矾寰�
+ if (!nodes.isEmpty()) {
+ path.addAll(nodes);
+ }
+ }
+ }
+ return path;
+ }
+
+ @Override
public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed) {
HashMap<String, Object> body = new HashMap<>();
body.put("messageName", "runOrder");
--
Gitblit v1.9.1