From c6ac4fcda65f2033dbf4d0cfb57fc32cdd3eee2f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 30 十一月 2022 14:42:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/SteProtocol.java |  103 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 92 insertions(+), 11 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 82e95dd..ceeaeeb 100644
--- a/src/main/java/com/zy/core/model/protocol/SteProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -1,14 +1,19 @@
 package com.zy.core.model.protocol;
 
+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 {
 
@@ -34,6 +39,11 @@
     public SteStatusType statusType;
 
     /**
+     * 浠诲姟鍙�
+     */
+    public Short taskNo = 0;
+
+    /**
      * 姝e湪鎵ц浠诲姟
      */
     public Boolean execute;
@@ -47,18 +57,24 @@
     /**
      * 寮傚父鐮�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;
+        }
+    }
 
     /**
      * 婊$數
@@ -75,7 +91,6 @@
      */
     public Short feed;
 
-
     /**
      * 褰撳墠浣嶇疆     1锛岃繎鐐癸紝2杩滅偣锛�3A鐐癸紝4B鐐�
      */
@@ -91,7 +106,7 @@
     /**
      * 褰撳墠閫熷害
      */
-    public Double speed;
+    public Double speed = 0.0D;
 
     /**
      * 楂樹綆浣� 0锛屼綆浣嶏紝1楂樹綅
@@ -107,11 +122,6 @@
      * 鍦ㄨ建閬撲笂 0涓嶅湪锛�1鍦�
      */
     public Short track;
-
-    /**
-     * 浠诲姟鍙�
-     */
-    public Integer taskNo = 0;
 
     /**
      * 浠诲姟绫诲瀷
@@ -181,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);
@@ -218,12 +239,72 @@
      */
     private String lastIo = "I";
 
+    private String pakMk = "-";
 
     public BasSte toSqlModel(BasSte basSte){
         if (alarm!=null) {
             basSte.setSteErr(alarm.longValue());
         }
-        basSte.setWrkNo(taskNo);
+        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)) {
+            if (row == 0) {
+                return false;
+            }
+        }
+        if (Cools.isEmpty(bay)) {
+            if (bay == 0) {
+                return false;
+            }
+        }
+        if (Cools.isEmpty(lev)) {
+            if (lev == 0) {
+                return false;
+            }
+        }
+        return true;
+    }
+
 }

--
Gitblit v1.9.1