src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/WrkChargeService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/enums/SteChargeType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/enums/SteTaskModeType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/WrkChargeMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
@@ -9,4 +9,6 @@ @Repository public interface WrkChargeMapper extends BaseMapper<WrkCharge> { WrkCharge selectWorking(Integer steNo); } src/main/java/com/zy/asrs/service/WrkChargeService.java
@@ -5,4 +5,6 @@ public interface WrkChargeService extends IService<WrkCharge> { WrkCharge selectWorking(Integer steNo); } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1149,13 +1149,17 @@ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); SteProtocol steProtocol = steThread.getSteProtocol(); if (steProtocol == null) { return; } if (steProtocol.isIdle()) { if (!basSteService.updatePakMk(steNo, "Y")) { log.error("修改穿梭车作业状态 失败!!,穿梭车={}", steNo); return; } // 命令下发区 -------------------------------------------------------------------------- SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 穿梭车编号 steCommand.setTaskNo(wrkCharge.getWrkNo()); // 工作号 steCommand.setTaskMode(SteTaskModeType.findWaiting(steProtocol.getRow().intValue())); // 任务模式: 去近点 等待堆垛机叉取 steCommand.setTaskMode(SteTaskModeType.findOriginByLoc(steProtocol.getRow())); // 任务模式: 去近点 等待堆垛机叉取 steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); steCommand.setBay(steProtocol.getBay()); @@ -1169,7 +1173,6 @@ wrkCharge.setModiTime(new Date()); if (!wrkChargeService.updateById(wrkCharge)) { log.error("修改工作档状态 绑定穿梭车 失败!!,工作号={}", wrkCharge.getWrkNo()); } } } } @@ -2054,13 +2057,13 @@ BasSte basSte = basSteService.selectById(ste.getId()); if (Cools.isEmpty(steProtocol, basSte)) { continue; } try { if (!steProtocol.statusType.equals(SteStatusType.IDLE)) { if (!steProtocol.statusType.equals(SteStatusType.IDLE) || basSte.getPakMk().equals("Y")) { continue; } if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) { continue; } WrkCharge wrkCharge = wrkChargeService.selectById(steProtocol.getTaskNo()); WrkCharge wrkCharge = wrkChargeService.selectWorking(steProtocol.getSteNo().intValue()); if (wrkCharge == null) { String idleLoc = basSte.getIdleLoc(); @@ -2071,8 +2074,9 @@ wrkCharge.setCrnNo(basSte.getCrnNo()); wrkCharge.setIoPri((double) 10); wrkCharge.setLocNo(idleLoc); if (wrkChargeService.insert(wrkCharge)) { if (!wrkChargeService.insert(wrkCharge)) { log.error("保存{}号穿梭车充电任务失败!!!", ste.getId()); continue; } if (Utils.getGroupRow(idleLoc).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(idleLoc) && steProtocol.getLev() == Utils.getLev(idleLoc)) { @@ -2121,7 +2125,7 @@ } else if (wrkCharge.getWrkSts() == 6L) { // 小车行驶至充电位 if (steProtocol.isIdle()) { if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) { // 命令下发区 -------------------------------------------------------------------------- SteCommand steCommand = new SteCommand(); steCommand.setSteNo(wrkCharge.getSteNo()); // 穿梭车编号 src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
@@ -9,4 +9,8 @@ @Service("wrkChargeService") public class WrkChargeServiceImpl extends ServiceImpl<WrkChargeMapper, WrkCharge> implements WrkChargeService { @Override public WrkCharge selectWorking(Integer steNo) { return this.baseMapper.selectWorking(steNo); } } src/main/java/com/zy/core/enums/SteChargeType.java
@@ -4,19 +4,22 @@ public enum SteChargeType { FIRST(1, "0100101"), SECOND(2, "1400701"), THIRD(3, "2100401"), FIRST(1, "0100101", "0300101"), SECOND(2, "1400701", "1200701"), THIRD(3, "2100401", "1900401"), ; SteChargeType(int ssbm, String locNo) { SteChargeType(int ssbm, String locNo, String idleLoc) { this.ssbm = ssbm; this.locNo = locNo; this.idleLoc = idleLoc; } public int ssbm; public String locNo; public String idleLoc; public static SteChargeType get(String locNo) { if (Cools.isEmpty(locNo)) { @@ -24,7 +27,7 @@ } SteChargeType[] values = SteChargeType.values(); for (SteChargeType value : values) { if (value.locNo.equals(locNo)) { if (value.idleLoc.equals(locNo)) { return value; } } src/main/java/com/zy/core/enums/SteTaskModeType.java
@@ -118,6 +118,36 @@ } } public static SteTaskModeType findOriginByLoc(Short row) { switch (row) { case 1: case 2: case 3: case 8: case 9: case 10: case 11: case 15: case 16: case 17: case 18: return SteTaskModeType.GO_ORIGIN; case 4: case 5: case 6: case 7: case 12: case 13: case 14: case 19: case 20: case 21: return SteTaskModeType.BACK_ORIGIN; default: throw new CoolException("解析穿梭车原点定位失败"); } } public static SteTaskModeType findInByLoc(SteProtocol steProtocol) { switch (steProtocol.getRow()) { case 1: @@ -238,4 +268,34 @@ } } public static SteTaskModeType findChargeByLocForCharge(Integer row) { switch (row) { case 1: case 2: case 3: case 8: case 9: case 10: case 11: case 15: case 16: case 17: case 18: return SteTaskModeType.GO_ORIGIN; case 4: case 5: case 6: case 7: case 12: case 13: case 14: case 19: case 20: case 21: return SteTaskModeType.BACK_ORIGIN; default: throw new CoolException("解析穿梭车原点定位失败"); } } } src/main/resources/mapper/WrkChargeMapper.xml
@@ -29,4 +29,12 @@ </resultMap> <select id="selectWorking" resultMap="BaseResultMap"> select top 1 * from asr_wrk_charge where 1=1 and ste_no = #{steNo} and wrk_sts != 10 </select> </mapper>