src/main/java/com/zy/asrs/controller/AgvOpenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -78,7 +78,10 @@ } AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo)); if(Cools.isEmpty(agvWrkMast)){ return R.error("任务编号错误"); agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",param.getContainerCode())); if (Cools.isEmpty(agvWrkMast)){ return R.error("任务编号错误"); } } AgvTask agvTask = AgvTask.valueOf(param.getEventType()); @@ -115,7 +118,10 @@ @Transactional public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { //修改AGV工作档的工作状态为205.工作完成 agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205); agvWrkMast.setWrkSts(205L); agvWrkMast.setLocNo(param.getLocationCode()); agvWrkMastService.updateById(agvWrkMast); //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205); //出库任务 101.出库 || 103.拣料出库 || 107.盘点出库 if(agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107){ @@ -200,7 +206,11 @@ @Transactional public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { //修改工作档状态为204.放货完成 agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204); agvWrkMast.setWrkSts(204L); agvWrkMast.setLocNo(param.getLocationCode()); agvWrkMastService.updateById(agvWrkMast); //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204); } public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -506,7 +506,9 @@ if (Cools.isEmpty(wrkMast)){ throw new CoolException(workNo+"工作档不存在"); } if(!wrkMast.getLocNo().contains("@") || !wrkMast.getSourceLocNo().contains("@")){ throw new CoolException("目标库位或者源库位暂未分配,无法取消"); } //修改AGV工作档的工作状态为205.工作完成 agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205); src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -45,9 +45,6 @@ @Value("${agv.containerArrivedPath}") private String containerArrivedPath; @Value("${agvBasDev.maxWorkNum}") private int maxWrokNum; @Autowired AgvWrkMastMapper agvWrkMastMapper; @Autowired @@ -182,7 +179,12 @@ if(agvWrkMast.getSourceLocNo().contains("CS") || agvWrkMast.getSourceLocNo().contains("SK")){ agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); } agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo()); if(agvWrkMast.getLocNo().contains("SK")){ agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo()); }else { agvTaskkDescribeParam.setToStationCode(agvWrkMast.getLocNo()); } agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode()); return agvTaskParam; }).collect(Collectors.toList()); src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -100,39 +100,15 @@ } } // 如果 作业数量等于单据总数量 && 工作明细档中无该单据的数据 && AGV工作明细档中无该单据的数据 int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)); boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)) < 1; boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().eq("order_no",orderNo)) < 1; boolean waitPakinExist = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",orderNo)) < 1; ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo); boolean manPakoutExist = Cools.isEmpty(manPakOut) || manPakOut.getPayment() == 1; boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1); if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) { // 出库订单重新整理明细 // DocType docType = docTypeService.selectById(order.getDocType()); // if (null != docType && docType.getPakout() == 1) { // // 重组明细 // if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { // throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败"); // } // List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo); // for (WrkDetl wrkDetl : wrkDetls) { // OrderDetl orderDetl = new OrderDetl(); // orderDetl.sync(wrkDetl); // orderDetl.setQty(orderDetl.getAnfme()); // orderDetl.setOrderId(order.getId()); // orderDetl.setOrderNo(orderNo); // orderDetl.setStatus(1); // orderDetl.setCreateTime(order.getCreateTime()); // orderDetl.setCreateBy(order.getCreateBy()); // orderDetl.setUpdateTime(order.getUpdateTime()); // orderDetl.setUpdateBy(order.getUpdateBy()); // if (!orderDetlService.insert(orderDetl)) { // throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败"); // } // } // } if (!this.updateSettle(order.getId(), 4L, null)) { throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败"); } src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -103,7 +103,7 @@ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50) ,new EntityWrapper<AgvWrkMast>() .eq("wrk_sts", 21) .like("loc_no","@") //.like("loc_no","@") .andNew().eq("io_type", 101) .or().eq("io_type", 103) .or().eq("io_type", 11) @@ -122,7 +122,7 @@ /* 定时处理等待执行的任务 工作状态为21.生成出库任务 且目标库位中不含@字符 */ @Scheduled(cron = "0/10 * * * * ? ") //@Scheduled(cron = "0/10 * * * * ? ") public void dealWatiWrk(){ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectReadyAgvWrkMast(); if(!Cools.isEmpty(agvWrkMastList)){ src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -1,5 +1,6 @@ package com.zy.asrs.task; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.Order; import com.zy.asrs.service.ApiLogService; @@ -53,4 +54,15 @@ } } /* 定时查询状态为2.作业中的单据,检查是否完成 */ @Scheduled(cron = "0 */1 * * * ? ") public void completeOrder(){ List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2)); orderList.forEach(order -> { orderService.checkComplete(order.getOrderNo()); }); } } src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -182,11 +182,11 @@ @Transactional public ReturnT<String> startCarryWrk(List<AgvWrkMast> agvWrkMastList) throws IOException { log.info(agvWrkMastList.toString()); //log.info(agvWrkMastList.toString()); //任务过滤,过滤掉已存在相同目标库位的工作档 agvWrkMastList = filter(agvWrkMastList); //agvWrkMastList = filter(agvWrkMastList); int code = agvWrkMastService.startWrk(agvWrkMastList,"carry"); log.info(agvWrkMastList.toString()); //log.info(agvWrkMastList.toString()); if (Cools.isEmpty(agvWrkMastList)){ return SUCCESS; } src/main/resources/application.yml
@@ -73,16 +73,16 @@ password: Wlzh44338 agv: url: localhost:8080 taskCreatePath: /agv/task/create containerMoveInPath: /agv/container/moveIn containerMoveOutPath: /agv/container/moveOut containerArrivedPath: /agv/containerArrived # url: 10.10.10.182:9046 # taskCreatePath: /task/create # containerMoveInPath: /expand/api/moveIn/container # containerMoveOutPath: /expand/api/moveOut/container # containerArrivedPath: /conveyor/containerArrived # url: localhost:8080 # taskCreatePath: /agv/task/create # containerMoveInPath: /agv/container/moveIn # containerMoveOutPath: /agv/container/moveOut # containerArrivedPath: /agv/containerArrived url: 10.10.10.182:9046 taskCreatePath: /task/create containerMoveInPath: /expand/api/moveIn/container containerMoveOutPath: /expand/api/moveOut/container containerArrivedPath: /conveyor/containerArrived u8: url: http://192.168.1.55:8010