From 57eaf07f7bbca383c85580c97bdc6d1a7f5691f3 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 26 四月 2024 09:18:01 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 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 2734158..e1df620 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
@@ -31,6 +31,8 @@
import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
import com.zy.asrs.wcs.core.utils.RedisUtil;
import com.zy.asrs.wcs.rcs.entity.Device;
+import com.zy.asrs.wcs.system.entity.Dict;
+import com.zy.asrs.wcs.system.service.DictService;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -111,6 +113,11 @@
//绂荤嚎
shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE);
}
+
+ if(deviceStatus != 4 || deviceStatus != 6 || deviceStatus != 7 || deviceStatus != 8 || deviceStatus != 255 || deviceStatus != -1) {
+ shuttleProtocol.setMode(1);//鑷姩鐘舵��
+ }
+
shuttleProtocol.setDeviceStatus(deviceStatus);
//褰撳墠浜岀淮鐮�
shuttleProtocol.setCurrentCode(data.getString("groundCode") == null ? "0" : data.getString("groundCode"));
@@ -134,6 +141,8 @@
extend.setStatusDescription(data.getString("statusDescription"));//鐘舵�佹弿杩�
shuttleProtocol.setExtend(extend);//鎵╁睍瀛楁
+ //鏈�杩戜竴娆″湪绾挎椂闂�
+ shuttleProtocol.setLastOnlineTime(System.currentTimeMillis());
///璇诲彇鍥涘悜绌挎杞︾姸鎬�-end
//灏忚溅澶勪簬蹇欑鐘舵�侊紝灏嗘爣璁扮疆涓簍rue
@@ -208,6 +217,9 @@
@Override
public ShuttleProtocol getStatus() {
+ if (this.shuttleProtocol == null) {
+ return null;
+ }
return this.shuttleProtocol.clone();
}
@@ -318,6 +330,7 @@
JSONObject jsonObject = JSON.parseObject(response);
Integer code = jsonObject.getInteger("code");
if (code.equals(200)) {
+ this.shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿
return true;
}
} catch (Exception e) {
@@ -348,6 +361,7 @@
JSONObject jsonObject = JSON.parseObject(response);
Integer code = jsonObject.getInteger("code");
if (code.equals(200)) {
+ this.shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿
return true;
}
} catch (Exception e) {
@@ -378,6 +392,7 @@
JSONObject jsonObject = JSON.parseObject(response);
Integer code = jsonObject.getInteger("code");
if (code.equals(200)) {
+ this.shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿
return true;
}
} catch (Exception e) {
@@ -388,7 +403,9 @@
@Override
public synchronized boolean reset(ShuttleCommand command) {
- return false;
+ this.shuttleProtocol.setTaskNo(0);
+ this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
+ return true;
}
@Override
@@ -469,7 +486,6 @@
}
return Integer.valueOf(this.shuttleProtocol.getBatteryPower()) < chargeLine;
} catch (Exception e) {
- News.error("fail", e);
return false;
}
}
@@ -490,11 +506,22 @@
@Override
public boolean isChargingCompleted() {
+ Integer maxPower = 100;
+ DictService dictService = SpringUtils.getBean(DictService.class);
+ if (dictService != null) {
+ Dict chargeMaxValue = dictService.getOne(new LambdaQueryWrapper<Dict>()
+ .eq(Dict::getFlag, "chargeMaxValue")
+ .eq(Dict::getStatus, 1));
+ if (chargeMaxValue != null) {
+ maxPower = Integer.parseInt(chargeMaxValue.getValue());
+ }
+ }
+
if (this.shuttleProtocol.getBatteryPower() == null) {
return false;
}
- if (Integer.valueOf(this.shuttleProtocol.getBatteryPower()) >= 100) {
+ if (Integer.valueOf(this.shuttleProtocol.getBatteryPower()) >= maxPower) {
return true;
}
return false;
@@ -566,7 +593,7 @@
}
@Override
- public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed) {
+ public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes) {
HashMap<String, Object> body = new HashMap<>();
body.put("messageName", "runOrder");
body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
--
Gitblit v1.9.1