From 98d33bd648770ce2f81a25d5fb16ead6610e3774 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 17 七月 2025 10:39:43 +0800 Subject: [PATCH] #pda支持取消组托 --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 96 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 95 insertions(+), 1 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 dd58017..5918f7c 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -78,6 +79,8 @@ private ManLocDetlService manLocDetlService; @Autowired private ManLocDetlMapper manLocDetlMapper; + @Autowired + private ReportToThirdService reportToThirdService; @Autowired private InventoryCheckOrderService inventoryCheckOrderService; @@ -713,6 +716,53 @@ } + @Override + public void combCancel(CombCancelParam param, Long userId) { + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException(BaseRes.PARAM); + } + + List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>(). + eq("zpallet", param.getBarcode())); + if (waitPakins.isEmpty()) { + throw new CoolException("鎵樼洏鏈粍鎵�"); + } + + for (WaitPakin waitPakin : waitPakins) { + if (!Cools.isEmpty(waitPakin.getOrderNo())) { + Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, waitPakin.getOrderNo()); + if (Cools.isEmpty(order)) { + throw new CoolException("鍗曟嵁缂栧彿涓嶅瓨鍦�"); + } + + if (order.getSettle() > 2) { + throw new CoolException("鍗曟嵁缂栧彿宸蹭綔涓氬畬鎴�"); + } + + // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 + OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getBrand(), waitPakin.getStandby1(), waitPakin.getStandby2(), waitPakin.getStandby3(), + waitPakin.getBoxType1(), waitPakin.getBoxType2(), waitPakin.getBoxType3()); + if (orderDetl == null) { + continue; + } + + Double workQty = orderDetl.getWorkQty(); + BigDecimal workQtyDecimal = new BigDecimal(workQty); + workQtyDecimal = workQtyDecimal.subtract(BigDecimal.valueOf(waitPakin.getAnfme())); + + double newWorkQty = workQtyDecimal.doubleValue(); + if (newWorkQty <= 0) { + newWorkQty = 0D; + } + orderDetl.setWorkQty(newWorkQty); + orderDetlService.updateById(orderDetl); + } + } + + waitPakinService.delete(new EntityWrapper<WaitPakin>() + .eq("zpallet", param.getBarcode())); + } + // 鍟嗗搧涓婃灦 @Override public void onSale(CombParam param) { @@ -851,7 +901,10 @@ List<WrkDetl> paramWrkDetls = JSON.parseArray(JSON.toJSONString(param.getWrkDetls()), WrkDetl.class); for (WrkDetl wrkDetl : paramWrkDetls) { String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo(); - List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo)); + List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>() + .eq("loc_no", locNo) + .eq("area", wrkDetl.getWrkNo()) + ); for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) { if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) { checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme()); @@ -1182,4 +1235,45 @@ throw new CoolException(locDetl.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); } } + + @Override + public void checkOutSubmit(Integer orderId, Long userId) { + InventoryCheckOrder inventoryCheckOrder = inventoryCheckOrderService.selectOne(new EntityWrapper<InventoryCheckOrder>() + .eq("id", orderId)); + if (inventoryCheckOrder == null) { + throw new CoolException("鐩樼偣鍗曚笉瀛樺湪"); + } + + if (!inventoryCheckOrder.getStatus().equals("1")) { + throw new CoolException("鐩樼偣鍗曠姸鎬佸凡涓婃姤"); + } + + List<InventoryCheckOrderDetl> checkOrderDetlList = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>() + .eq("order_no", inventoryCheckOrder.getOrderNo()) + ); + if (checkOrderDetlList.isEmpty()) { + throw new CoolException("鐩樼偣鍗曟棤鐗╂枡鏄庣粏"); + } + InventoryCheckOrderDetl orderDetl = checkOrderDetlList.get(0); + + List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>() + .eq("matnr", orderDetl.getMatnr()) + .eq("batch", orderDetl.getBatch()) + ); + + boolean complete = true; + for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) { + if (!checkOrderDetl.getStatus().equals("2")) { + complete = false; + } + } + if (complete) { + boolean result = reportToThirdService.reportCheckOrder(orderDetl.getMatnr(), orderDetl.getBatch()); + if (!result) { + throw new CoolException("鐩樼偣鍗曚笂鎶ュけ璐�"); + } + }else { + throw new CoolException("鐩樼偣鏈畬鎴愭棤娉曚笂鎶�"); + } + } } -- Gitblit v1.9.1