From f56e004dac74ebcf6638e0b8dc162062f19dbe34 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 06 一月 2025 15:50:02 +0800 Subject: [PATCH] #平库入库完成+库存明细+库存统计 --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 103 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index c2ca4bf..2061981 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -1004,6 +1004,109 @@ } + @Override + @Transactional + public void pingKuShelves(CombParam combParam,Long userId) { + Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", combParam.getLocno()).eq("type", 3)); + if (Cools.isEmpty(node)){ + throw new CoolException("鏈壘鍒板簱浣嶄俊鎭�"); + } + + Order order = orderService.selectByNo(combParam.getOrderNo()); + if (Cools.isEmpty(order) || order.getSettle() > 2) { + throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); + } + // 鐢熸垚鍏ュ簱閫氱煡妗� + List<DetlDto> detlDtos = new ArrayList<>(); + + for (CombParam.CombMat elem : combParam.getCombMats()) { + + +// param.getCombMats().forEach(elem -> { + + // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 + OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); + if (Cools.isEmpty(orderDetl)) { + throw new CoolException("璇ュ崟鎹腑鏈壘鍒板搴旂墿鏂欐槑缁�"); + } + if (elem.getAnfme() > orderDetl.getEnableQty()) { + throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); + } + // 淇敼璁㈠崟浣滀笟鏁伴噺 + if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) { + throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); + } + +// DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getManu()); + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getSuppCode() + , orderDetl.getManu(),orderDetl.getSku(),orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2(),orderDetl.getTemp3(),orderDetl.getTemp4()); + if (DetlDto.has(detlDtos, detlDto)) { + DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + assert one != null; + one.setAnfme(one.getAnfme() + detlDto.getAnfme()); + } else { + detlDtos.add(detlDto); + } +// }); + } + int workNo = commonService.getWorkNo(4); + Date now = new Date(); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(4L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID + wrkMast.setIoType(300); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 + wrkMast.setIoPri(12D); // 浼樺厛绾� + wrkMast.setLocNo(node.getName()); + wrkMast.setBarcode(""); // 鎵樼洏鐮� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("Y"); + wrkMast.setSheetNo(order.getOrderNo()); + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + for (DetlDto detlDto : detlDtos) { + Mat mat = matService.selectByMatnr(detlDto.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + } + WrkDetl wrkDetl = new WrkDetl(); + + wrkDetl.sync(detlDto); + wrkDetl.sync(mat); + + wrkDetl.setOrderNo(order.getOrderNo()); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkDetl.setManu(detlDto.getMark()); //鏍囪 + wrkDetl.setOrigin(order.getItemName());//浠撳簱 + wrkDetl.setSupp(detlDto.getSuppName()); //渚涘簲鍟� + wrkDetl.setSku(detlDto.getCustomer()); //瀹㈡埛鍚嶇О + wrkDetl.setThreeCode(detlDto.getOrderNo()); //u8鍙戣繃鏉ョ殑璁㈠崟鍙� + wrkDetl.setSuppCode(detlDto.getFromOrderNo()); //鏉ユ簮鍗曞彿 + wrkDetl.setTemp1(detlDto.getTemp1()); + wrkDetl.setTemp2(detlDto.getTemp2()); + wrkDetl.setTemp3(detlDto.getTemp3()); + wrkDetl.setTemp4(detlDto.getTemp4()); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + } + orderService.updateSettle(order.getId(), 2L, userId); + + + } + public void uploadErp(InventoryErpParam param){ String response = ""; boolean success = false; -- Gitblit v1.9.1