src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -17,10 +17,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Optional; import java.util.*; import java.util.stream.Collectors; /** @@ -92,6 +89,17 @@ if (!Cools.isEmpty(agvWrkMastService.selectByContainerCode(param.getBarcode()))) { throw new CoolException(param.getBarcode() + "货架码已存在AGV工作档中"); } //判断是否有相同明细 List<CombParam.CombMat> combMats = param.getCombMats(); Map<String, String> data = new HashMap<>(); for (CombParam.CombMat combMat : combMats) { String matnr = combMat.getMatnr(); String csocode = combMat.getCsocode(); if (data.get(matnr + csocode) != null) { throw new CoolException("明细中存在相同物料号和订单号"); } data.put(matnr + csocode, matnr + csocode); } if (Cools.isEmpty(param.getOrderNo())) { //无单组托 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -640,7 +640,8 @@ } if (Cools.isEmpty(agvLocMast)) { throw new CoolException("暂无当前出库站点类型的空货架!"); log.info("暂无当前出库站点类型的空货架!"); return; } //生成工作档 createWrkMast(110, 21L, agvLocMast.getLocNo(), agvBasDevp.getDevNo(), agvLocMast.getBarcode(), now, userId, containerType, agvLocMast.getPltType()); src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -86,7 +86,7 @@ @Scheduled(fixedDelay = 30000) //@Async("orderThreadPool") public synchronized void reportOrder() { DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("docName", "银座采购入库单")); DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "银座采购入库单")); List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("doc_type", docType.getDocId()).in("settle", 2, 4)); orderList.forEach(order -> { orderSyncHandler.timelyStart(order); src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -191,11 +191,15 @@ //检索库位,选择合适的库位 AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,true); if (Cools.isEmpty(locMast)) { throw new CoolException("暂无库位"); log.info("暂无库位"); return FAIL; //throw new CoolException("暂无库位"); } AgvWrkMast workingMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locMast.getLocNo())); if (!Cools.isEmpty(workingMast)) { throw new CoolException("当前库位正在进行入库,进行下一次轮询"); log.info("当前库位正在进行入库,进行下一次轮询"); return FAIL; //throw new CoolException("当前库位正在进行入库,进行下一次轮询"); } agvWrkMast.setWrkSts(201L); agvWrkMast.setModiTime(new Date()); @@ -215,7 +219,9 @@ //检索库位,选择合适的库位 AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,false); if (Cools.isEmpty(locMast)) { throw new CoolException("暂无库位"); log.info("暂无库位"); return FAIL; //throw new CoolException("暂无库位"); } agvWrkMast.setWrkSts(201L); agvWrkMast.setLocNo(locMast.getLocNo()); @@ -239,7 +245,9 @@ } if (Cools.isEmpty(devpNo)) { throw new CoolException("暂无空闲接驳位"); log.info("暂无空闲接驳位"); return FAIL; //throw new CoolException("暂无空闲接驳位"); } agvWrkMast.setWrkSts(201L); agvWrkMast.setLocNo(devpNo.getDevNo()); @@ -400,7 +408,9 @@ } List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("source_loc_no", floor).or().eq("io_type", 113)); if (agvWrkMasts.size() >= 5) { throw new CoolException("暂停回流"); log.error("暂停回流"); return FAIL; //throw new CoolException("暂停回流"); } //检索空闲可入接驳位 没有空闲可入接驳位 直接找库位 AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor(),"Y","Y");