From ddb1d3cc65d174d768912ee08f4d08d719c197d0 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期日, 11 五月 2025 17:54:59 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/RgvController.java |   79 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 69 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 83e6cd1..4dca465 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -102,7 +102,7 @@
     @ManagerAuth(memo = "灏忚溅琛岃蛋")
     public R rgvRunWalk(@RequestParam(defaultValue = "0")  Integer rgvNo,
                             @RequestParam(defaultValue = "0")  Integer taskNo,
-                            @RequestParam(defaultValue = "0")  Integer rgvStaNo,
+                            @RequestParam(defaultValue = "0")  Integer rgvStaNoPut,
                             @RequestParam(defaultValue = "0")  Long rgvPosDestination
     ) {
         if (rgvNo==null || rgvNo==0){
@@ -111,11 +111,11 @@
         if (taskNo==null || taskNo==0){
             return R.error("浣滀笟鍙疯濉啓");
         }
-        if ((rgvStaNo == null || rgvStaNo == 0) && (rgvPosDestination==null || rgvPosDestination==0L)){
+        if ((rgvStaNoPut == null || rgvStaNoPut == 0) && (rgvPosDestination==null || rgvPosDestination==0L)){
             return R.error("鐩爣绔欑偣璇峰~鍐�");
         }
         if (rgvPosDestination == null || rgvPosDestination == 0){
-            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNo));
+            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
             rgvPosDestination = basDevpPosition.getPlcPosition();
         }
         RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
@@ -150,7 +150,7 @@
     @ManagerAuth(memo = "灏忚溅鏀捐揣")
     public R rgvPutWalk(@RequestParam(defaultValue = "0")  Integer rgvNo,
                         @RequestParam(defaultValue = "0")  Integer taskNo,
-                        @RequestParam(defaultValue = "0")  Integer rgvStaNo,
+                        @RequestParam(defaultValue = "0")  Integer rgvStaNoPut,
                         @RequestParam(defaultValue = "0")  Long rgvPosDestination
     ) {
         if (rgvNo==null || rgvNo==0){
@@ -159,7 +159,7 @@
         if (taskNo==null || taskNo==0){
             return R.error("浣滀笟鍙疯濉啓");
         }
-        if (rgvStaNo == null || rgvStaNo == 0){
+        if (rgvStaNoPut == null || rgvStaNoPut == 0){
             return R.error("鐩爣绔欑偣璇峰~鍐�");
         }
         RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
@@ -173,7 +173,7 @@
                 return R.error("瀛樺湪鎵ц涓换鍔★紝璇峰厛澶勭悊锛侊紒锛�");
             }
 
-            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNo));
+            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
             //鎵ц
             issuedPut.setTaskNo(Long.valueOf(taskNo));
             issuedPut.setTaskStatus(3);
@@ -194,7 +194,7 @@
     @ManagerAuth(memo = "灏忚溅鍙栬揣")
     public R rgvTakeWalk(@RequestParam(defaultValue = "0") Integer rgvNo,
                         @RequestParam(defaultValue = "0") Integer taskNo,
-                        @RequestParam(defaultValue = "0") Integer rgvStaNo,
+                        @RequestParam(defaultValue = "0") Integer rgvStaNoTake,
                         @RequestParam(defaultValue = "0") Long rgvPosDestination
     ) {
         if (rgvNo==null || rgvNo==0){
@@ -203,8 +203,8 @@
         if (taskNo==null || taskNo==0){
             return R.error("浣滀笟鍙疯濉啓");
         }
-        if (rgvStaNo == null || rgvStaNo == 0){
-            return R.error("鐩爣绔欑偣璇峰~鍐�");
+        if (rgvStaNoTake == null || rgvStaNoTake == 0){
+            return R.error("鍙栬揣绔欑偣璇峰~鍐�");
         }
         RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
         TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache();
@@ -216,7 +216,7 @@
                 return R.error("瀛樺湪鎵ц涓换鍔★紝璇峰厛澶勭悊锛侊紒锛�");
             }
 
-            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNo));
+            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoTake));
             //鎵ц
             issuedTake.setTaskNo(Long.valueOf(taskNo));
             issuedTake.setTaskStatus(2);
@@ -232,4 +232,63 @@
 
         return R.ok("浠诲姟鐢熸垚鎴愬姛");
     }
+
+    @PostMapping("/run/TakeAndPut")//Take  Put  Walk
+    @ManagerAuth(memo = "灏忚溅鍙栬揣")
+    public R rgvTakeAndPut(@RequestParam(defaultValue = "0") Integer rgvNo,
+                         @RequestParam(defaultValue = "0") Integer taskNo,
+                         @RequestParam(defaultValue = "0") Integer rgvStaNoTake,
+                         @RequestParam(defaultValue = "0") Integer rgvStaNoPut,
+                         @RequestParam(defaultValue = "0") Long rgvPosDestination
+    ) {
+        if (rgvNo==null || rgvNo==0){
+            return R.error("璇烽�夋嫨灏忚溅");
+        }
+        if (taskNo==null || taskNo==0){
+            return R.error("浣滀笟鍙疯濉啓");
+        }
+        if (rgvStaNoTake == null || rgvStaNoTake == 0){
+            return R.error("鍙栬揣绔欑偣璇峰~鍐�");
+        }
+        if (rgvStaNoPut == null || rgvStaNoPut == 0){
+            return R.error("鏀捐揣绔欑偣璇峰~鍐�");
+        }
+        RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
+        TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache();
+
+        TaskProtocol issuedTake = new TaskProtocol();
+        TaskProtocol issuedPut = new TaskProtocol();
+        try {
+            ConcurrentHashMap<String, TaskProtocol> allTaskProtocol = taskProtocolCache.getAllTaskProtocol();
+            if (allTaskProtocol.size() > 0) {
+                return R.error("瀛樺湪鎵ц涓换鍔★紝璇峰厛澶勭悊锛侊紒锛�");
+            }
+
+            BasDevpPosition basDevpPositionTake = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoTake));
+            //鎵ц
+            issuedTake.setTaskNo(Long.valueOf(taskNo));
+            issuedTake.setTaskStatus(2);
+            issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
+            issuedTake.setTargetPosition(basDevpPositionTake.getPlcPosition());
+            issuedTake.setIsRunning(1);
+            issuedTake.setDirection(basDevpPositionTake.getRgvSign()==1);
+
+            BasDevpPosition basDevpPositionPut = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
+            //鎵ц
+            issuedPut.setTaskNo(Long.valueOf(taskNo));
+            issuedPut.setTaskStatus(3);
+            issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
+            issuedPut.setTargetPosition(basDevpPositionPut.getPlcPosition());
+            issuedPut.setIsRunning(1);
+            issuedPut.setDirection(basDevpPositionPut.getRgvSign()==1);
+
+            taskProtocolCache.updateTaskProtocol(issuedTake);
+            taskProtocolCache.updateTaskProtocol(issuedPut);
+
+        } catch (Exception e) {
+            return R.error("浠诲姟鐢熸垚澶辫触"+e.getMessage());
+        }
+
+        return R.ok("浠诲姟鐢熸垚鎴愬姛");
+    }
 }

--
Gitblit v1.9.1