From ec25a39ab1d455e8c38e043ccdf2172139462068 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 24 十一月 2022 10:18:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/SteProtocol.java |   68 ++++++++++++++++++++++++++++++++-
 1 files changed, 65 insertions(+), 3 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 0b053fc..036a718 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 {
 
@@ -180,6 +185,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);
@@ -224,19 +240,65 @@
             basSte.setSteErr(alarm.longValue());
         }
         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() {
-        return this.statusType.equals(SteStatusType.IDLE)
+        boolean res = this.statusType.equals(SteStatusType.IDLE)
+                && this.mode == 1
                 && this.pakMk.equals("N")
-                && !isAlarm();
+                && !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 > 0;
+        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