From b03799a01cbadde1eed0b053bfec000fe63efb8f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 28 十月 2022 13:35:22 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/WrkChargeService.java | 2 +
src/main/java/com/zy/asrs/service/BasSteService.java | 2 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 29 ++++++++++++++
src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java | 17 ++++++++
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 17 --------
5 files changed, 49 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/BasSteService.java b/src/main/java/com/zy/asrs/service/BasSteService.java
index 0b1f825..bcd6cc1 100644
--- a/src/main/java/com/zy/asrs/service/BasSteService.java
+++ b/src/main/java/com/zy/asrs/service/BasSteService.java
@@ -9,4 +9,6 @@
Boolean updatePakMk(Integer steNo, String pakMk);
+ Integer hasCarOfLocNo(String locNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/WrkChargeService.java b/src/main/java/com/zy/asrs/service/WrkChargeService.java
index b14f662..53209ef 100644
--- a/src/main/java/com/zy/asrs/service/WrkChargeService.java
+++ b/src/main/java/com/zy/asrs/service/WrkChargeService.java
@@ -7,4 +7,6 @@
WrkCharge selectWorking(Integer steNo);
+
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
index 7571e41..12269ae 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
@@ -1,11 +1,15 @@
package com.zy.asrs.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.BasSte;
import com.zy.asrs.mapper.BasSteMapper;
import com.zy.asrs.service.BasSteService;
+import com.zy.asrs.utils.Utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+
+import java.util.List;
@Slf4j
@Service("basSteService")
@@ -21,4 +25,17 @@
return this.baseMapper.updatePakMk(steNo, pakMk) > 0;
}
+ @Override
+ public Integer hasCarOfLocNo(String locNo) {
+ List<BasSte> basStes = this.selectList(new EntityWrapper<>());
+ for (BasSte basSte : basStes) {
+ if (Utils.getRow(locNo) == basSte.getRow()
+ && Utils.getBay(locNo) == basSte.getBay()
+ && Utils.getLev(locNo) == basSte.getLev()){
+ return basSte.getSteNo();
+ }
+ }
+ return null;
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 8435624..b9a00cc 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2458,6 +2458,7 @@
/**
* 灏忚溅鐢甸噺妫�娴� ===>> 鍙戣捣鍏呯數
*/
+ @SuppressWarnings("serial")
public synchronized void loopSteCharge() {
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
for (SteSlave ste : slaveProperties.getSte()) {
@@ -2484,7 +2485,33 @@
if (wrkCharge == null && steProtocol.getChargeStatus() == 0) {
// 瀵绘壘绌洪棽鍏呯數妗�
- SteChargeType steCharge = devpThread.getIdleChargeLocNo();
+ SteChargeType steCharge = null;
+ do {
+ String locNo;
+ if (!devpThread.charge0) {
+ locNo = SteChargeType.FIRST.locNo;
+ if (basSteService.hasCarOfLocNo(locNo) == null) {
+ steCharge = SteChargeType.FIRST;
+ break;
+ }
+ }
+ if (!devpThread.charge1) {
+ locNo = SteChargeType.SECOND.locNo;
+ if (basSteService.hasCarOfLocNo(locNo) == null) {
+ steCharge = SteChargeType.SECOND;
+ break;
+ }
+ }
+ if (!devpThread.charge2) {
+ locNo = SteChargeType.THIRD.locNo;
+ if (basSteService.hasCarOfLocNo(locNo) == null) {
+ steCharge = SteChargeType.THIRD;
+ break;
+ }
+ }
+ break;
+ } while (false);
+
if (steCharge == null) {
log.warn("{}鍙峰皬杞︺�愮數閲忥細{}銆戝厖鐢靛け璐ワ紝鍘熷洜锛氭病鏈夌┖闂插厖鐢垫々銆�", ste.getId(), steProtocol.getCharge());
continue;
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 6901ef7..d74e6e3 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -15,7 +15,6 @@
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
-import com.zy.core.enums.SteChargeType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -278,22 +277,6 @@
log.error("杈撻�佺嚎plc缂栧彿={} {}鍙峰厖鐢垫々{}鎺у埗鎴愬姛", slave.getId(), index + 1, open?"鎵撳紑":"鍏抽棴");
}
return true;
- }
-
- /**
- * 鑾峰彇绌洪棽鍏呯數妗�
- */
- public SteChargeType getIdleChargeLocNo() {
- if (!this.charge0) {
- return SteChargeType.FIRST;
- }
- if (!this.charge1) {
- return SteChargeType.SECOND;
- }
- if (!this.charge2) {
- return SteChargeType.THIRD;
- }
- return null;
}
@Override
--
Gitblit v1.9.1