From 6994981f40f1573f54de1a1e402a7743073cf38e Mon Sep 17 00:00:00 2001
From: fyxc <fyxc@qq.com>
Date: 星期四, 22 五月 2025 14:26:30 +0800
Subject: [PATCH] server commit file

---
 src/main/java/com/zy/asrs/controller/CrnController.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 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..cd3019a 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());     // 鐩爣搴撲綅灞�
+        boolean locSts = isLocSts(param.getRow().toString(), param.getBay().toString(), param.getLev().toString());
+        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());     // 鐩爣搴撲綅灞�
+        boolean locSts = isLocSts(param.getSourceRow().toString(), param.getSourceBay().toString(), param.getSourceLev().toString());
+        command.setTraySize(locSts);
         return crnControl(command)?R.ok():R.error();
     }
 
@@ -286,7 +291,11 @@
                 .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("搴撲綅绫诲瀷涓嶄竴鑷�");
+        }
+        command.setTraySize(loc.getLocType1() == 2);
+//        VersionUtils.locMoveCheckLocType(sourceLoc, loc);
         return crnControl(command)?R.ok():R.error();
     }
 
@@ -374,6 +383,44 @@
         command.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
         command.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
         return crnControl(command)?R.ok():R.error();
+    }
+
+    @ManagerAuth(memo = "鎭㈠鑱旀満浠诲姟")
+    @PostMapping("/operator/taskRe")
+    public R taskRe(CrnOperatorParam param){
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo());
+        if (crnThread == null) {
+            return R.error("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+        }
+        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+        if (crnProtocol == null) {
+            return R.error("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+        }
+
+        if (MessageQueue.offer(SlaveType.Crn, param.getCrnNo(), new Task(4, null))) {
+            return R.ok();
+        } else {
+            return R.error("鍛戒护涓嬪彂澶辫触");
+        }
+    }
+
+    @ManagerAuth(memo = "娓呴櫎鑱旀満浠诲姟")
+    @PostMapping("/operator/taskClear")
+    public R crnTaskClear(CrnOperatorParam param){
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo());
+        if (crnThread == null) {
+            return R.error("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+        }
+        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+        if (crnProtocol == null) {
+            return R.error("鍫嗗灈鏈轰笉鍦ㄧ嚎");
+        }
+
+        if (MessageQueue.offer(SlaveType.Crn, param.getCrnNo(), new Task(5, null))) {
+            return R.ok();
+        } else {
+            return R.error("鍛戒护涓嬪彂澶辫触");
+        }
     }
 
 //    @ManagerAuth(memo = "鏆傚仠")
@@ -501,5 +548,17 @@
         }
     }
 
+    private boolean isLocSts(String row,String bay,String lev){
+        String loc = String.format("%2d",row)+String.format("%3d",bay)+String.format("%2d",lev);
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", loc));
+        if (Cools.isEmpty(locMast)){
+            return false;
+        }
+        if (locMast.getLocType1() == 2){
+            return true;
+        }
+        return false;
+    }
+
 
 }

--
Gitblit v1.9.1