From 411c7bcfb64581060c459d6a124b58cafadd983a Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 11 四月 2024 20:35:37 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 48 insertions(+), 5 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 852ca7c..1f8cf24 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,6 +7,7 @@
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;
@@ -110,7 +111,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);
@@ -134,10 +136,10 @@
shuttleProtocol.setPakMk(true);
}
-// if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == ShuttleDeviceStatusType.IDLE.id) {
-// //灏忚溅绌洪棽鐘舵�併�佸皬杞︿换鍔$姸鎬佷负鏈煡锛岃瀹氭浘绂荤嚎杩囷紝闇�瑕佸浣嶆垚绌洪棽
-// shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE);
-// }
+ if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == 3) {
+ //灏忚溅绌洪棽鐘舵�併�佸皬杞︿换鍔$姸鎬佷负鏈煡锛岃瀹氭浘绂荤嚎杩囷紝闇�瑕佸浣嶆垚绌洪棽
+ shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE);
+ }
if (System.currentTimeMillis() - shuttleProtocol.getDeviceDataLog() > 1000 * 5) {
//閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰�
@@ -154,6 +156,30 @@
//鏇存柊閲囬泦鏃堕棿
shuttleProtocol.setDeviceDataLog(System.currentTimeMillis());
+ }
+
+ //灏嗗洓鍚戠┛姊溅鐘舵�佷繚瀛樿嚦鏁版嵁搴�
+ BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class);
+ BasShuttle basShuttle = shuttleService.getOne(new LambdaQueryWrapper<BasShuttle>()
+ .eq(BasShuttle::getShuttleNo, device.getDeviceNo())
+ .eq(BasShuttle::getHostId, device.getHostId()));
+ if (basShuttle == null) {
+ basShuttle = new BasShuttle();
+ //鍥涘悜绌挎杞﹀彿
+ basShuttle.setShuttleNo(Integer.valueOf(device.getDeviceNo()));
+ basShuttle.setStatus(1);
+ basShuttle.setDeleted(0);
+ basShuttle.setHostId(device.getHostId());
+ shuttleService.save(basShuttle);
+ }
+ //浠诲姟鍙�
+ basShuttle.setTaskNo(shuttleProtocol.getTaskNo().intValue());
+ //淇敼鏃堕棿
+ basShuttle.setUpdateTime(new Date());
+ //璁惧鐘舵��
+ basShuttle.setProtocol(JSON.toJSONString(shuttleProtocol));
+ if (shuttleService.updateById(basShuttle)) {
+ OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), device.getDeviceNo()));
}
} else {
OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆憑1}璇诲彇鍥涘悜绌挎杞︾姸鎬佷俊鎭け璐�", DateUtils.convert(new Date()), device.getDeviceNo()));
@@ -346,6 +372,16 @@
@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
@@ -417,6 +453,13 @@
@Override
public boolean isChargingCompleted() {
+ if (this.shuttleProtocol.getBatteryPower() == null) {
+ return false;
+ }
+
+ if (Integer.valueOf(this.shuttleProtocol.getBatteryPower()) >= 100) {
+ return true;
+ }
return false;
}
--
Gitblit v1.9.1