From ed265ddfb8f08f69af064a9adf65fcbf06289ffe Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 11 二月 2025 14:07:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/impl/NyShuttleThread.java | 113 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 75 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java index dd31655..79eb4e1 100644 --- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java +++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java @@ -120,6 +120,9 @@ // //灏忚溅绌洪棽涓旀湁璺戝簱绋嬪簭 // shuttleAction.moveLoc(slave.getId()); + //婕旂ず妯″紡 + shuttleAction.demo(slave.getId()); + Thread.sleep(200); } catch (Exception e) { e.printStackTrace(); @@ -152,6 +155,9 @@ //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰� //淇濆瓨鏁版嵁璁板綍 DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class); + if (deviceDataLogService == null) { + return; + } DeviceDataLog deviceDataLog = new DeviceDataLog(); deviceDataLog.setOriginData(JSON.toJSONString(this.originDeviceData)); deviceDataLog.setWcsData(JSON.toJSONString(shuttleProtocol)); @@ -162,29 +168,8 @@ //鏇存柊閲囬泦鏃堕棿 shuttleProtocol.setDeviceDataLog(System.currentTimeMillis()); + OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); } - } - - //灏嗗洓鍚戠┛姊溅鐘舵�佷繚瀛樿嚦鏁版嵁搴� - BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class); - BasShuttle basShuttle = shuttleService.selectOne(new EntityWrapper<BasShuttle>() - .eq("shuttle_no", slave.getId())); - - if (basShuttle == null) { - basShuttle = new BasShuttle(); - //鍥涘悜绌挎杞﹀彿 - basShuttle.setShuttleNo(slave.getId()); - basShuttle.setStatus(1); - shuttleService.insert(basShuttle); - } - //浠诲姟鍙� - basShuttle.setWrkNo(shuttleProtocol.getTaskNo().intValue()); - //淇敼鏃堕棿 - basShuttle.setUpdateTime(new Date()); - //璁惧鐘舵�� - basShuttle.setDeviceStatus(JSON.toJSONString(shuttleProtocol)); - if (shuttleService.updateById(basShuttle)) { - OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); } } @@ -315,13 +300,21 @@ shuttleProtocol.setRunDirection(data.getString("runDir") == null ? "none" : data.getString("runDir")); //鏄惁涓哄厖鐢电姸鎬� shuttleProtocol.setHasCharge(data.getInteger("chargState") == 1 ? true : false); + //杩愯閫熷害 + shuttleProtocol.setSpeed(data.getInteger("speed")); //*********璇诲彇鎵╁睍瀛楁********** InnerSuhttleExtend extend = (InnerSuhttleExtend) shuttleProtocol.getExtend(); //绠″埗鐘舵�� extend.setSuspendState(data.getInteger("suspendState")); - //褰撳墠閫熷害 - extend.setSpeed(data.getInteger("speed")); + //鏈�楂樼數鑺數鍘�(mV) + extend.setMaxCellVoltage(data.getInteger("maxCellVoltage")); + //鏈�浣庣數鑺數鍘�(mV) + extend.setMinCellVoltage(data.getInteger("minCellVoltage")); + //鐢垫睜鐢靛帇 + extend.setVoltage(data.getInteger("voltage")); + //鍏呮斁鐢靛惊鐜鏁� + extend.setChargeCycleTimes(data.getInteger("chargeCycleTimes")); //鍓╀綑鐢甸噺 extend.setSurplusQuantity(data.getInteger("surplusQuantity")); //鎬荤數閲� @@ -333,7 +326,7 @@ ///璇诲彇鍥涘悜绌挎杞︾姸鎬�-end //灏忚溅澶勪簬杩愯涓紝灏嗘爣璁扮疆涓簍rue - if (shuttleProtocol.getDeviceStatus() == 1) { + if (shuttleProtocol.getDeviceStatus() == 0) { shuttleProtocol.setPakMk(true); } @@ -370,6 +363,9 @@ int removeIdx = -1; for (int i = 0; i < socketResults.size(); i++) { JSONObject socketResult = socketResults.get(i); + if (socketResult == null) { + continue; + } if (!socketResult.get("msgType").equals("requestMsg")) {//涓嶆槸璇锋眰鍐呭 continue; } @@ -399,7 +395,7 @@ socketResults.remove(removeIdx); } } catch (Exception e) { - e.printStackTrace(); +// e.printStackTrace(); } } @@ -576,6 +572,7 @@ && this.shuttleProtocol.getMode() == 1 && this.shuttleProtocol.getPakMk() && this.shuttleProtocol.getErrorCode().equals("0") + && this.shuttleProtocol.getTaskNo() == 0 && (this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.IDLE.id || this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.WAITING.id || this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.CHARGING_WAITING.id) @@ -810,6 +807,19 @@ } @Override + public boolean enableDemo(boolean enable) { + shuttleProtocol.setDemo(enable); + return true; + } + + @Override + public boolean offerSystemMsg(String format, Object... arguments) { + String msg = News.replace(format, arguments); + shuttleProtocol.setSystemMsg(msg); + return true; + } + + @Override public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes) { NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class); NyShuttleHttpCommand httpStandard = getHttpStandard(slave.getId(), taskNo); @@ -842,8 +852,8 @@ data.put("xp", xp); data.put("yp", yp); data.put("z", z); - data.put("x", mapNode.getYBase()); - data.put("y", mapNode.getXBase()); + data.put("x", mapNode.getXBase()); + data.put("y", mapNode.getYBase()); path.add(data); } @@ -851,7 +861,7 @@ LocMastService locMastService = SpringUtils.getBean(LocMastService.class); LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("code", distCodeNum)); + .eq("qr_code_value", distCodeNum)); if (locMast == null) { throw new CoolException("搴撲綅淇℃伅涓嶅瓨鍦�"); } @@ -946,8 +956,7 @@ String mapStr = JSON.toJSONString(map); LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("code", mapStr) - .eq("status", 1)); + .eq("qr_code_value", mapStr)); if (locMast == null) { throw new CoolException("鍦板潃鐮佷笉瀛樺湪"); } @@ -960,8 +969,8 @@ location.put("xp", row); location.put("yp", bay); location.put("z", lev); - location.put("x", mapNode.getYBase()); - location.put("y", mapNode.getXBase()); + location.put("x", mapNode.getXBase()); + location.put("y", mapNode.getYBase()); HashMap<String, Object> body = new HashMap<>(); body.put("responseType", "init");//澶嶄綅 @@ -1117,9 +1126,22 @@ // int x1 = Math.abs(y - 61) + 11; // //WCS绯荤粺X杞� => 鐗涚溂Y杞磋浆鎹㈠叕寮� // int y1 = x + 10; - int x1 = x + 10; - int y1 = y + 10; - return new int[]{y1, x1, z}; + +// int x1 = x + 10; +// int y1 = y + 10; + LocMastService locMastService = SpringUtils.getBean(LocMastService.class); + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("row1", x) + .eq("bay1", y) + .eq("lev1", z) + .eq("status", 1)); + if (locMast == null) { + return null; + } + + String qrCodeValue = locMast.getQrCodeValue(); + JSONObject data = JSON.parseObject(qrCodeValue); + return new int[]{data.getInteger("y"), data.getInteger("x"), z}; } @Data @@ -1132,9 +1154,24 @@ private Integer suspendState; /** - * 褰撳墠閫熷害锛屽崟浣峬m/s + * 鏈�楂樼數鑺數鍘�(mV) */ - private Integer speed; + private Integer maxCellVoltage; + + /** + * 鏈�浣庣數鑺數鍘�(mV)锛屼綆浜�2900mv闇�瑕佺珛鍗冲厖鐢� + */ + private Integer minCellVoltage; + + /** + * 鐢垫睜鐢靛帇锛坢V锛� + */ + private Integer voltage; + + /** + * 鍏呮斁鐢靛惊鐜鏁� + */ + private Integer chargeCycleTimes; /** * 鍓╀綑鐢甸噺/10(A) -- Gitblit v1.9.1