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/model/protocol/LiftProtocol.java |  288 ++++++++++++++++++++++++++-------------------------------
 1 files changed, 131 insertions(+), 157 deletions(-)

diff --git a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
index ff69c13..032a63d 100644
--- a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
@@ -1,12 +1,6 @@
 package com.zy.core.model.protocol;
 
-import com.core.common.SpringUtils;
-import com.zy.asrs.service.BasShuttleService;
-import com.zy.core.News;
 import com.zy.core.enums.LiftProtocolStatusType;
-import com.zy.core.enums.ShuttleErrorCodeType;
-import com.zy.core.enums.ShuttleProtocolStatusType;
-import com.zy.core.enums.ShuttleStatusType;
 import com.zy.core.model.command.LiftAssignCommand;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -44,159 +38,96 @@
     private LiftProtocolStatusType protocolStatusType = LiftProtocolStatusType.IDLE;
 
     /**
+     * 妯″紡
+     */
+    private Boolean model;
+
+    /**
+     * 蹇欓棽
+     */
+    private Boolean busy;
+
+    /**
+     * 鍓嶈秴闄�
+     */
+    private Boolean frontOverrun;
+
+    /**
+     * 鍚庤秴闄�
+     */
+    private Boolean backOverrun;
+
+    /**
+     * 宸﹁秴闄�
+     */
+    private Boolean leftOverrun;
+
+    /**
+     * 鍙宠秴闄�
+     */
+    private Boolean rightOverrun;
+
+    /**
+     * 瓒呴珮
+     */
+    private Boolean overHeight;
+
+    /**
+     * 瓒呴噸
+     */
+    private Boolean overWeight;
+
+    /**
+     * 鏈夋墭鐩�
+     */
+    private Boolean hasTray;
+
+    /**
+     * 鏈夊皬杞�
+     */
+    private Boolean hasCar;
+
+    /**
+     * 璁惧鏁呴殰
+     */
+    private Boolean deviceError;
+
+    /**
+     * 浠诲姟鍦板潃
+     */
+    private Short taskAddress;
+
+    /**
+     * 鐩殑鍦板潃
+     */
+    private Short distAddress;
+
+    /**
+     * 宸插畬鎴愮殑浠诲姟鍙�
+     */
+    private Short completeTaskNo;
+
+    /**
      * 灞�
      */
     private Short lev;
 
     /**
-     * 鎻愬崌鏈洪攣瀹�
-     */
-    private Boolean liftLock;
-
-    /**
-     * 浣嶇疆鍒拌揪鍙嶉
-     */
-    private Short positionArrivalFeedback;
-
-    /**
-     * 鍑嗗灏辩华
-     * 灏辩华涓�1锛屾湭灏辩华涓�0
-     */
-    private Boolean ready;
-
-    /**
-     * 杩愯涓�
-     * 杩愯涓负1锛屾湭杩愯涓�0
-     */
-    private Boolean running;
-
-    /**
-     * 鑱旀満/鍗曟満
-     * 鑱旀満涓�1锛屽崟鏈轰负0
-     */
-    private Boolean mode;
-
-    /**
-     * 杈撻�佺嚎鍓嶇鍏夌數鏈夎揣
-     * 鏈夎揣涓�1锛屾棤璐т负0锛堝墠绔寚闈犺繎璐ф灦渚э級
-     */
-    private Boolean lineFrontHasStock;
-
-    /**
-     * 杈撻�佺嚎姝h浆鍙嶉
-     * 姝h浆杩愯涓�1锛屽惁鍒欎负0
-     */
-    private Boolean forwardRotationFeedback;
-
-    /**
-     * 杈撻�佺嚎鍙嶈浆鍙嶉
-     * 鍙嶈浆杩愯涓�1锛屽惁鍒欎负0
-     */
-    private Boolean reverseFeedback;
-
-    /**
-     * 杈撻�佺嚎鐢垫満杩囪浇
-     * 杩囪浇涓�0锛屾甯镐负1
-     */
-    private Boolean motorOverload;
-
-    /**
-     * 杈撻�佺嚎鏈鍏夌數鏈夎揣
-     * 鏈夎揣涓�1锛屾棤璐т负0
-     */
-    private Boolean lineEndHasStock;
-
-    /**
-     * 杩涜緭閫佺嚎鍗℃墭鐩樻姤璀�
-     * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
-     */
-    private Boolean inConveyLineCardTrayAlarm;
-
-    /**
-     * 鍑鸿緭閫佺嚎鍗℃墭鐩樻姤璀�
-     * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
-     */
-    private Boolean outConveyLineCardTrayAlarm;
-
-    /**
-     * 骞冲彴浣嶇疆鍋忓樊鎶ヨ
-     * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
-     */
-    private Boolean platPositionDeviationAlarm;
-
-    /**
-     * 骞冲彴鎵煩鍋忓樊鎶ヨ
-     * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
-     */
-    private Boolean platTorqueDeviationAlarm;
-
-    /**
-     * 骞冲彴鍥涘悜杞︽娴�
-     * 鏈夎溅涓�1锛屾棤杞︿负0
-     */
-    private Boolean platShuttleCheck;
-
-    /**
-     * 鏈氨缁姸鎬�
-     * 1.	涓嶅湪鎸囧畾灞�
-     * 2.	鍥涜酱涓嶅悓姝�
-     * 3.	骞冲彴鍓嶉檺鍏夌數琚尅鍒帮紙闈犺繎璐ф灦锛�
-     * 4.	骞冲彴鍚庨檺鍏夌數琚尅鍒帮紙杩滅璐ф灦锛�
-     * 5.	骞冲彴涓婇檺浣嶆姤璀�
-     * 6.	骞冲彴涓嬮檺浣嶆姤璀�
-     * 7.	鐢垫煖鎬ュ仠鎶ヨ
-     * 8.	杈撻�佺嚎鍓嶉檺浣嶈鎸″埌锛堥潬杩戣揣鏋讹級
-     * 9.	杈撻�佺嚎鍚庨檺浣嶈鎸″埌锛堣繙绂昏揣鏋讹級
-     * 10.	瑙︽懜灞忕揣鎬ュ仠姝㈣鎸変笅
-     * 11.	鍥涜酱鍔ㄥ姏绾挎柇绾�
-     * 12.	鍗曟満妯″紡
-     * 13.	鍥涜酱鎶ヨ
-     * 14.	浣嶇疆鍋忓樊杩囧ぇ
-     * 15.	鎵煩鍋忓樊杩囧ぇ
-     * 16.	杈撻�佺嚎杩囪浇
-     * 17.	杩涙彁鍗囨満鍗℃墭鐩�
-     * 18.	鍑烘彁鍗囨満鍗℃墭鐩�
-     */
-    private Short notReady;
-
-    /**
-     * 浼烘湇1閿欒
-     */
-    private Short servoError1;
-
-    /**
-     * 浼烘湇2閿欒
-     */
-    private Short servoError2;
-
-    /**
-     * 浼烘湇3閿欒
-     */
-    private Short servoError3;
-
-    /**
-     * 浼烘湇4閿欒
-     */
-    private Short servoError4;
-
-    /**
-     * 鎻愬崌鏈哄疄闄呴�熷害鍙嶉
-     */
-    private Short liftActualSpeed;
-
-    /**
      * 浣滀笟鏍囪
      */
-    private Boolean pakMk = true;
+    private Boolean pakMk = false;
+
+    /**
+     * 鐙崰浠ょ墝
+     * 鏈浠诲姟鍗犳嵁锛屼护鐗屼负0
+     * 琚换鍔″崰鎹紝灏嗕换鍔″彿璧嬪�肩粰浠ょ墝
+     */
+    private Integer token = 0;
 
     /**
      * 浠诲姟鍛戒护
      */
     private LiftAssignCommand assignCommand;
-
-    public Short getLiftLockShortValue() {
-        return liftLock ? (short) 1 : (short) 0;
-    }
 
     /**
      * 璁剧疆鎻愬崌鏈虹姸鎬�
@@ -215,20 +146,63 @@
     }
 
     // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
-    public Boolean isIdle() {
-        boolean res = this.taskNo == 0
-                && !this.liftLock
-                && this.ready
-                && !this.running
-                && this.mode
-                && this.pakMk.equals(true)
+    public Boolean isIdle(Short taskNo) {
+        if(this.taskNo == null
+                || this.busy == null
+                || this.model == null
+                || this.deviceError == null
+                || this.pakMk == null
+        ){
+            return false;
+        }
+
+        boolean res = (this.taskNo == 0 || this.taskNo.intValue() == taskNo.intValue())
+                && !this.busy
+                && this.model
+                && !this.pakMk
+                && !this.deviceError
                 ;
         return res;
     }
 
-    public void setPositionArrivalFeedback(Short position) {
-        this.lev = position;//灞傞珮
-        this.positionArrivalFeedback = position;//浣嶇疆鍒拌揪鍙嶉
+    // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
+    public Boolean isIdle() {
+        if(this.taskNo == null
+                || this.busy == null
+                || this.model == null
+                || this.deviceError == null
+                || this.pakMk == null
+        ){
+            return false;
+        }
+
+        boolean res = this.taskNo == 0
+                && !this.busy
+                && this.model
+                && !this.pakMk
+                && !this.deviceError
+                ;
+        return res;
     }
 
+    // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�侊紝涓嶅垽鏂换鍔″彿
+    public Boolean isIdleNoTask() {
+        if(this.taskNo == null
+                || this.busy == null
+                || this.model == null
+                || this.deviceError == null
+                || this.pakMk == null
+        ){
+            return false;
+        }
+
+        boolean res = !this.busy
+                && this.model
+                && !this.pakMk
+                && !this.deviceError
+                ;
+        return res;
+    }
+
+
 }

--
Gitblit v1.9.1