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