From 52f2306fe8e8f0760b32f33371adf4037e031bcf Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期二, 29 十月 2024 13:28:27 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 106 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 75 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 188d814..81c4791 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -114,13 +114,13 @@ wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); wrkMast.setLocNo(dto.getLocNo()); - wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮� + wrkMast.setBarcode(param.getBarcode()); // 璐ф灦鐮� wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("N"); - wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 + wrkMast.setCtnType(sourceStaNo.getCtnType()); // 璐ф灦绫诲瀷 wrkMast.setAppeUser(userId); wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); @@ -284,6 +284,7 @@ } } + ArrayList<String> outerLocs = new ArrayList<>(); //妫�娴嬫槸鍚︿负娴呭簱浣� boolean sign=false; String th = ""; @@ -301,17 +302,32 @@ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", outerLoc)); if (locMast != null) { if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) { - sign = true; - th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; - break; +// sign = true; +// th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; +// break; + + OutLocDto outLocDto = new OutLocDto(); + outLocDto.setLocNo(locMast.getLocNo()); + List<LocDetlDto> locDetlDtos1 = new ArrayList<>(); + for (LocDetl locDetl : locDetlService.selectByLocNo(locMast.getLocNo())) { + LocDetlDto locDetlDto = new LocDetlDto(); + locDetlDto.setLocDetl(locDetl); + locDetlDto.setCount(locDetl.getAnfme()); + locDetlDtos1.add(locDetlDto); + } + outLocDto.setLocDetlDtos(locDetlDtos1); + if (!outerLocs.contains(locMast.getLocNo())) { + dtos.add(outLocDto); + outerLocs.add(locMast.getLocNo()); + } } } } } } - if (sign){ - throw new CoolException("鍑哄簱澶辫触锛�"+th); - } +// if (sign){ +// throw new CoolException("鍑哄簱澶辫触锛�"+th); +// } //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜************** HashMap<String, Object> tmpMap = new HashMap<>(); @@ -511,26 +527,53 @@ } Mat mat = matService.selectByMatnr(locDto.getMatnr()); assert mat != null; - WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.sync(mat); - wrkDetl.setZpallet(wrkMast.getBarcode()); - wrkDetl.setIoTime(now); - wrkDetl.setWrkNo(workNo); - wrkDetl.setBatch(locDto.getBatch()); - wrkDetl.setOrderNo(locDto.getOrderNo()); - wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺 - wrkDetl.setAppeTime(now); - wrkDetl.setAppeUser(userId); - wrkDetl.setModiTime(now); - wrkDetl.setModiUser(userId); - wrkDetl.setSuppCode(locDto.getContainerCode()); - wrkDetl.setThreeCode(locDto.getCsocode()); - wrkDetl.setDeadTime(locDto.getIsoseq()); - if (!wrkDetlService.insert(wrkDetl)) { - throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + + if (!BaseController.isJSON(locDto.getOrderNo())) { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); + wrkDetl.setZpallet(wrkMast.getBarcode()); + wrkDetl.setIoTime(now); + wrkDetl.setWrkNo(workNo); + wrkDetl.setBatch(locDto.getBatch()); + wrkDetl.setOrderNo(locDto.getOrderNo()); + wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺 + wrkDetl.setAppeTime(now); + wrkDetl.setAppeUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setModiUser(userId); + wrkDetl.setSuppCode(locDto.getContainerCode()); + wrkDetl.setThreeCode(locDto.getCsocode()); + wrkDetl.setDeadTime(locDto.getIsoseq()); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗� + generateAgvWaitpakin(wrkDetl); + }else { + List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class); + orderDtoList.forEach(orderDto -> { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); + wrkDetl.setZpallet(wrkMast.getBarcode()); + wrkDetl.setIoTime(now); + wrkDetl.setWrkNo(workNo); + wrkDetl.setBatch(locDto.getBatch()); + wrkDetl.setOrderNo(orderDto.getOrderNo()); + wrkDetl.setAnfme(orderDto.getAnfme()); // 鏁伴噺 + wrkDetl.setAppeTime(now); + wrkDetl.setAppeUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setModiUser(userId); + wrkDetl.setSuppCode(locDto.getContainerCode()); + wrkDetl.setThreeCode(locDto.getCsocode()); + wrkDetl.setDeadTime(locDto.getIsoseq()); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗� + generateAgvWaitpakin(wrkDetl); + }); } - //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗� - generateAgvWaitpakin(wrkDetl); // 淇敼璁㈠崟鏄庣粏 if (!BaseController.isJSON(locDto.getOrderNo())) { @@ -557,8 +600,9 @@ orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq()); } - if(locAnfme > orderDetl.getAnfme()){ - orderAnfme = orderDetl.getAnfme(); + orderAnfme = orderDetl.getAnfme() - orderDetl.getQty(); + + if(locAnfme > orderAnfme){ locAnfme -= orderAnfme; }else { orderAnfme = locAnfme; @@ -612,7 +656,7 @@ wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("Y"); // 绌烘澘 wrkMast.setLinkMis("N"); - wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 + wrkMast.setCtnType(sourceStaNo.getCtnType()); // 璐ф灦绫诲瀷 // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeUser(userId); wrkMast.setAppeTime(new Date()); @@ -799,7 +843,7 @@ wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘 - wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� + wrkMast.setBarcode(sourceLoc.getBarcode()); // 璐ф灦鐮� wrkMast.setLinkMis("N"); wrkMast.setAppeUser(userId); wrkMast.setAppeTime(now); -- Gitblit v1.9.1