From abb7c67088e18f8052eeff6d35b611286eedcee5 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 21 三月 2025 15:52:02 +0800 Subject: [PATCH] #出入库改动 --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 152 +++++++++++++++++++++++++++++++------------------- 1 files changed, 93 insertions(+), 59 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 74ac54a..415d235 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -20,6 +20,7 @@ import com.zy.common.entity.Parameter; import com.zy.common.model.DetlDto; import com.zy.common.model.MesCombParam; +import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -63,6 +64,10 @@ private ApiLogService apiLogService; @Autowired private WorkLogHandler workLogHandler; + @Autowired + private CommonService commonService; + @Autowired + private LocMastService locMastService; @Override @Transactional @@ -77,11 +82,11 @@ } // todo: 涓嶄笅绾块噸鏂板叆搴� - WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); - if (wrkMast != null && wrkMast.getWrkSts() == 18) { - ReturnT<String> start = workLogHandler.start(wrkMast); + WrkMast wrkMast18 = wrkMastService.selectByBarcode(param.getBarcode()); + if (wrkMast18 != null && wrkMast18.getWrkSts() == 18) { + ReturnT<String> start = workLogHandler.start(wrkMast18); if (!start.isSuccess()) { - log.error("宸ヤ綔妗workNo={}]鍘嗗彶妗e鐞嗗け璐�", wrkMast.getWrkNo()); + log.error("宸ヤ綔妗workNo={}]鍘嗗彶妗e鐞嗗け璐�", wrkMast18.getWrkNo()); } } @@ -90,40 +95,6 @@ // 鏃犲崟缁勬墭 if (Cools.isEmpty(param.getOrderNo())) { - // 鐢熸垚鍏ュ簱閫氱煡妗� - List<DetlDto> detlDtos = new ArrayList<>(); - param.getCombMats().forEach(elem -> { - DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); - 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); - } - }); - - - for (DetlDto detlDto : detlDtos) { - Mat mat = matService.selectByMatnr(detlDto.getMatnr()); - if (Cools.isEmpty(mat)) { - throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); - } - WaitPakin waitPakin = new WaitPakin(); - waitPakin.sync(mat); - waitPakin.setBatch(detlDto.getBatch()); - waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� - waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� - waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺 - waitPakin.setStatus("Y"); // 鐘舵�� - waitPakin.setAppeUser(userId); - waitPakin.setAppeTime(now); - waitPakin.setModiUser(userId); - waitPakin.setModiTime(now); - if (!waitPakinService.insert(waitPakin)) { - throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); - } - } // 鍏宠仈缁勬墭 } else { Order order = orderService.selectByNo(param.getOrderNo()); @@ -153,30 +124,93 @@ detlDtos.add(detlDto); } }); - for (DetlDto detlDto : detlDtos) { - Mat mat = matService.selectByMatnr(detlDto.getMatnr()); - if (Cools.isEmpty(mat)) { - throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); - } - WaitPakin waitPakin = new WaitPakin(); - waitPakin.sync(mat); - waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 - waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮� - waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� - waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� - waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺 - waitPakin.setStatus("Y"); // 鐘舵�� - waitPakin.setAppeUser(userId); - waitPakin.setAppeTime(now); - waitPakin.setModiUser(userId); - waitPakin.setModiTime(now); - if (!waitPakinService.insert(waitPakin)) { - throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); - } - } + orderService.updateSettle(order.getId(), 2L, userId); } + LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", param.getLocno())); + if (Cools.isEmpty(locMast1)) { + throw new CoolException("鏈壘鍒版纭殑搴撲綅淇℃伅"); + } + + int workNo = commonService.getWorkNo(0); + + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(9L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID + wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 + Double ioPri = wrkMastService.getIoPri(1, locMast1.getLocNo()); + wrkMast.setIoPri(ioPri); // 浼樺厛绾� + wrkMast.setCrnNo(locMast1.getCrnNo()); + wrkMast.setOutMost(locMastService.isOutMost(locMast1.getLocNo(), true)?1:0);; + wrkMast.setSourceStaNo(null); + wrkMast.setStaNo(null); + wrkMast.setLocNo(locMast1.getLocNo()); + wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("Y"); + wrkMast.setCtnType(null); // 瀹瑰櫒绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + + for (CombParam.CombMat paramMat : param.getCombMats() ) + { + Mat mat = matService.selectByMatnr(paramMat.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(paramMat.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + } + + // 鐢熸垚宸ヤ綔妗f槑缁� + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); + wrkDetl.setAnfme(paramMat.getAnfme()); + wrkDetl.setZpallet(param.getBarcode()); +// wrkDetl.setAnfme(1.0D); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + } + +// // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y +// Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() +// .eq("zpallet", barcode); +// WaitPakin setParam = new WaitPakin(); +// setParam.setIoStatus("Y"); +// setParam.setModiTime(now); +// if (!waitPakinService.update(setParam, wrapper)) { +// throw new CoolException("鏇存柊閫氱煡妗eけ璐�"); +// } + + + // 鏇存柊鐩爣搴撲綅鐘舵�� + + if (locMast1.getLocSts().equals("O")){ + locMast1.setLocSts("S"); // S.鍏ュ簱棰勭害 + locMast1.setModiTime(now); + if (!locMastService.updateById(locMast1)){ + throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); + } + } else { + throw new CoolException(locMast1.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); + } + + + } @Override -- Gitblit v1.9.1