From a18ed78675d0f7745ed1ebe519bfe0aa64c97dfe Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 20 九月 2023 15:02:32 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/LiftThread.java            |   13 ++++++
 src/main/java/com/zy/common/utils/NyLiftUtils.java          |   13 ++++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    5 ++
 src/main/java/com/zy/asrs/entity/BasLiftOpt.java            |    9 ----
 src/main/java/com/zy/core/enums/NyLiftTaskModelType.java    |    3 +
 src/main/java/com/zy/asrs/controller/LiftController.java    |   34 ++++++++++++++---
 src/main/webapp/views/lift.html                             |    2 
 7 files changed, 62 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LiftController.java b/src/main/java/com/zy/asrs/controller/LiftController.java
index 0104c32..244cb3c 100644
--- a/src/main/java/com/zy/asrs/controller/LiftController.java
+++ b/src/main/java/com/zy/asrs/controller/LiftController.java
@@ -234,14 +234,14 @@
                     //绉诲姩鎵樼洏
                     int workNo = commonService.getWorkNo(3);//鑾峰彇浠诲姟鍙�
 
-                    LiftStaProtocol sourceLiftSta = NyLiftUtils.getLiftStaByStaNo(param.getSourceStaNo());
-                    LiftStaProtocol liftSta = NyLiftUtils.getLiftStaByStaNo(param.getStaNo());
-                    if (sourceLiftSta == null || liftSta == null) {
-                        throw new CoolException("婧愮珯鎴栫洰鏍囩珯涓嶅瓨鍦�");
-                    }
+//                    LiftStaProtocol sourceLiftSta = NyLiftUtils.getLiftStaByStaNo(param.getSourceStaNo());
+//                    LiftStaProtocol liftSta = NyLiftUtils.getLiftStaByStaNo(param.getStaNo());
+//                    if (sourceLiftSta == null || liftSta == null) {
+//                        throw new CoolException("婧愮珯鎴栫洰鏍囩珯涓嶅瓨鍦�");
+//                    }
 
                     //鑾峰彇鎻愬崌鏈哄懡浠�
-                    NyLiftCommand liftCommand = NyLiftUtils.getLiftCommand(liftProtocol.getLiftNo().intValue(), NyLiftTaskModelType.MOVE_TRAY.id, sourceLiftSta.getStaNo(), liftSta.getStaNo(), workNo);
+                    NyLiftCommand liftCommand = NyLiftUtils.getLiftCommand(liftProtocol.getLiftNo().intValue(), NyLiftTaskModelType.MOVE_TRAY.id, param.getSourceStaNo(), param.getStaNo(), workNo);
                     ArrayList<NyLiftCommand> commands = new ArrayList<>();
                     commands.add(liftCommand);
 
@@ -258,6 +258,28 @@
                     } else {
                         throw new CoolException("鍛戒护涓嬪彂澶辫触");
                     }
+                } else if (param.getLiftTaskMode() == 0) {
+                    //鎻愬崌鏈哄浣�
+                    int workNo = commonService.getWorkNo(3);//鑾峰彇浠诲姟鍙�
+
+                    //鑾峰彇鎻愬崌鏈哄懡浠�
+                    NyLiftCommand liftCommand = NyLiftUtils.getLiftResetCommand(liftProtocol.getLiftNo().intValue());
+                    ArrayList<NyLiftCommand> commands = new ArrayList<>();
+                    commands.add(liftCommand);
+
+                    //鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
+                    LiftAssignCommand assignCommand = new LiftAssignCommand();
+                    assignCommand.setCommands(commands);
+                    assignCommand.setLiftNo(liftProtocol.getLiftNo());
+                    assignCommand.setTaskNo((short) workNo);
+                    assignCommand.setAuto(false);//鎵嬪姩妯″紡
+                    assignCommand.setTaskMode(NyLiftTaskModelType.RESET.id.shortValue());
+
+                    if (MessageQueue.offer(SlaveType.Lift, liftSlave.getId(), new Task(3, assignCommand))) {
+                        return R.ok();
+                    } else {
+                        throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                    }
                 } else {
                     throw new CoolException("鏈煡鍛戒护");
                 }
diff --git a/src/main/java/com/zy/asrs/entity/BasLiftOpt.java b/src/main/java/com/zy/asrs/entity/BasLiftOpt.java
index 4c326c3..8cda1cb 100644
--- a/src/main/java/com/zy/asrs/entity/BasLiftOpt.java
+++ b/src/main/java/com/zy/asrs/entity/BasLiftOpt.java
@@ -77,12 +77,6 @@
     private String command;
 
     /**
-     * 鍛戒护
-     */
-    @ApiModelProperty(value= "鍛戒护鎶ユ枃(涓嬪彂)")
-    private String commandSend;
-
-    /**
      * 绯荤粺鐘舵��
      */
     @ApiModelProperty(value= "绯荤粺鐘舵��")
@@ -91,7 +85,7 @@
 
     public BasLiftOpt() {}
 
-    public BasLiftOpt(Integer wrkNo, Integer liftNo, Date sendTime, Date updateTime, Long updateBy, String memo, String command, String commandSend, String systemStatus) {
+    public BasLiftOpt(Integer wrkNo, Integer liftNo, Date sendTime, Date updateTime, Long updateBy, String memo, String command, String systemStatus) {
         this.wrkNo = wrkNo;
         this.liftNo = liftNo;
         this.sendTime = sendTime;
@@ -99,7 +93,6 @@
         this.updateBy = updateBy;
         this.memo = memo;
         this.command = command;
-        this.commandSend = commandSend;
         this.systemStatus = systemStatus;
     }
 
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 1f2c87c..8109c27 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1147,6 +1147,11 @@
             if (targetStaProtocol == null) {
                 return false;//绔欑偣涓嶅瓨鍦�
             }
+
+            if (targetStaProtocol.getHasTray()) {
+                return false;//鎻愬崌鏈虹珯鐐规湁鎵樼洏锛岀姝㈡淳鍙�
+            }
+
             Integer targetSta = targetStaProtocol.getStaNo();
 
             //鑾峰彇鎻愬崌鏈哄懡浠�
diff --git a/src/main/java/com/zy/common/utils/NyLiftUtils.java b/src/main/java/com/zy/common/utils/NyLiftUtils.java
index 6909cd2..cee6584 100644
--- a/src/main/java/com/zy/common/utils/NyLiftUtils.java
+++ b/src/main/java/com/zy/common/utils/NyLiftUtils.java
@@ -29,6 +29,19 @@
         return command;
     }
 
+    /**
+     * 鑾峰彇鎻愬崌鏈哄浣嶅懡浠�
+     */
+    public static NyLiftCommand getLiftResetCommand(Integer liftNo) {
+        NyLiftCommand command = new NyLiftCommand();
+        command.setLiftNo(liftNo.shortValue());
+        command.setTaskNo((short) 0);
+        command.setTaskModel((short) 0);
+        command.setSourceSta((short) 0);
+        command.setTargetSta((short) 0);
+        return command;
+    }
+
     //鑾峰彇鎻愬崌鏈虹珯鐐�
     public static LiftStaProtocol getLiftStaByStaNo(Integer staNo) {
         SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
diff --git a/src/main/java/com/zy/core/enums/NyLiftTaskModelType.java b/src/main/java/com/zy/core/enums/NyLiftTaskModelType.java
index bfa66cc..b30bce1 100644
--- a/src/main/java/com/zy/core/enums/NyLiftTaskModelType.java
+++ b/src/main/java/com/zy/core/enums/NyLiftTaskModelType.java
@@ -5,7 +5,8 @@
  */
 public enum NyLiftTaskModelType {
     MOVE_TRAY(1, "绉绘墭鐩�"),
-    MOVE_CAR(2, "绉诲皬杞�")
+    MOVE_CAR(2, "绉诲皬杞�"),
+    RESET(3, "鎻愬崌鏈哄浣�"),
     ;
 
     public Integer id;
diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java
index 0c92bb3..8f3f046 100644
--- a/src/main/java/com/zy/core/thread/LiftThread.java
+++ b/src/main/java/com/zy/core/thread/LiftThread.java
@@ -378,7 +378,6 @@
                     null,
                     null,
                     JSON.toJSONString(command),
-                    JSON.toJSONString(commandArr),
                     JSON.toJSONString(liftProtocol)
             );
             liftOptService.insert(opt);
@@ -402,6 +401,18 @@
             News.info("鎻愬崌鏈轰换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
         }
 
+        if (redisCommand.getAssignCommand().getTaskMode() == NyLiftTaskModelType.RESET.id.shortValue()) {
+            //澶嶄綅鍛戒护
+            //宸ヤ綔鍙锋竻闆�
+            liftProtocol.setTaskNo((short) 0);
+            //浠ょ墝娓呴浂
+            liftProtocol.setToken(0);
+            //璁剧疆鎻愬崌鏈轰负绌洪棽鐘舵��
+            liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE);
+            //浠诲姟鎸囦护娓呴浂
+            liftProtocol.setAssignCommand(null);
+        }
+
         return true;
     }
 
diff --git a/src/main/webapp/views/lift.html b/src/main/webapp/views/lift.html
index ab7d7e0..29fdfe0 100644
--- a/src/main/webapp/views/lift.html
+++ b/src/main/webapp/views/lift.html
@@ -114,7 +114,7 @@
                             <label><input id="staNo" type="text" name="staNo" /></label>
                         </div>
                         <button class="item" onclick="liftOperator(2)">绉诲姩鎵樼洏</button>
-<!--                        <button class="item" onclick="liftOperator(0)">澶嶄綅</button>-->
+                        <button class="item" onclick="liftOperator(0)">澶嶄綅</button>
                     </div>
                 </fieldset>
             </div>

--
Gitblit v1.9.1