From e74add6a913a5fd6ea1de5fc62379e3f9b24b228 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 08 十二月 2022 15:08:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/SteProtocol.java |  154 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 134 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/zy/core/model/protocol/SteProtocol.java b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
index 57efadd..dc815d7 100644
--- a/src/main/java/com/zy/core/model/protocol/SteProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -1,12 +1,19 @@
 package com.zy.core.model.protocol;
 
-import com.zy.asrs.entity.BasCrnp;
-import com.zy.core.enums.*;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasSte;
+import com.zy.asrs.service.BasSteService;
+import com.zy.core.enums.SteHisTaskStatusType;
+import com.zy.core.enums.SteLocaType;
+import com.zy.core.enums.SteStatusType;
 import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * Created by vincent on 2020/8/7
  */
+@Slf4j
 @Data
 public class SteProtocol {
 
@@ -29,37 +36,67 @@
      */
     public Short status;
 
-    /**
-     * 鐘舵�佹灇涓�
-     */
     public SteStatusType statusType;
+
+    /**
+     * 浠诲姟鍙�
+     */
+    public Short taskNo = 0;
+
+    /**
+     * 姝e湪鎵ц浠诲姟
+     */
+    public Boolean execute;
+
+    /**
+     * 浠诲姟瀹屾垚锛岀瓑寰匴CS纭
+     */
+    public Boolean waiting;
+
 
     /**
      * 寮傚父鐮�1
      */
-    public Integer alarm;
+    public Short alarm;
 
 
     /**
      * 寮傚父鐮�2
      */
-    public Integer alarm0;
+    public Short alarm0;
 
     /**
      * 鐢垫睜鐢甸噺
      */
-    public Short charge;
+    public Float charge = 0.0F;
+
+    public void setCharge(Float charge) {
+        if (charge >= 0) {
+            this.charge = charge;
+        }
+    }
 
     /**
-     * 鐢垫睜棣堢數     0锛屾甯革紝1棣堢數
+     * 婊$數
+     */
+    public Boolean fullCharge;
+
+    /**
+     * 浣庣數閲�
+     */
+    public Boolean lowCharge;
+
+    /**
+     * 鐢垫睜棣堢數    0锛屾瑺鐢碉紝1浣庣數 2婊$數
      */
     public Short feed;
-
 
     /**
      * 褰撳墠浣嶇疆     1锛岃繎鐐癸紝2杩滅偣锛�3A鐐癸紝4B鐐�
      */
     public Short loca;
+
+    public SteLocaType locaType;
 
     /**
      * 杩戠偣璺濈
@@ -69,7 +106,7 @@
     /**
      * 褰撳墠閫熷害
      */
-    public Double speed;
+    public Double speed = 0.0D;
 
     /**
      * 楂樹綆浣� 0锛屼綆浣嶏紝1楂樹綅
@@ -85,11 +122,6 @@
      * 鍦ㄨ建閬撲笂 0涓嶅湪锛�1鍦�
      */
     public Short track;
-
-    /**
-     * 浠诲姟鍙�
-     */
-    public Integer taskNo = 0;
 
     /**
      * 浠诲姟绫诲瀷
@@ -118,8 +150,11 @@
 
     /**
      * 杩囪处鎸囦护鐘舵��
+     * 0鍒濆 1鎵ц瀹屾垚 2鍒犻櫎
      */
     public Short hisTaskStatus;
+
+    public SteHisTaskStatusType hisTaskStatusType;
 
     /**
      * 鐩樼偣鏁伴噺
@@ -156,6 +191,17 @@
      */
     public Short crnAllowRun;
 
+    /**
+     * 鍏呯數鐘舵��  1锛氬湪鍏呯數锛�0锛氫笉鍦ㄥ厖鐢�
+     */
+    private Short chargeStatus;
+
+    // 鍏ュ簱鍙栫┖
+    private Boolean inEmpty;
+
+    // 鍑哄簱鍙栫┖
+    private Boolean outEmpty;
+
     public void setStatus(Short status){
         this.status = status;
         this.statusType = SteStatusType.get(status);
@@ -166,6 +212,26 @@
         this.status = SteStatusType.get(type).id.shortValue();
     }
 
+    public void setLoca(Short loca){
+        this.loca = loca;
+        this.locaType = SteLocaType.get(loca);
+    }
+
+    public void setLoca(SteLocaType type){
+        this.locaType = type;
+        this.loca = SteLocaType.get(type).id.shortValue();
+    }
+
+    public void setHisTaskStatus(Short hisTaskStatus){
+        this.hisTaskStatus = hisTaskStatus;
+        this.hisTaskStatusType = SteHisTaskStatusType.get(hisTaskStatus);
+    }
+
+    public void setHisTaskStatus(SteHisTaskStatusType type){
+        this.hisTaskStatusType = type;
+        this.hisTaskStatus = SteHisTaskStatusType.get(type).id.shortValue();
+    }
+
     /**
      * 鏈�杩戜竴娆″叆鍑哄簱绫诲瀷
      *       I:鍏ュ簱
@@ -173,12 +239,60 @@
      */
     private String lastIo = "I";
 
+    private String pakMk = "-";
 
-    public BasCrnp toSqlModel(BasCrnp basCrnp){
+    public BasSte toSqlModel(BasSte basSte){
         if (alarm!=null) {
-            basCrnp.setCrnErr(alarm.longValue());
+            basSte.setSteErr(alarm.longValue());
         }
-        basCrnp.setWrkNo(taskNo);
-        return basCrnp;
+        basSte.setWrkNo(taskNo.intValue());
+//        if (basSte.getPakMk().equals("N")) {
+//            if (!Cools.isEmpty(row)) {
+//                basSte.setRow(row.intValue());
+//            }
+//            if (!Cools.isEmpty(bay)) {
+//                basSte.setBay(bay.intValue());
+//            }
+//            if (!Cools.isEmpty(lev)) {
+//                basSte.setLev(lev.intValue());
+//            }
+//        }
+        return basSte;
     }
+
+    // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
+    public Boolean isIdle() {
+        boolean res = this.statusType.equals(SteStatusType.IDLE)
+                && this.mode == 1
+                && this.pakMk.equals("N")
+                && !isAlarm()
+                && this.chargeStatus == 0
+                && isEnable()
+                ;
+        if (!res) {
+            return res;
+        } else {
+            // 鐢甸噺
+            try {
+                String chargeLine = SpringUtils.getBean(BasSteService.class).selectById(this.steNo).getChargeLine();
+                return charge > Float.parseFloat(chargeLine);
+            } catch (Exception e) {
+                log.error("fail", e);
+                return false;
+            }
+        }
+    }
+
+    // 鏄惁澶勪簬鎶ヨ鐘舵��
+    public Boolean isAlarm() {
+        return this.alarm > 1;
+    }
+
+    public Boolean isEnable() {
+        if (Cools.isEmpty(row, bay, lev)) {
+            return false;
+        }
+        return row > 0 && bay > 0 && lev > 0;
+    }
+
 }

--
Gitblit v1.9.1