From ad5c8494c4cb8ed6566aded7dd9596acd8729b50 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 28 三月 2024 09:23:29 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 48 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 f2a3918..0fb820e 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,15 @@
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.model.enums.ShuttleCommandModeType;
+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;
@@ -76,24 +82,29 @@
if (data != null) {
if (null == shuttleProtocol) {
shuttleProtocol = new ShuttleProtocol();
- shuttleProtocol.setShuttleNo(device.getDeviceNo());
+ shuttleProtocol.setShuttleNo(Integer.valueOf(device.getDeviceNo()));
shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
shuttleProtocol.setDevice(device);
}
//----------璇诲彇鍥涘悜绌挎杞︾姸鎬�-----------
- //灏忚溅蹇欑姸鎬佷綅
- shuttleProtocol.setDeviceStatus(data.getInteger("deviceStatus"));
+ //灏忚溅璁惧鐘舵��
+ Integer deviceStatus = data.getInteger("deviceStatus");
+ shuttleProtocol.setDeviceStatus(deviceStatus);
//褰撳墠浜岀淮鐮�
- shuttleProtocol.setCurrentCode(data.getString("deviceLocation") == null ? "0" : data.getString("deviceLocation"));
+ shuttleProtocol.setCurrentCode(data.getString("groundCode") == null ? "0" : data.getString("groundCode"));
//鐢垫睜鐢甸噺
shuttleProtocol.setBatteryPower(data.getString("battery") == null ? "0%" : data.getString("battery"));
//鏄惁椤跺崌
shuttleProtocol.setHasLift(data.getInteger("palletStatus") == 1 ? true : false);
+ //鏄惁鏈夋墭鐩�
+ shuttleProtocol.setHasPallet(data.getInteger("hasPallet") != 2 ? true : false);
//琛岄┒鏂瑰悜
shuttleProtocol.setRunDirection(data.getString("direction") == null ? "none" : data.getString("direction"));
+ //鏄惁涓哄厖鐢电姸鎬�
+ shuttleProtocol.setHasCharge((deviceStatus == 5 || deviceStatus == 13) ? true : false);
///璇诲彇鍥涘悜绌挎杞︾姸鎬�-end
@@ -148,6 +159,11 @@
}
@Override
+ public Device getDevice() {
+ return this.device;
+ }
+
+ @Override
public synchronized boolean movePath() {
return false;
}
@@ -162,6 +178,34 @@
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));
+ command.setMode(ShuttleCommandModeType.MOVE.id);
+ command.setTargetLocNo(loc.getLocNo());
+ return command;
+ }
+
+
//***************璁惧灞傞�氳-涓嶅悓鍘傚晢璁惧閫氳鏂规涓嶄竴鑷�***************
//璇锋眰鐧诲綍
--
Gitblit v1.9.1