From da4f2304da2646aa0336b492514655e7cc8a494a Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 11 六月 2025 12:49:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jx-gt-crn-wcs' into jx-gt-crn-wcs

---
 src/main/java/com/zy/asrs/controller/CrnController.java |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 4d02d12..e6c8399 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -35,6 +35,7 @@
 import com.zy.core.model.protocol.CrnProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.properties.SystemProperties;
+import com.zy.core.thread.RgvThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -248,6 +249,8 @@
         command.setDestinationPosX(param.getRow());     // 鐩爣搴撲綅鎺�
         command.setDestinationPosY(param.getBay());     // 鐩爣搴撲綅鍒�
         command.setDestinationPosZ(param.getLev());     // 鐩爣搴撲綅灞�
+        short locSts = isLocSts(param.getRow(), param.getBay(), param.getLev());
+        command.setTraySize(locSts);
         return crnControl(command)?R.ok():R.error();
     }
 
@@ -265,6 +268,8 @@
         command.setDestinationPosX(param.getRow());     // 鐩爣搴撲綅鎺�
         command.setDestinationPosY(param.getBay());     // 鐩爣搴撲綅鍒�
         command.setDestinationPosZ(param.getLev());     // 鐩爣搴撲綅灞�
+        short locSts = isLocSts(param.getSourceRow(), param.getSourceBay(), param.getSourceLev());
+        command.setTraySize(locSts);
         return crnControl(command)?R.ok():R.error();
     }
 
@@ -286,7 +291,16 @@
                 .eq("bay1", command.getSourcePosY()).eq("lev1", command.getSourcePosZ()));
         LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getDestinationPosX())
                 .eq("bay1", command.getDestinationPosY()).eq("lev1", command.getDestinationPosZ()));
-        VersionUtils.locMoveCheckLocType(sourceLoc, loc);
+        if (sourceLoc.getLocType1() != loc.getLocType1()){
+            return R.error("搴撲綅绫诲瀷涓嶄竴鑷�");
+        }
+        short locSts1 = isLocSts(param.getRow(), param.getBay(), param.getLev());
+        short locSts2 = isLocSts(param.getSourceRow(), param.getSourceBay(), param.getSourceLev());
+        if (locSts1 != locSts2){
+            return R.error("搴撲綅涓嶅尮閰�");
+        }
+        command.setTraySize(locSts1);
+//        VersionUtils.locMoveCheckLocType(sourceLoc, loc);
         return crnControl(command)?R.ok():R.error();
     }
 
@@ -375,6 +389,8 @@
         command.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
         return crnControl(command)?R.ok():R.error();
     }
+
+
 
 //    @ManagerAuth(memo = "鏆傚仠")
 //    @PostMapping("/operator/pause")
@@ -501,5 +517,16 @@
         }
     }
 
+    private short isLocSts(Short row,Short bay,Short lev){
+//        String loc = String.format("%2d",row)+String.format("%3d",bay)+String.format("%2d",lev);
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+                .eq("row1", row).eq("bay1", bay).eq("lev1", lev));
+        if (Cools.isEmpty(locMast)){
+            return 0;
+        }
+
+        return locMast.getLocType1();
+    }
+
 
 }

--
Gitblit v1.9.1