From c37ae85eab15d2c7566677bfb26920c31da879fe Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期五, 24 十一月 2023 12:07:51 +0800 Subject: [PATCH] agv拣货流程更改 --- src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 4 +- src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 6 +- src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 28 +------------- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 4 + src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 12 ++++++ src/main/java/com/zy/asrs/controller/AgvOpenController.java | 16 ++++++- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 10 +++-- src/main/resources/application.yml | 20 +++++----- 8 files changed, 51 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java index a02a99c..bc92bad 100644 --- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java +++ b/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宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 - agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205); + agvWrkMast.setWrkSts(205L); + agvWrkMast.setLocNo(param.getLocationCode()); + agvWrkMastService.updateById(agvWrkMast); + //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205); //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱 if(agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107){ @@ -200,7 +206,11 @@ @Transactional public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { //淇敼宸ヤ綔妗g姸鎬佷负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) { diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java index d92368e..27d77a6 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -506,7 +506,9 @@ if (Cools.isEmpty(wrkMast)){ throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); } - + if(!wrkMast.getLocNo().contains("@") || !wrkMast.getSourceLocNo().contains("@")){ + throw new CoolException("鐩爣搴撲綅鎴栬�呮簮搴撲綅鏆傛湭鍒嗛厤锛屾棤娉曞彇娑�"); + } //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205); diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java index dc74a33..964f52f 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/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()); diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index 5cc5352..7d2b56e 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -100,39 +100,15 @@ } } // 濡傛灉 浣滀笟鏁伴噺绛変簬鍗曟嵁鎬绘暟閲� && 宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� && AGV宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� + 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("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + 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("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�"); -// } -// } -// } if (!this.updateSettle(order.getId(), 4L, null)) { throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�"); } diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java index 3bfcbea..efcdff9 100644 --- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java +++ b/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)){ diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java index 1619b74..84bfaa1 100644 --- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java +++ b/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()); + }); + } + } diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java index 7ea6bfb..8d5d43a 100644 --- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java +++ b/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; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c0ffce8..74c7ea8 100644 --- a/src/main/resources/application.yml +++ b/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 -- Gitblit v1.9.1