From 9564b5da6e019b29b9779fcc13f9b82c9487befa Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 28 三月 2024 15:11:25 +0800 Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 151 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 0fb820e..6f679c5 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 @@ -8,9 +8,12 @@ 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.NavigateNode; import com.zy.asrs.wcs.core.model.command.ShuttleCommand; import com.zy.asrs.wcs.core.model.enums.ShuttleCommandModeType; +import com.zy.asrs.wcs.core.model.enums.ShuttleRunDirection; import com.zy.asrs.wcs.core.service.LocService; +import com.zy.asrs.wcs.core.utils.NavigateUtils; import com.zy.asrs.wcs.rcs.News; import com.zy.asrs.wcs.rcs.cache.OutputQueue; import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType; @@ -22,8 +25,7 @@ import java.text.MessageFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; +import java.util.*; @Slf4j @SuppressWarnings("all") @@ -164,17 +166,161 @@ } @Override - public synchronized boolean movePath() { + public synchronized boolean movePath(List<NavigateNode> nodes, Integer taskNo) { + try { + String loginToken = requestLoginToken(); + if (loginToken == null) { + return false; + } + + HashMap<String, Object> headers = new HashMap<>(); + headers.put("Authorization", "Bearer " + loginToken); + + ArrayList<HashMap<String, Object>> modes = new ArrayList<>(); + //鑾峰彇鍒嗘璺緞 + ArrayList<ArrayList<NavigateNode>> data = NavigateUtils.getSectionPath(nodes); + for (ArrayList<NavigateNode> sectionNodes : data) { + boolean flag = true; + int oper; + //寮�濮嬭矾寰� + NavigateNode startPath = nodes.get(0); + if (ShuttleRunDirection.get(startPath.getDirection()) == ShuttleRunDirection.LEFT + || ShuttleRunDirection.get(startPath.getDirection()) == ShuttleRunDirection.RIGHT) { + //姣嶈建鏂瑰悜 + oper = 5; + }else { + //瀛愯建鏂瑰悜 + oper = 6; + } + + for (NavigateNode node : sectionNodes) { + HashMap<String, Object> map = new HashMap<>(); + map.put("nodexX", node.getX()); + map.put("nodexY", node.getY()); + map.put("nodexZ", node.getZ()); + if (flag) { + map.put("oper", oper); + flag = false; + } + modes.add(map); + } + } + + + HashMap<String, Object> param = new HashMap<>(); + param.put("messageName", "runRoute"); + param.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + param.put("deviceNo", device.getDeviceNo()); + param.put("taskId", taskNo); + param.put("nodeNum", nodes.size()); + param.put("modes", modes); + String response = new HttpHandler.Builder() + .setUri(API_URL) + .setPath("/RDS/runRoute") + .setHeaders(headers) + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + return true; + } + } catch (Exception e) { + e.printStackTrace(); + } return false; } @Override - public synchronized boolean move() { + public synchronized boolean move(ShuttleCommand command) { + try { + String loginToken = requestLoginToken(); + if (loginToken == null) { + return false; + } + + HashMap<String, Object> headers = new HashMap<>(); + headers.put("Authorization", "Bearer " + loginToken); + + String response = new HttpHandler.Builder() + .setUri(API_URL) + .setPath("/RDS/runOrder") + .setHeaders(headers) + .setJson(command.getBody()) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + return true; + } + } catch (Exception e) { + e.printStackTrace(); + } return false; } @Override - public synchronized boolean lift() { + public synchronized boolean lift(ShuttleCommand command) { + try { + String loginToken = requestLoginToken(); + if (loginToken == null) { + return false; + } + + HashMap<String, Object> headers = new HashMap<>(); + headers.put("Authorization", "Bearer " + loginToken); + + String response = new HttpHandler.Builder() + .setUri(API_URL) + .setPath("/RDS/actionOrder") + .setHeaders(headers) + .setJson(command.getBody()) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + return true; + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + @Override + public synchronized boolean charge(ShuttleCommand command) { + try { + String loginToken = requestLoginToken(); + if (loginToken == null) { + return false; + } + + HashMap<String, Object> headers = new HashMap<>(); + headers.put("Authorization", "Bearer " + loginToken); + + String response = new HttpHandler.Builder() + .setUri(API_URL) + .setPath("/RDS/actionOrder") + .setHeaders(headers) + .setJson(command.getBody()) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + return true; + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + @Override + public synchronized boolean reset(ShuttleCommand command) { return false; } -- Gitblit v1.9.1