From 80f471864deb69ec010d0c10f59b37b15234dfdd Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 26 三月 2024 16:20:22 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 53 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 2780f6e..1091fc4 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
@@ -2,9 +2,14 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.utils.HttpHandler;
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.core.entity.Loc;
+import com.zy.asrs.wcs.core.model.command.ShuttleCommand;
+import com.zy.asrs.wcs.core.service.LocService;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.OutputQueue;
import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
@@ -85,15 +90,15 @@
//灏忚溅蹇欑姸鎬佷綅
shuttleProtocol.setDeviceStatus(data.getInteger("deviceStatus"));
//褰撳墠浜岀淮鐮�
- shuttleProtocol.setCurrentCode(data.getString("deviceLocation"));
+ shuttleProtocol.setCurrentCode(data.getString("deviceLocation") == null ? "0" : data.getString("deviceLocation"));
//鐢垫睜鐢甸噺
- shuttleProtocol.setBatteryPower(data.getString("battery"));
+ shuttleProtocol.setBatteryPower(data.getString("battery") == null ? "0%" : data.getString("battery"));
//鏄惁椤跺崌
shuttleProtocol.setHasLift(data.getInteger("palletStatus") == 1 ? true : false);
//琛岄┒鏂瑰悜
- shuttleProtocol.setRunDirection(data.getString("direction"));
+ shuttleProtocol.setRunDirection(data.getString("direction") == null ? "none" : data.getString("direction"));
///璇诲彇鍥涘悜绌挎杞︾姸鎬�-end
@@ -147,6 +152,51 @@
return this.shuttleProtocol;
}
+ @Override
+ public Device getDevice() {
+ return this.device;
+ }
+
+ @Override
+ public synchronized boolean movePath() {
+ return false;
+ }
+
+ @Override
+ public synchronized boolean move() {
+ return false;
+ }
+
+ @Override
+ public synchronized boolean lift() {
+ return false;
+ }
+
+ @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");
+ body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ body.put("deviceNo", Integer.parseInt(this.device.getDeviceNo()));
+ body.put("taskId", taskNo);
+
+ LocService locService = SpringUtils.getBean(LocService.class);
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>()
+ .eq(Loc::getCode, distCodeNum)
+ .eq(Loc::getHostId, this.device.getHostId()));
+ if (loc == null) {
+ throw new CoolException("搴撲綅淇℃伅涓嶅瓨鍦�");
+ }
+ body.put("nodeX", loc.getRow());
+ body.put("nodeY", loc.getBay());
+ body.put("nodeZ", loc.getLev());
+
+ ShuttleCommand command = new ShuttleCommand();
+ command.setShuttleNo(Integer.parseInt(this.device.getDeviceNo()));
+ command.setBody(JSON.toJSONString(body));
+ return command;
+ }
+
//***************璁惧灞傞�氳-涓嶅悓鍘傚晢璁惧閫氳鏂规涓嶄竴鑷�***************
--
Gitblit v1.9.1