src/main/java/com/zy/asrs/controller/AgvMobileController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/OrderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
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/controller/AgvMobileController.java
@@ -697,6 +697,7 @@ return R.ok(); } public static void main(String[] args) { List<AgvLocDetl> agvLocDetls1 = new ArrayList<>(); List<AgvLocDetl> agvLocDetls2 = new ArrayList<>(); src/main/java/com/zy/asrs/controller/OrderController.java
@@ -8,11 +8,13 @@ import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.AgvMobileStartPakin; import com.zy.asrs.entity.param.OrderDomainParam; import com.zy.asrs.entity.result.WrkTraceVo; import com.zy.asrs.service.*; import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.DataFormatter; @@ -54,6 +56,26 @@ private MatService matService; @Autowired private AgvLocDetlService agvLocDetlService; @GetMapping("/doc/type/list") @Transactional @ManagerAuth(memo = "单据类型") @Synchronized public R docTypeList(){ List<DocType> result = new ArrayList<>(); List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1)); List<Long> unDocIds = new ArrayList<>(); unDocIds.add(19L); unDocIds.add(30L); unDocIds.add(32L); unDocIds.add(36L); for (DocType pakin : pakins) { if (!unDocIds.contains(pakin.getDocId())) { result.add(pakin); } } return R.ok().add(result); } @RequestMapping(value = "/order/nav/list/auth") @ManagerAuth @@ -166,6 +188,46 @@ // return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper)); } @RequestMapping(value = "/order/detls/pakin") @ManagerAuth public R orderDetlsIn(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "100")Integer limit, @RequestParam(required = false)String orderByField, @RequestParam(required = false)String orderByType, @RequestParam(required = false)Long docType, @RequestParam Map<String, Object> param){ EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>(); param.remove("docType"); excludeTrash(param); convert(param, wrapper); // return R.ok(orderDetlService.getPakoutPage(toPage(curr, limit, param, OrderDetl.class))); List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1)); List<Long> docIds = new ArrayList<>(); List<Long> unDocIds = new ArrayList<>(); unDocIds.add(19L); unDocIds.add(30L); unDocIds.add(32L); unDocIds.add(36L); for (DocType pakin : pakins) { if (!unDocIds.contains(pakin.getDocId())) { docIds.add(pakin.getDocId()); } } if (docIds.size() > 0) { if (docType > 0) { wrapper.in("source",docType); } else { wrapper.in("source",docIds); } } else { wrapper.in("source",0); } return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper)); } @RequestMapping(value = "/order/wait/detls/pakin/page/auth") @ManagerAuth public R waitOrderDetls(@RequestParam(defaultValue = "1")Integer curr, src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -388,6 +388,20 @@ public String handControlLocMove(LocMoveParam param, Long userId) { String fl = String.valueOf(param.getFloor()); short floor =(short)Integer.parseInt(fl.substring(0, 1)); switch (param.getFloor()) { case "1F01": floor = 1; break; case "1F02": floor = 4; break; case "2F": floor = 2; break; case "3F": floor = 3; break; } Integer ioType = 0; AgvLocMast agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", param.getLocNo())); if (Cools.isEmpty(agvLocMast)) { @@ -405,17 +419,21 @@ } } else { if (agvLocMast.getFloor() != floor) { // if (floor==1 && agvLocMast.getFloor()!=1){ // ioType = 121; // }else { if (agvLocMast.getFloor() == 1) { throw new CoolException("当前库位请选择调拨单调拨!"); if (agvLocMast.getFloor() == 1 && (floor == 2 || floor == 3)) { throw new CoolException("当前库位请选择调拨单调拨!"); } else { ioType = 12; } } else { if (agvLocMast.getFloor() == 1) { if (agvLocMast.getLev1() == 1 && floor == 1) { ioType = 11; } else { ioType = 12; } // } } else { ioType = 11; } else { ioType = 11; } } } Date now = new Date(); @@ -425,7 +443,21 @@ throw new CoolException("当前"+agvLocMast.getBarcode()+"货架码已在工作档中"); } //检索库位,选择合适的库位 AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,false); AgvLocMast locMast = null; if (floor == 1) { locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,true,false); } else { locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,false); } // 目标楼层去 吸塑2楼 if (floor == 4) { if (locMast.getLev1() == 1) { throw new CoolException("吸塑一楼没有空库位可以移库!"); } } if (Cools.isEmpty(locMast)) { throw new CoolException("当前楼层没有空库位"); } @@ -480,7 +512,7 @@ } // 如果当前任务是箱壳二三楼回退一楼的 回滚调拨单 if (ioType == 12 && locMast.getFloor() == 1) { if (ioType == 12 && locMast.getFloor() == 1 && floor != 4 && agvLocMast.getFloor() != 1) { List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo())); for (AgvLocDetl agvLocDetl : agvLocDetls) { OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo())); src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -842,9 +842,11 @@ String targetLocNo = wrkMast.getLocNo(); agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null); // 源库位 库位主档 AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo)); AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo)); // 当前任务是跨层移库 且目标楼层是1楼的 回滚调拨单 if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1) { if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1 && sourceLocMast.getFloor() != 1) { List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo)); for (AgvLocDetl agvLocDetl : agvLocDetls) { OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo())); @@ -932,7 +934,7 @@ } if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){ if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){ //订单回滚 //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));