From 3951add7a40f76bb403ead8c0acffb970d1bfa5c Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 06 六月 2025 17:24:53 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/core/thread/RgvThread.java |   44 +++++++++++++---------
 src/main/java/com/zy/asrs/entity/BasRgvOpt.java |   28 ++++++++++++++
 2 files changed, 54 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/BasRgvOpt.java b/src/main/java/com/zy/asrs/entity/BasRgvOpt.java
index a12bd5a..c362734 100644
--- a/src/main/java/com/zy/asrs/entity/BasRgvOpt.java
+++ b/src/main/java/com/zy/asrs/entity/BasRgvOpt.java
@@ -5,6 +5,10 @@
 import com.baomidou.mybatisplus.annotations.TableField;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+
+import com.zy.core.enums.RgvTaskModeType;
+import com.zy.core.model.command.RgvCommand;
+import com.zy.core.model.protocol.RgvProtocol;
 import org.springframework.format.annotation.DateTimeFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -149,6 +153,30 @@
     private String memo;
 
     public BasRgvOpt() {}
+    public BasRgvOpt(RgvProtocol rgvProtocol, RgvCommand command) {
+        Date now = new Date();
+        this.wrkNo1 = rgvProtocol.getTaskNo1().intValue();
+        this.rgvNo = rgvProtocol.getRgvNo();
+        this.sendTime = now;
+        this.mode = command.getTaskModeType1().name();
+        this.sourceSta = command.getSourceStaNo1().intValue();
+        this.posSta = command.getDestinationStaNo1().intValue();
+        this.updateTime = now;
+        this.updateBy = 9999L;
+        this.memo = "浠诲姟涓嬪彂鑷姩鐢熸垚鎸囦护鏃ュ織";
+    }
+    public BasRgvOpt(RgvProtocol rgvProtocol, Long command) {
+        Date now = new Date();
+        this.wrkNo1 = rgvProtocol.getTaskNo1().intValue();
+        this.rgvNo = rgvProtocol.getRgvNo();
+        this.sendTime = now;
+        this.mode = "鍙栨斁璐�";
+        this.sourceSta = rgvProtocol.getRgvPosI();
+        this.posSta = command.intValue();
+        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/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index be09198..34ae595 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -111,7 +111,9 @@
                         break;
                     //宸ヤ綅1鍐欏叆鏁版嵁
                     case 2:
-                        write((RgvCommand) task.getData());
+                        RgvCommand command2 = (RgvCommand) task.getData();
+                        rgvOpt(command2);
+                        write(command2);
                         break;
                     // 澶嶄綅
                     case 3:
@@ -125,25 +127,14 @@
                         command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
                         command.setSourceStaNo1((short)0);     // 婧愮珯
                         command.setDestinationStaNo1((short)0);     // 鐩爣绔�
+                        rgvOpt(command);
                         write3(command);
-                        break;
-                    // 澶嶄綅
-                    case 4:
-                        RgvCommand command4 = (RgvCommand) task.getData();
-                        if (null == command4) {
-                            command4 = new RgvCommand();
-                        }
-                        command4.setRgvNo(slave.getId()); // RGV缂栧彿
-                        command4.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-                        command4.setAckFinish1((short) 1);  // 浠诲姟瀹屾垚纭浣�
-                        command4.setTaskMode1(RgvTaskModeType.X_MOVE); // 浠诲姟妯″紡
-                        command4.setSourceStaNo1((short)0);     // 婧愮珯
-                        command4.setDestinationStaNo1((short)0);     // 鐩爣绔�
-                        write3(command4);
                         break;
                     // 婕父
                     case 5:
-                        write5((Long) task.getData());
+                        Long aLong = (Long) task.getData();
+                        rgvOpt(aLong);
+                        write5(aLong);
                         break;
                     default:
                         break;
@@ -307,8 +298,7 @@
                             basRgvErrLogService.insert(basRgvErrLog);
                         }
                     } catch (Exception e){
-                        BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
-
+                        log.error("RGV寮傚父淇℃伅淇濆瓨澶辫触锛侊紒");
                     }
 
                 } catch (Exception ignore) {
@@ -331,6 +321,24 @@
     /**
      * 宸ヤ綅1鍐欏叆鏁版嵁
      */
+    private void rgvOpt(RgvCommand command) {
+        try{
+            BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
+            BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol, command);
+            basRgvOptService.insert(basRgvOpt);
+        }catch (Exception e){
+            log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
+        }
+    }
+    private void rgvOpt(Long command) {
+        try{
+            BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
+            BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol, command);
+            basRgvOptService.insert(basRgvOpt);
+        }catch (Exception e){
+            log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
+        }
+    }
     private boolean write(RgvCommand command) throws InterruptedException {
         if (null == command) {
             log.error("RGV鍐欏叆鍛戒护涓虹┖");

--
Gitblit v1.9.1