From a18215c69379bbdaecd95e25812e0796c32f9a57 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 16 四月 2024 14:46:20 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java | 61 +++++++++++++++++-------------
1 files changed, 35 insertions(+), 26 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
index dd65297..0f53a3c 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -1,10 +1,9 @@
package com.zy.asrs.wcs.core.action;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zy.asrs.wcs.common.ExecuteSupport;
-import com.zy.asrs.wcs.core.entity.BasShuttle;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.entity.Task;
import com.zy.asrs.wcs.core.model.NavigateNode;
@@ -27,6 +26,7 @@
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
+import org.aspectj.apache.bcel.generic.RET;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -46,6 +46,8 @@
private LocService locService;
@Autowired
private ShuttleDispatcher shuttleDispatcher;
+ @Autowired
+ private ObjectMapper objectMapper;
public synchronized boolean assignWork(Device device, ShuttleAssignCommand assignCommand) {
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getId().intValue());
@@ -88,10 +90,13 @@
return false;
}
- JSONObject jsonObject = JSON.parseObject(String.valueOf(obj));
- System.out.println(JSON.parseObject(String.valueOf(obj)));
- ShuttleRedisCommand redisCommand = JSON.parseObject(String.valueOf(obj), ShuttleRedisCommand.class);
- System.out.println(JSON.toJSONString(redisCommand));
+ ShuttleRedisCommand redisCommand = null;
+ try {
+ redisCommand = objectMapper.readValue(String.valueOf(obj), ShuttleRedisCommand.class);
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+
if (redisCommand == null) {
return false;
}
@@ -107,9 +112,17 @@
}
//鍒ゆ柇璁惧鏄惁绌洪棽
- if (!shuttleThread.isIdle(() -> {
- return shuttleProtocol.getTaskNo().equals(taskNo);
- })) {
+ if (!shuttleThread.isDeviceIdle()) {
+ return false;
+ }
+// if (!shuttleThread.isIdle(() -> {
+// return shuttleProtocol.getTaskNo().equals(taskNo);
+// })) {
+// return false;
+// }
+
+ //鍒ゆ柇宸ヤ綔鍙锋槸鍚︾浉鍚�
+ if (!shuttleProtocol.getTaskNo().equals(taskNo)) {
return false;
}
@@ -146,10 +159,11 @@
// 鎵樼洏椤跺崌
//鍒ゆ柇鏄惁椤跺崌鍒颁綅
if (shuttleProtocol.getHasLift()) {
- //鍒ゆ柇鏄惁鏈夌墿
- if (shuttleProtocol.getHasPallet()) {
- command.setComplete(true);
- }
+ command.setComplete(true);
+// //鍒ゆ柇鏄惁鏈夌墿
+// if (shuttleProtocol.getHasPallet()) {
+// command.setComplete(true);
+// }
}
} else if (command.getMode() == ShuttleCommandModeType.PALLET_DOWN.id) {
// 鎵樼洏涓嬮檷鍛戒护
@@ -181,12 +195,12 @@
// 绯荤粺浠诲姟
if (assignCommand.getAuto()) {
-// if (!assignCommand.getCharge()) {
-// //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
-// shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING);
-// }else {
-// shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING);
-// }
+ if (!assignCommand.getCharge()) {
+ //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
+ shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING);
+ }else {
+ shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING);
+ }
News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command));
// 鎵嬪姩浠诲姟
@@ -215,6 +229,7 @@
return false;
}
+ shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WORKING);
commandStep++;
//鏇存柊redis鏁版嵁
redisCommand.setCommandStep(commandStep);
@@ -386,12 +401,6 @@
result = shuttleThread.reset(command);
}
return result;
- }
-
- public static void main(String[] args) {
- String s = "{\"commandStep\":0,\"liftSecurityMk\":false,\"shuttleNo\":6,\"wrkNo\":30095,\"assignCommand\":{\"sourceLocNo\":\"3-1-1\",\"auto\":true,\"shuttleNo\":6,\"taskMode\":19,\"charge\":false,\"nodes\":[{\"isInflectionPoint\":false,\"f\":0,\"g\":0,\"h\":0,\"x\":3,\"y\":1,\"nodeZ\":1,\"z\":1,\"direction\":\"top\"},{\"isInflectionPoint\":false,\"f\":1,\"g\":0,\"h\":1,\"x\":2,\"y\":1,\"nodeZ\":1,\"z\":1},{\"isInflectionPoint\":false,\"f\":1,\"g\":1,\"h\":0,\"x\":1,\"y\":1,\"nodeZ\":1,\"z\":1}],\"locNo\":\"1-1-1\",\"taskNo\":30095,\"deviceId\":6,\"commands\":[{\"mode\":1,\"targetLocNo\":\"1-1-1\",\"shuttleNo\":78,\"nodes\":[{\"isInflectionPoint\":false,\"moveDistance\":1000,\"f\":0,\"g\":0,\"h\":0,\"x\":3,\"y\":1,\"nodeZ\":1,\"z\":1,\"direction\":\"top\"},{\"isInflectionPoint\":false,\"moveDistance\":1000,\"f\":1,\"g\":0,\"h\":1,\"x\":2,\"y\":1,\"nodeZ\":1,\"z\":1,\"direction\":\"top\"},{\"isInflectionPoint\":false,\"moveDistance\":1000,\"f\":1,\"g\":1,\"h\":0,\"x\":1,\"y\":1,\"nodeZ\":1,\"z\":1,\"direction\":\"top\"}],\"taskNo\":0,\"body\":\"{\\\"messageName\\\":\\\"runOrder\\\",\\\"nodeX\\\":1,\\\"nodeY\\\":1,\\\"msgTime\\\":\\\"2024-04-12 17:39:16\\\",\\\"nodeZ\\\":1,\\\"deviceNo\\\":78,\\\"taskId\\\":5}\",\"complete\":false}]}}";
- ShuttleRedisCommand shuttleRedisCommand = JSON.parseObject(s, ShuttleRedisCommand.class);
- System.out.println(shuttleRedisCommand);
}
}
--
Gitblit v1.9.1