src/main/java/com/zy/asrs/service/BasSteService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/WrkChargeService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/BasSteService.java
@@ -9,4 +9,6 @@ Boolean updatePakMk(Integer steNo, String pakMk); Integer hasCarOfLocNo(String locNo); } src/main/java/com/zy/asrs/service/WrkChargeService.java
@@ -7,4 +7,6 @@ WrkCharge selectWorking(Integer steNo); } 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; } } 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; 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