From f57741a11f0cce1f7ac0f2c8ab0627c046cb855b Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 四月 2023 11:11:53 +0800
Subject: [PATCH] 穿梭车到达提升机口前,优先调度提升机优化

---
 src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java b/src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
index d370e72..43f7994 100644
--- a/src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
@@ -1,7 +1,9 @@
 package com.zy.core.model.protocol;
 
 import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasShuttleErr;
 import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.service.BasShuttleErrService;
 import com.zy.asrs.service.BasShuttleService;
 import com.zy.asrs.service.LocMastService;
 import com.zy.core.News;
@@ -38,6 +40,12 @@
      * 褰撳墠灏忚溅鐘舵�侊紙鍐呴儴鑷垜缁存姢锛�
      */
     private Integer protocolStatus;
+
+//    /**
+//     * 灏忚溅褰撳墠鏄惁鏈夎揣
+//     * true:鏈夎揣锛宖alse锛氭棤璐�
+//     */
+//    private Boolean loading = false;
 
     /**
      * 褰撳墠灏忚溅鐘舵�佹灇涓�
@@ -96,6 +104,26 @@
      * Plc杈撳嚭鐘舵�両O
      */
     private Short plcOutputStatusIO;
+
+    /**
+     * Plc杈撳嚭鐘舵�両O-椤跺崌浣�
+     */
+    private Boolean plcOutputLift;
+
+    /**
+     * Plc杈撳嚭鐘舵�両O-鎹㈠悜浣�
+     */
+    private Boolean plcOutputTransfer;
+
+    /**
+     * Plc杈撳嚭鐘舵�両O-鎶遍椄浣�
+     */
+    private Boolean plcOutputBrake;
+
+    /**
+     * Plc杈撳嚭鐘舵�両O-鍏呯數浣�
+     */
+    private Boolean plcOutputCharge;
 
     /**
      * 閿欒淇℃伅鐮�
@@ -230,6 +258,48 @@
         }
     }
 
+    // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�侊紝浼犲叆鐨則askNo鍜屽綋鍓峵askNo鐩稿悓鏃跺厑璁告斁琛�
+    public Boolean isIdle(Short taskNo) {
+        boolean res = this.busyStatusType.equals(ShuttleStatusType.IDLE)
+                && this.pakMk.equals(true)
+                && this.errorCodeType.equals(ShuttleErrorCodeType.NORMAL)
+                && (this.taskNo == 0 || this.taskNo == taskNo)
+                ;
+        if (!res) {
+            return res;
+        } else {
+            // 鐢甸噺
+            try {
+                Integer chargeLine = SpringUtils.getBean(BasShuttleService.class).selectById(this.shuttleNo).getChargeLine();
+                return this.getBatteryPower$() > chargeLine;
+            } catch (Exception e) {
+                News.error("fail", e);
+                return false;
+            }
+        }
+    }
+
+    // 鏄惁婊¤冻鍏呯數鐘舵��
+    public Boolean isRequireCharge() {
+        boolean res = this.busyStatusType.equals(ShuttleStatusType.IDLE)
+                && this.pakMk.equals(true)
+                && this.errorCodeType.equals(ShuttleErrorCodeType.NORMAL)
+                && this.taskNo == 0
+                ;
+        if (!res) {
+            return res;
+        } else {
+            // 鐢甸噺灏忎簬闃堝�兼垨鐢靛帇灏忎簬48V锛岄渶瑕佽繘琛屽厖鐢�
+            try {
+                Integer chargeLine = SpringUtils.getBean(BasShuttleService.class).selectById(this.shuttleNo).getChargeLine();
+                return this.getBatteryPower$() < chargeLine || this.currentVoltage < 480;
+            } catch (Exception e) {
+                News.error("fail", e);
+                return false;
+            }
+        }
+    }
+
     //閫氳繃褰撳墠浜岀淮鐮佽幏鍙栧綋鍓嶅簱浣嶅彿
     public String getCurrentLocNo() {
         LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
@@ -244,4 +314,13 @@
         return currentLocMast.getLocNo();
     }
 
+    public String getStatusErrorCode$() {
+        BasShuttleErrService basShuttleErrService = SpringUtils.getBean(BasShuttleErrService.class);
+        BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(this.statusErrorCode.intValue());
+        if (basShuttleErr == null) {
+            return null;
+        }
+        return basShuttleErr.getErrName();
+    }
+
 }

--
Gitblit v1.9.1