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