From 04a3dc92f15bbcaaadbca0f2e6b8fb1dcd31e338 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期四, 06 三月 2025 13:45:30 +0800
Subject: [PATCH] 堆垛机移库任务下发坐标修改

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

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index eb9a0dd..cbb8c5c 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -130,7 +130,7 @@
             vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
             vo.setLiftPos(crnProtocol.getLiftPosType().desc);
             vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
-            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
+            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
             if (crnProtocol.getAlarm() > 0) {
                 BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
                 vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
@@ -165,9 +165,9 @@
         vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
         vo.setLiftPos(crnProtocol.getLiftPosType().desc);
         vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
-        vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
-        if (crnProtocol.getAlarm1() > 0) {
-            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+        vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
+        if (crnProtocol.getAlarm() > 0) {
+            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
             vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
         }
         return R.ok().add(vo);
@@ -307,9 +307,9 @@
             vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
             vo.setLiftPos(crnProtocol.getLiftPosType().desc);
             vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
-            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
-            if (crnProtocol.getAlarm1() > 0) {
-                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
+            if (crnProtocol.getAlarm() > 0) {
+                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
                 vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
             }
             vo.setInEnable(basCrnp.getInEnable());
@@ -376,21 +376,21 @@
     @ManagerAuth(memo = "鍏ュ簱")
     @PostMapping("/crn/operator/put")
     public R crnPut(CrnOperatorParam param){
-        // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        // 绯荤粺杩愯鐘舵�佸垽鏂�
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
         command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
         command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
-        command.setSourcePosZ(param.getSourceRow());     // 婧愬簱浣嶆帓
-        command.setSourcePosX(param.getSourceBay());     // 婧愬簱浣嶅垪
-        command.setSourcePosY(param.getSourceLev());     // 婧愬簱浣嶅眰
-        command.setDestinationPosZ(param.getRow());     // 鐩爣搴撲綅鎺�
-        command.setDestinationPosX(param.getBay());     // 鐩爣搴撲綅鍒�
-        command.setDestinationPosY(param.getLev());     // 鐩爣搴撲綅灞�
+        command.setSourcePosX(param.getSourceRow());     // 婧愬簱浣嶆帓
+        command.setSourcePosY(param.getSourceBay());     // 婧愬簱浣嶅垪
+        command.setSourcePosZ(param.getSourceLev());     // 婧愬簱浣嶅眰
+        command.setDestinationPosX(param.getRow());     // 鐩爣搴撲綅鎺�
+        command.setDestinationPosY(param.getBay());     // 鐩爣搴撲綅鍒�
+        command.setDestinationPosZ(param.getLev());     // 鐩爣搴撲綅灞�
         command.setCommand((short)1);
         return crnControl(command)?R.ok():R.error();
     }
@@ -399,20 +399,21 @@
     @PostMapping("/crn/operator/take")
     public R crnTake(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
         command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskMode(CrnTaskModeType.PAKOUT); // 浠诲姟妯″紡
-        command.setSourcePosZ(param.getSourceRow());     // 婧愬簱浣嶆帓
-        command.setSourcePosX(param.getSourceBay());     // 婧愬簱浣嶅垪
-        command.setSourcePosY(param.getSourceLev());     // 婧愬簱浣嶅眰
-        command.setDestinationPosZ(param.getRow());     // 鐩爣搴撲綅鎺�
-        command.setDestinationPosX(param.getBay());     // 鐩爣搴撲綅鍒�
-        command.setDestinationPosY(param.getLev());     // 鐩爣搴撲綅灞�
+        command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
+        command.setSourcePosX(param.getSourceRow());     // 婧愬簱浣嶆帓
+        command.setSourcePosY(param.getSourceBay());     // 婧愬簱浣嶅垪
+        command.setSourcePosZ(param.getSourceLev());     // 婧愬簱浣嶅眰
+        command.setDestinationPosX(param.getRow());     // 鐩爣搴撲綅鎺�
+        command.setDestinationPosY(param.getBay());     // 鐩爣搴撲綅鍒�
+        command.setDestinationPosZ(param.getLev());     // 鐩爣搴撲綅灞�
+        command.setCommand((short)1);
         return crnControl(command)?R.ok():R.error();
     }
 
@@ -420,26 +421,30 @@
     @PostMapping("/crn/operator/stockMove")
     public R crnStockMove(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
         command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
         command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡
-        command.setSourcePosZ(param.getSourceRow());     // 婧愬簱浣嶆帓
-        command.setSourcePosX(param.getSourceBay());     // 婧愬簱浣嶅垪
-        command.setSourcePosY(param.getSourceLev());     // 婧愬簱浣嶅眰
-        command.setDestinationPosZ(param.getRow());     // 鐩爣搴撲綅鎺�
-        command.setDestinationPosX(param.getBay());     // 鐩爣搴撲綅鍒�
-        command.setDestinationPosY(param.getLev());     // 鐩爣搴撲綅灞�
+        command.setSourcePosX(param.getSourceRow());     // 婧愬簱浣嶆帓
+        command.setSourcePosY(param.getSourceBay());     // 婧愬簱浣嶅垪
+        command.setSourcePosZ(param.getSourceLev());     // 婧愬簱浣嶅眰
+        command.setDestinationPosX(param.getRow());     // 鐩爣搴撲綅鎺�
+        command.setDestinationPosY(param.getBay());     // 鐩爣搴撲綅鍒�
+        command.setDestinationPosZ(param.getLev());     // 鐩爣搴撲綅灞�
         command.setCommand((short)1);
         LocMast sourceLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getSourcePosX())
                 .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);
+        try {
+            VersionUtils.locMoveCheckLocType(sourceLoc, loc);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
         return crnControl(command)?R.ok():R.error();
     }
 
@@ -447,9 +452,9 @@
     @PostMapping("/crn/operator/siteMove")
     public R crnSiteMove(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -468,9 +473,9 @@
     @PostMapping("/crn/operator/bacOrigin")
     public R crnBacOrigin(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -489,9 +494,9 @@
     @PostMapping("/crn/operator/reverseOrigin")
     public R reverseOrigin(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -528,9 +533,9 @@
     @PostMapping("/crn/operator/taskComplete")
     public R crnTaskComplete(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
         command.setTaskNo((short) 0); // 宸ヤ綔鍙�
@@ -542,6 +547,7 @@
         command.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
         command.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
         command.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
+        command.setCommand((short)0);
         return crnControl(command)?R.ok():R.error();
     }
 
@@ -561,9 +567,9 @@
     @PostMapping("/crn/operator/clearCommand")
     public R crnClearCommand(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         if (param.getCrnNo() == null) {
             throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
         }
@@ -585,9 +591,9 @@
     @PostMapping("/crn/operator/handleReset")
     public R handleReset(CrnOperatorParam param) throws Exception {
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         if (param.getCrnNo() == null) {
             throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
         }
@@ -610,7 +616,7 @@
                 crnCommand.setCommand((short) 0);  // 浠诲姟瀹屾垚纭浣�
                 // 寤舵椂鍙戦��
                 Thread.sleep(1000L);
-                if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand), false)) {
+                if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(5, crnCommand), false)) {
                     return R.ok();
                 } else {
                     throw new CoolException("鍛戒护涓嬪彂澶辫触");
@@ -627,9 +633,9 @@
     @PostMapping("/crn/operator/auto")
     public R crnAuto(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         short[] array = new short[9];
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -642,9 +648,9 @@
     @PostMapping("/crn/operator/semiAutomatic")
     public R crnsemiAutomatic(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         short[] array = new short[9];
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -657,9 +663,9 @@
     @PostMapping("/crn/operator/hand")
     public R onlineWrk1(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         short[] array = new short[9];
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -672,9 +678,9 @@
     @PostMapping("/crn/operator/onlineWrk1")
     public R onlineWrk2(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         short[] array = new short[9];
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -687,9 +693,9 @@
     @PostMapping("/crn/operator/onlineWrk2")
     public R onlineWrk3(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         short[] array = new short[9];
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -702,9 +708,9 @@
     @PostMapping("/crn/operator/onlineWrk3")
     public R onlineWrk4(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         short[] array = new short[9];
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -717,9 +723,9 @@
     @PostMapping("/crn/operator/onlineWrk4")
     public R crnHand(CrnOperatorParam param){
         // 绯荤粺杩愯鐘舵�佸垽鏂�
-        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
-        }
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
         short[] array = new short[9];
         CrnCommand command = new CrnCommand();
         command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
@@ -729,6 +735,22 @@
         return crnControl2(command)?R.ok():R.error();
     }
 
+    @ManagerAuth(memo = "澶嶄綅")
+    @PostMapping("/crn/operator/reset")
+    public R crnReset(CrnOperatorParam param){
+        // 绯荤粺杩愯鐘舵�佸垽鏂�
+//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+//            return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+//        }
+        short[] array = new short[9];
+        CrnCommand command = new CrnCommand();
+        command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+        command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+        command.setReset((short)1);
+
+        return crnControl2(command)?R.ok():R.error();
+    }
+
 
 
     private boolean crnControl2(CrnCommand command){

--
Gitblit v1.9.1