src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/AgvCommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -66,7 +66,7 @@ * ioType 108.自动调拨 * crnNo :2目标楼层 */ @Scheduled(cron = "0/1 * * * * ? ") @Scheduled(cron = "0/10 * * * * ? ") private synchronized void execute2() { List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 108).andNew().eq("crn_no", 2).or().eq("crn_no", 3).orderBy("io_pri", false).orderBy("appe_time", true)); if (agvWrkMastList.isEmpty()) { @@ -110,7 +110,7 @@ * wrkSts 22.调拨待分配 * ioType 111.手动调拨 */ @Scheduled(cron = "0/2 * * * * ? ") @Scheduled(cron = "0/10 * * * * ? ") private void execute3() { List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 111).orderBy("io_pri", false).orderBy("appe_time", true)); if (agvWrkMastList.isEmpty()) { @@ -222,10 +222,9 @@ return; } Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME")); for (AgvLocMast agvLocMast : agvLocMasts) { if (agvLocMast.getLocNo().contains("02F1")) { Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME")); boolean flag = false; if (config != null && !Cools.isEmpty(config.getValue())) { try { src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -15,6 +15,7 @@ import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.service.AgvCommonService; import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -115,6 +116,9 @@ @Autowired private ReportDataService reportDataService; @Autowired private AgvCommonService agvCommonService; @Transactional public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) { @@ -171,7 +175,7 @@ switch (agvWrkMast.getIoType()) { case 1: agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(),agvWrkMast.getCtnNo()); agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(), agvWrkMast.getCtnNo()); //更新目标库位明细 log.info("更新目标库位明细 agvWrkMast.getLocNo(): " + agvWrkMast.getLocNo() + ", wrkNo: " + wrkNo); agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(), wrkNo); @@ -191,7 +195,7 @@ //更新库存明细 agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo()); //修改源库位状态为O agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", null,""); agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", null, ""); break; case 53: //修改工作党明细 @@ -254,7 +258,7 @@ }); // 更新站点 + 库位状态 源库位是站点 agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue()); agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(),agvWrkMast.getCtnNo()); agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(), agvWrkMast.getCtnNo()); break; case 58: agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue()); @@ -421,10 +425,27 @@ wrkMast.setIoTime(now); //优先级 wrkMast.setIoPri(300.0); //源站点 wrkMast.setSourceLocNo(agvWrkMast.getLocNo()); //目标站点 wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); if (agvWrkMast.getLocNo().startsWith("QO") && agvWrkMast.getLocNo().endsWith("F4") && Integer.valueOf(agvWrkMast.getBarcode().substring(0, 2)) == 30) { if (!agvWrkMast.getSourceLocNo().endsWith("02F1")) { AgvLocMast locByFloor = agvCommonService.getLocByFloor(3, 1); if (locByFloor != null) { wrkMast.setLocNo(locByFloor.getLocNo()); } else { wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); } } else { wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); } } else { wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); } //货架编码 wrkMast.setBarcode(agvWrkMast.getBarcode()); //货架类型 src/main/java/com/zy/common/service/AgvCommonService.java
@@ -231,6 +231,28 @@ } /* 库位规则查找 */ public AgvLocMast getLocByFloor(int type, int floor) { try { EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); wrapper.eq("loc_sts", "O").eq("loc_type1", type); wrapper.eq("floor", floor).orderBy("lev1", false); List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper); for (AgvLocMast agvLocMast : agvLocMasts) { AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo())); if (agvLocMast1.getLocSts().equals("O")) { return agvLocMast1; } } return null; } catch (Exception e) { return null; } } /* 库位规则查找 */ private AgvLocMast getLocByLocCodeRule(AgvWaitPakin agvWaitPakin, int floor) {