From 2acd428a1254175dbf6f0cdb1bdb9772a4f4f938 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 19 六月 2023 17:33:18 +0800
Subject: [PATCH] 提升机状态6,8迁移小车问题
---
src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java | 122 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 120 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 8e407ec..d56f972 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,13 @@
package com.zy.core.model.protocol;
import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasShuttleErr;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.BasShuttleErrService;
import com.zy.asrs.service.BasShuttleService;
+import com.zy.asrs.service.LocMastService;
import com.zy.core.News;
import com.zy.core.enums.ShuttleErrorCodeType;
import com.zy.core.enums.ShuttleProtocolStatusType;
@@ -78,7 +84,7 @@
/**
* 鐢垫睜娓╁害
*/
- private Short batteryTemp;
+ private Integer batteryTemp;
/**
* 閿欒缂栧彿
@@ -94,6 +100,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;
/**
* 閿欒淇℃伅鐮�
@@ -123,7 +149,7 @@
/**
* 褰撳墠鐨勭數鍘嬪��
*/
- private Short currentVoltage;
+ private Integer currentVoltage;
/**
* 褰撳墠鐨勬ā鎷熼噺鍊�
@@ -220,6 +246,9 @@
// 鐢甸噺
try {
Integer chargeLine = SpringUtils.getBean(BasShuttleService.class).selectById(this.shuttleNo).getChargeLine();
+ if (chargeLine == null) {
+ return false;
+ }
return this.getBatteryPower$() > chargeLine;
} catch (Exception e) {
News.error("fail", e);
@@ -228,4 +257,93 @@
}
}
+ // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�侊紝浼犲叆鐨則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() {
+ if (this.busyStatusType == null || this.pakMk == null || this.errorCodeType == null || this.taskNo == null) {
+ return false;
+ }
+
+ 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();
+ }
+
+ public void setCurrentCode(Short currentCode) {
+ this.currentCode = currentCode;
+ LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
+ if (locMastService != null) {
+ LocMast locMast = locMastService.queryByQrCode(currentCode.toString());
+ if (locMast == null) {
+ //鏌ヤ笉鍒板簱浣嶅彿锛屾煡璇㈡槸鍚︿负绔欑偣
+ BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+ if (basDevpService != null) {
+ BasDevp basDevp = basDevpService.queryByLocNo(currentCode.toString());
+ if (basDevp != null) {
+ this.locNo = basDevp.getLocNo();
+ }
+ }
+ }else{
+ this.locNo = locMast.getLocNo();
+ }
+ }
+ }
+
}
--
Gitblit v1.9.1