From f6f8bb8d5dfc7f663bdce8a0fbf5062a030de2f6 Mon Sep 17 00:00:00 2001 From: ytfl <ytfl@qq.com> Date: 星期六, 14 六月 2025 20:07:12 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 37 ++++++++++++++++++++++--------------- 1 files changed, 22 insertions(+), 15 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 d8e1c93..8449098 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -13,6 +13,7 @@ import com.zy.asrs.mapper.LocMastMapper; import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; +import com.zy.asrs.utils.MathUtils; import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.common.model.DetlDto; import com.zy.common.model.enums.WorkNoType; @@ -26,6 +27,7 @@ import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; /** * 绉诲姩绔湇鍔℃牳蹇冪被 @@ -531,7 +533,7 @@ ArrayList<PickMatParam> maps = new ArrayList<>(); for (OrderDetl orderDetl : list) { //鍓╀綑鍙敤鏁伴噺 - double count = orderDetl.getAnfme() - orderDetl.getWorkQty(); + double count = MathUtils.subtract(orderDetl.getAnfme(), orderDetl.getWorkQty()); if (count <= 0) { continue; } @@ -554,9 +556,15 @@ if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { throw new CoolException(BaseRes.PARAM); } -// if (param.getCombMats().size() > 1) { + List<String> codes = param.getCombMats().stream().map(CombParam.CombMat::getTiaoma).collect(Collectors.toList()); + Set<String> sets = new HashSet<>(); + if (codes.stream().anyMatch(item -> !sets.add(item))) { + throw new CoolException("鏉$爜閲嶅鎵爜浜�"); + } + // if (param.getCombMats().size() > 1) { // throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒"); // } + // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁 if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { @@ -587,6 +595,7 @@ param.getCombMats().forEach(elem -> { DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(), elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme()); + detlDto.setWeight(elem.getWeight()); if (DetlDto.has(detlDtos, detlDto)) { DetlDto one = DetlDto.findDto(detlDtos, detlDto); assert one != null; @@ -620,6 +629,7 @@ waitPakin.setStandby1(detlDto.getStandby1()); waitPakin.setStandby2(detlDto.getStandby2()); waitPakin.setStandby3(detlDto.getStandby3()); + waitPakin.setTkFlag(param.getTkFlag()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -655,6 +665,7 @@ DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(), elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme()); detlDto.setOrderNo(elem.getOrderNo()); + detlDto.setWeight(elem.getWeight()); if (DetlDto.has(detlDtos, detlDto)) { DetlDto one = DetlDto.findDto(detlDtos, detlDto); assert one != null; @@ -688,6 +699,7 @@ waitPakin.setStandby1(detlDto.getStandby1()); waitPakin.setStandby2(detlDto.getStandby2()); waitPakin.setStandby3(detlDto.getStandby3()); + waitPakin.setWeight(detlDto.getWeight()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -826,26 +838,21 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触"); } + } + List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + for (WrkDetl wrkDetl : wrkDetls1) { + LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()); + locDetlAdjusts.add(locDetlAdjust); + String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo(); List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo)); for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) { if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) { checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme()); checkOrderDetl.setStatus("2"); - } else { - InventoryCheckOrderDetl newDetl = new InventoryCheckOrderDetl(); - Synchro.Copy(wrkDetl, newDetl); - newDetl.setAnfme(0D); - newDetl.setCheckAnfme(wrkDetl.getAnfme()); - newDetl.setOrderNo(checkOrderDetl.getOrderNo()); - newDetl.setStatus("2"); + inventoryCheckOrderDetlService.updateById(checkOrderDetl); } } - } - List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); - for (WrkDetl wrkDetl : wrkDetls1) { - LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()); - locDetlAdjusts.add(locDetlAdjust); } // 淇敼鐩樼偣浠诲姟涓绘。鐘舵�� wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N"); @@ -1063,7 +1070,7 @@ } //鍙嚭搴撴暟閲� = 璁㈠崟鏁伴噺 - 浣滀笟涓暟閲� - Double outQty = orderDetl.getAnfme() - orderDetl.getWorkQty(); + Double outQty = MathUtils.subtract(orderDetl.getAnfme(), orderDetl.getWorkQty()); if (outQty <= 0) { break; } -- Gitblit v1.9.1