From 32cf315c6ac0cbbac6cc75a5e4e083d5e72bbe04 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 12 四月 2023 16:52:00 +0800
Subject: [PATCH] 穿梭车到达提升机口前,优先调度提升机。寻路节点增加层高等
---
src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java | 97 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 95 insertions(+), 2 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 0214f58..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,13 +1,15 @@
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.BasSteService;
+import com.zy.asrs.service.LocMastService;
import com.zy.core.News;
import com.zy.core.enums.ShuttleErrorCodeType;
import com.zy.core.enums.ShuttleProtocolStatusType;
import com.zy.core.enums.ShuttleStatusType;
-import com.zy.core.enums.SteStatusType;
import com.zy.core.model.command.ShuttleAssignCommand;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -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,4 +258,69 @@
}
}
+ // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�侊紝浼犲叆鐨則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);
+ if (locMastService == null) {
+ return null;
+ }
+ //婧愬簱浣�(灏忚溅褰撳墠浣嶇疆)
+ LocMast currentLocMast = locMastService.queryByQrCode(this.currentCode.toString());
+ if (currentLocMast == null) {
+ return null;
+ }
+ 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