From 2a542491b78e75cfa0a22b4c6eb6e6087bf2746e Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期六, 11 十一月 2023 13:28:10 +0800 Subject: [PATCH] bug修复 --- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 38 ++++++++++++++++++++++++++++++-------- 1 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index bf873fb..92dda9f 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 绉诲姩绔湇鍔℃牳蹇冪被 @@ -37,6 +38,8 @@ private OrderDetlService orderDetlService; @Autowired private AgvBasDevpService agvBasDevpService; + @Autowired + private AgvLocDetlService agvLocDetlService; /* @@ -50,9 +53,13 @@ } //妫�鏌ユ槸鍚﹀凡瀛樺湪鐩稿悓鐨勬墭鐩樻潯鐮侊紝瀛樺湪鍒欐姏鍑哄紓甯� - if (agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>(). - eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { + if (agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().eq("supp_code", param.getBarcode())) > 0) { throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱"); + } + + //妫�鏌ュ簱瀛樻槸鍚︽湁鐩稿悓鏂欑锛屽瓨鍦ㄥ垯鎶涘嚭寮傚父 + if(!Cools.isEmpty(agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("supp_code",param.getBarcode())))){ + throw new CoolException(param.getBarcode() + "鏂欑鐮佸凡鍦ㄥ簱瀛樹腑"); } if (Cools.isEmpty(param.getOrderNo())) { @@ -122,10 +129,10 @@ checkOrderQty(order,combMat); } - DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme()); + DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(), combMat.getIsoseq(),combMat.getContainerCode()); //鍚屼竴鎵樼洏涓嬬浉鍚岀墿鏂欎俊鎭拰鎵瑰彿杞负涓�涓叆搴撻�氱煡妗� if (DetlDto.has(detlDtos, detlDto)) { - DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(), detlDto.getCsocode(), detlDto.getIsoseq(),null); assert one != null; one.setAnfme(one.getAnfme() + detlDto.getAnfme()); } else { @@ -141,7 +148,7 @@ */ private void checkOrderQty(Order order, CombParam.CombMat combMat){ // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙锛屽鏋滀綔涓氭暟閲忓ぇ浜庡崟鎹暟閲忓垯鎶涘嚭寮傚父 - OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getCsocode(),combMat.getIsoseq()); if(Cools.isEmpty(orderDetl)){ throw new CoolException("鏈尮閰嶅埌璇ュ崟鎹笅鐨勭墿鏂�"); } @@ -149,7 +156,7 @@ throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } // 淇敼璁㈠崟鏄庣粏鏁伴噺 - if (!orderDetlService.increase(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) { + if (!orderDetlService.increase(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(),combMat.getIsoseq())) { throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触"); } } @@ -166,10 +173,18 @@ waitPakin.sync(mat); waitPakin.setOrderNo(orderNo); // 鍗曟嵁缂栧彿 waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮� - waitPakin.setZpallet(zpallet); // 鎵樼洏鐮� + //waitPakin.setZpallet(zpallet); // 鎵樼洏鐮� + waitPakin.setSuppCode(zpallet); // 鎵樼洏鐮� waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺 waitPakin.setStatus("Y"); // 鐘舵�� + + ////閿�鍞鍗曞彿 + waitPakin.setThreeCode(detlDto.getCsocode()); + //閿�鍞鍗曡鍙� + waitPakin.setDeadTime(detlDto.getIsoseq()); + + waitPakin.setAppeUser(userId); waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); @@ -195,6 +210,10 @@ @Override public void combBinding(String barcode, String stationCode) { + if(Cools.isEmpty(agvWaitPakinService.selectByContainerCode(barcode))){ + throw new CoolException("璇ユ枡绠辨湭缁勬墭锛屾棤娉曠粦瀹氱珯鐐�"); + } + AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", barcode)); if(!Cools.isEmpty(agvBasDevp)){ @@ -217,7 +236,10 @@ public List<AgvBasDevp> getAgvBasDevpByFloor(int floor) { EntityWrapper<AgvBasDevp> wrapper = new EntityWrapper<>(); wrapper.eq("floor",floor).eq("cache_shelves","Y").eq("loc_sts","F"); - return agvBasDevpService.selectList(wrapper); + List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(wrapper); + return agvBasDevpList.stream().filter(agvBasDevp -> { + return !Cools.isEmpty(agvWaitPakinService.selectByContainerCode(agvBasDevp.getBarcode())); + }).collect(Collectors.toList()); } } -- Gitblit v1.9.1