From 60201c8530488c402b8b44b215b8d48c60d6679a Mon Sep 17 00:00:00 2001 From: cpT <1@123> Date: 星期四, 19 六月 2025 19:43:21 +0800 Subject: [PATCH] #改造 --- src/main/java/com/zy/core/enums/RgvStatusType.java | 4 +- src/main/java/com/zy/core/thread/RgvThread.java | 22 +++++++++++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 27 +------------ src/main/java/com/zy/asrs/entity/BasRgvOpt.java | 15 +++++++ src/main/java/com/zy/core/model/command/RgvCommand.java | 23 +++++++++++ 5 files changed, 64 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/BasRgvOpt.java b/src/main/java/com/zy/asrs/entity/BasRgvOpt.java index 359c686..57cc786 100644 --- a/src/main/java/com/zy/asrs/entity/BasRgvOpt.java +++ b/src/main/java/com/zy/asrs/entity/BasRgvOpt.java @@ -158,7 +158,7 @@ this.wrkNo1 = taskNo; this.rgvNo = rgvNo; this.sendTime = now; - this.mode = command.getTaskModeType1().name(); + this.mode = command.getTaskModeTypeString(); this.sourceRow = rgvPoi;//灏忚溅褰撳墠浣嶇疆 this.sourceSta = command.getSourceStaNo1().intValue(); this.posSta = command.getDestinationStaNo1().intValue(); @@ -179,6 +179,19 @@ this.updateBy = 9999L; this.memo = "婕父浠诲姟瑙﹀彂"; } + public BasRgvOpt(Integer taskNo,int rgvNo,int rgvPoi) { + Date now = new Date(); + this.wrkNo1 = taskNo; + this.rgvNo = rgvNo; + this.sendTime = now; + this.mode = "浠诲姟鍙栨秷"; + this.sourceRow = rgvPoi;//灏忚溅褰撳墠浣嶇疆 + this.sourceSta = rgvPoi; + this.posSta = 0; + this.updateTime = now; + this.updateBy = 9999L; + this.memo = "浠诲姟鍙栨秷"; + } public BasRgvOpt(Integer wrkNo1,Integer wrkNo2,Integer rgvNo,Date sendTime,String mode,Integer sourceRow,Integer sourceBay,Integer sourceLev,Integer sourceSta,Integer posRow,Integer posBay,Integer posLev,Integer posSta,Integer response,Date updateTime,Long updateBy,String memo) { this.wrkNo1 = wrkNo1; diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index ff462b8..bf37cde 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -516,7 +516,7 @@ log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); continue; } - if (rgvProtocol.getStatusType() == RgvStatusType.WAITING || rgvProtocol.getStatusType() == RgvStatusType.WAITING101) { + if (rgvProtocol.getStatusType() == RgvStatusType.WAITING) { log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}", rgvProtocol.getRgvNo(), rgvProtocol.getStatusType(), rgvProtocol); } // 鍙湁褰揜GV绛夊緟WCS纭銆佽嚜鍔� @@ -577,15 +577,6 @@ } } catch (Exception e){} wrkMastService.updateById(wrkMast); - } else if (rgvProtocol.getStatusType() == RgvStatusType.WAITING101 - && rgvProtocol.getModeType() == RgvModeType.AUTO - && rgvProtocol.getTaskNo1() != 0 - ){ - boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); - if (!rgvComplete) { - log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�", rgvProtocol.getRgvNo()); - break; - } } } catch (Exception e) { log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�" + e); @@ -610,20 +601,9 @@ ) { RgvCommand rgvCommand = new RgvCommand(); - rgvCommand.setRgvNo(rgvProtocol.getRgvNo()); - rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣� - rgvCommand.setTaskNo1(rgvProtocol.getTaskNo1()); - rgvCommand.setTaskMode1(RgvTaskModeType.CANCEL); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨秷 - rgvCommand.setSourceStaNo1((short)-1); //宸ヤ綅1璧风偣 - rgvCommand.setDestinationStaNo1((short)-1); //宸ヤ綅1鐩爣绔欑偣 - rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭 - rgvCommand.setRgvSome((short) 1); - if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(4, rgvCommand))) { + if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(6, rgvCommand))) { // log.error("RGV鍙栨秷鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvProtocol.getRgvNo(), JSON.toJSON(rgvCommand)); -// wrkMast.setLogErrTime(new Date()); -// wrkMast.setLogErrMemo("RGV鍙栨秷鍛戒护涓嬪彂澶辫触锛孯GV鍙�={"+rgvProtocol.getRgvNo()+"}===>璺宠繃"); -// wrkMastService.updateById(wrkMast); continue; } log.info("RGV鍙栨秷鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvProtocol.getRgvNo(), JSON.toJSON(rgvCommand)); @@ -636,10 +616,9 @@ Date now = new Date(); wrkMast.setWrkSts(1L); - wrkMast.setRgvNo(null); + wrkMast.setRgvNo(0); wrkMast.setAppeTime(now); wrkMast.setLogErrTime(now); - wrkMast.setRgvNo(null); wrkMast.setLogErrMemo("RGV鐢宠鍙栨秷浠诲姟锛孯GV鍙�={"+rgvProtocol.getRgvNo()+"}锛屽彇娑堟椂闂达細"+now); diff --git a/src/main/java/com/zy/core/enums/RgvStatusType.java b/src/main/java/com/zy/core/enums/RgvStatusType.java index a2413db..1e306f5 100644 --- a/src/main/java/com/zy/core/enums/RgvStatusType.java +++ b/src/main/java/com/zy/core/enums/RgvStatusType.java @@ -13,10 +13,10 @@ Outbound_operation_in_progress(7, "鍑虹珯杩愯涓�","#21618C"), Outbound_completed(8, "鍑虹珯瀹屾垚","#85C1E9"), ROAM(11, "婕父","#95A5A6"), - CANCEL(12, "绛夊緟鍙栨秷","#95A5A6"), + CANCEL(101, "绛夊緟鍙栨秷","#95A5A6"), WALK(20, "璧拌","#F1C40F"), WAITING(100, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#AED6F1"), - WAITING101(101, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#AED6F1"), +// WAITING101(101, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#AED6F1"), SOS110(110, "鎶ヨ","#E74C3C"), SOS(999, "鏈煡","#FF0000") ; diff --git a/src/main/java/com/zy/core/model/command/RgvCommand.java b/src/main/java/com/zy/core/model/command/RgvCommand.java index d8dab77..43cbbca 100644 --- a/src/main/java/com/zy/core/model/command/RgvCommand.java +++ b/src/main/java/com/zy/core/model/command/RgvCommand.java @@ -107,6 +107,29 @@ this.taskMode2 = RgvTaskModeType.get(type2).id.shortValue(); } + public String getTaskModeTypeString() { + switch (taskModeType1){ + case PUT: + return "鏀捐揣"; + case NONE: + return "瀹屾垚"; + case FETCH: + return "鍙栬揣"; + case FETCH_PUT: + return "鍙栨斁璐�"; + case X_MOVE: + return "绔欎綅绉昏浆"; + case FETCH_5: + return "婊″彇"; + case PUT_6: + return "婊℃斁"; + case CANCEL: + return "娓呴敊"; + default: + return "鏈煡"; + } + } + public static void main(String[] args) { Date date = new Date(); Calendar cal = Calendar.getInstance(); diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 3a0abbd..df76d8e 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -139,6 +139,10 @@ Long aLong = (Long) task.getData(); rgvOpt(aLong); write5(aLong); + //宸ヤ綅1鍐欏叆鍙栨秷鏁版嵁 + case 6: + rgvOpt(); + write6(); break; default: break; @@ -374,6 +378,15 @@ log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒"); } } + private void rgvOpt() { + try{ + BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class); + BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosI()); + basRgvOptService.insert(basRgvOpt); + }catch (Exception e){ + log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒"); + } + } private boolean write(RgvCommand command) throws InterruptedException { if (null == command) { log.error("RGV鍐欏叆鍛戒护涓虹┖"); @@ -525,6 +538,15 @@ } } + private void write6(){ + try { + siemensNet.Write("DB24.11.1", true); + + } catch (Exception ignore) { + log.error("鍐欏叆RGV plc宸ヤ綅1婕父鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); + } + } + private boolean write3(RgvCommand command) throws InterruptedException { if (null == command) { log.error("RGV鍐欏叆鍛戒护涓虹┖"); -- Gitblit v1.9.1