From 4440e9b72424e469527d8c7cd7c0c14dfb0b78a1 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 09 十月 2024 10:44:32 +0800 Subject: [PATCH] #mybatisplus配置 --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 50 insertions(+), 8 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java index a8f70d1..19e3251 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java @@ -212,11 +212,11 @@ shuttleProtocol.setErrorCode(data.getJSONArray("errCode").getString(0)); //鏄惁椤跺崌 - shuttleProtocol.setHasLift(data.getInteger("liftPosition") == 1 ? true : false); + shuttleProtocol.setHasLift(data.getInteger("liftPosition") == 2 ? true : false); //鏄惁鏈夋墭鐩� shuttleProtocol.setHasPallet(data.getInteger("loadState") == 1 ? true : false); //琛岄┒鏂瑰悜 - shuttleProtocol.setRunDirection(data.getString("runDir") == null ? "none" : data.getString("direction")); + shuttleProtocol.setRunDirection(data.getString("runDir") == null ? "none" : data.getString("runDir")); //鏄惁涓哄厖鐢电姸鎬� shuttleProtocol.setHasCharge(data.getInteger("chargState") == 1 ? true : false); @@ -373,6 +373,7 @@ NyShuttleHttpCommand httpCommand = JSON.parseObject(command.getBody(), NyShuttleHttpCommand.class); Map<String, Object> body = httpCommand.getRequest().getBody(); Object pathObj = body.get("path"); + int taskId = Integer.parseInt(body.get("taskId").toString()); List<JSONObject> path = JSON.parseArray(JSON.toJSONString(pathObj), JSONObject.class); ArrayList<NyShuttleHttpCommand> commandList = new ArrayList<>(); while (!path.isEmpty()) { @@ -380,7 +381,12 @@ if (path.size() > 10) { List<JSONObject> subList = path.subList(0, 10); list.addAll(subList); - subList.clear(); + + List<JSONObject> tmp = new ArrayList<>(); + for (int i = 10; i < path.size(); i++) { + tmp.add(path.get(i)); + } + path = tmp; }else { list.addAll(path); path.clear(); @@ -391,6 +397,7 @@ NyShuttleHttpCommand.NyRequest request = httpCommandCopy.getRequest(); bodyCopy.put("path", list); + bodyCopy.put("taskId", taskId++); request.setBody(bodyCopy); httpCommandCopy.setRequest(request); @@ -399,9 +406,9 @@ for (NyShuttleHttpCommand requestCommand : commandList) { JSONObject result = requestCommand(requestCommand); - if (result == null) { - return false;//璇锋眰澶辫触 - } +// if (result == null) { +// return false;//璇锋眰澶辫触 +// } this.shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿 } return true; @@ -448,6 +455,22 @@ setProtocolStatus(ShuttleProtocolStatusType.IDLE); enableMoveLoc(null, false); return true; + } + + @Override + public boolean updateLocation(ShuttleCommand command) { + try { + //鍙戝嚭璇锋眰 + NyShuttleHttpCommand httpCommand = JSON.parseObject(command.getBody(), NyShuttleHttpCommand.class); + JSONObject result = requestCommand(httpCommand); + if (result == null) { + return false;//璇锋眰澶辫触 + } + this.shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿 + return true; + } catch (IOException e) { + return false; + } } @Override @@ -551,7 +574,7 @@ if (shuttleService == null) { return false; } - BasShuttle basShuttle = shuttleService.getById(this.device.getDeviceNo()); + BasShuttle basShuttle = shuttleService.getOne(new LambdaQueryWrapper<BasShuttle>().eq(BasShuttle::getDeviceId, this.device.getId())); if (basShuttle == null) { return false; } @@ -572,7 +595,7 @@ return false; } - if (this.shuttleProtocol.getDeviceStatus() == 1 && this.shuttleProtocol.getHasCharge()) { + if (this.shuttleProtocol.getDeviceStatus() == 0 && this.shuttleProtocol.getHasCharge()) { //杩愯涓� && 鍏呯數涓� return true; } @@ -790,6 +813,25 @@ return command; } + @Override + public ShuttleCommand getUpdateLocationCommand(Integer taskNo, String locNo) { + NyShuttleHttpCommand httpStandard = getHttpStandard(Integer.parseInt(device.getDeviceNo()), taskNo); + NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); + + HashMap<String, Object> body = new HashMap<>(); + body.put("requestType", "updateFloor");//鏇存柊灞俍 + body.put("z", Utils.getLev(locNo));//鍧愭爣Z + request.setBody(body); + + httpStandard.setRequest(request); + + ShuttleCommand command = new ShuttleCommand(); + command.setShuttleNo(Integer.parseInt(this.device.getDeviceNo())); + command.setBody(JSON.toJSONString(httpStandard)); + command.setMode(ShuttleCommandModeType.UPDATE_LOCATION.id); + return command; + } + //鑾峰彇灏忚溅澶嶄綅鍝嶅簲鍛戒护 public ShuttleCommand getInitCommand(Integer taskNo, Integer code) { LocService locService = SpringUtils.getBean(LocService.class); -- Gitblit v1.9.1