From 102c5b8101dc3ee8d2c011cbe8826152abd57106 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 27 十二月 2024 08:41:31 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 109 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 74 insertions(+), 35 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 63f9a24..5b87e24 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -14,6 +14,7 @@ import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; +import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.common.CodeRes; import com.zy.common.constant.MesConstant; import com.zy.common.entity.Parameter; @@ -85,16 +86,27 @@ if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { throw new CoolException(BaseRes.PARAM); } + if(param.getCombMats().size()>1){ + throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒"); + } // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁 if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱"); } + if(param.getBarcode().length()!=8){ + throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode()); + } + if (param.getCombMats().size()>1){ + throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode()); + } + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); - if (countLoc > 0 || countWrk > 0) { - throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode()); + int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode())); + if (countLoc > 0 || countWrk > 0 || countwait > 0) { + throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode()); } Date now = new Date(); @@ -105,9 +117,10 @@ // 鐢熸垚鍏ュ簱閫氱煡妗� List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { - DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(), + elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme()); if (DetlDto.has(detlDtos, detlDto)) { - DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + DetlDto one = DetlDto.findDto(detlDtos, detlDto); assert one != null; one.setAnfme(one.getAnfme() + detlDto.getAnfme()); } else { @@ -138,8 +151,9 @@ } // 鍏宠仈缁勬墭 } else { - Order order = orderService.selectByNo(param.getOrderNo()); - if (order.getSettle() > 2) { +// Order order = orderService.selectByNo(param.getOrderNo()); + Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, param.getOrderNo()); + if (Cools.isEmpty(order) || order.getSettle() > 2) { throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); } // 鐢熸垚鍏ュ簱閫氱煡妗� @@ -147,18 +161,22 @@ param.getCombMats().forEach(elem -> { // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 - OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); +// OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); + OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(), + elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3()); 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()); +// if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) { +// throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); +// } + OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE,order.getId(), elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(), + elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme()); + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),elem.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(), + elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme()); if (DetlDto.has(detlDtos, detlDto)) { - DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + DetlDto one = DetlDto.findDto(detlDtos, detlDto); assert one != null; one.setAnfme(one.getAnfme() + detlDto.getAnfme()); } else { @@ -186,11 +204,13 @@ throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } } - orderService.updateSettle(order.getId(), 2L, userId); +// orderService.updateSettle(order.getId(), 2L, userId); + OrderInAndOutUtil.updateOrder(Boolean.TRUE,order.getId(), 2L, userId); } } + // 鍟嗗搧涓婃灦 @Override public void onSale(CombParam param) { Date now = new Date(); @@ -211,14 +231,14 @@ throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鏁伴噺鏈夎锛�"); } if (Cools.isEmpty(combMat.getBatch())){ - throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�"); +// throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�"); } ManLocDetl manLocDetl = new ManLocDetl(); manLocDetl.setLocNo(locno); manLocDetl.setNodeId(node.getId()); manLocDetl.setMaktx(mat.getMaktx()); manLocDetl.setMatnr(mat.getMatnr()); - manLocDetl.setBatch(combMat.getBatch()); + manLocDetl.setBatch(Cools.isEmpty(combMat.getBatch()) ? "" : combMat.getBatch()); manLocDetl.setAnfme(combMat.getAnfme()); manLocDetl.setModiTime(now); if (!manLocDetlService.insert(manLocDetl)) { @@ -227,6 +247,7 @@ } } + // 鍟嗗搧涓嬫灦 @Override public void offSale(OffSaleParam offSaleParam) { ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr()); @@ -241,6 +262,9 @@ } manLocDetlMapper.updateAnfme0(anfme,manLocDetl.getNodeId()); } + + // 鏌ユ壘鍟嗗搧 + @Override @Transactional @@ -353,10 +377,13 @@ } Mat analyse = MatUtils.analyseMat(elem.getMatnr()); // 鏉$爜銆佺墿鏂欎唬鐮併�佸簭鍒楀彿銆佹暟閲� - DetlDto detlDto = new DetlDto(elem.getMatnr(), analyse.getMatnr(), analyse.getBarcode(), elem.getAnfme()); + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(),analyse.getBrand(),elem.getStandby1(),elem.getStandby2(),elem.getStandby3(), + elem.getBoxType1(),elem.getBoxType2(),elem.getBoxType3(), elem.getAnfme()); + +// DetlDto detlDto = new DetlDto(elem.getMatnr(), analyse.getMatnr(), analyse.getBarcode(), elem.getAnfme()); // DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); if (DetlDto.has(detlDtos, detlDto)) { - DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + DetlDto one = DetlDto.findDto(detlDtos, detlDto); assert one != null; one.setAnfme(one.getAnfme() + detlDto.getAnfme()); } else { @@ -422,28 +449,34 @@ openParam.setOrderType("鎵撳寘鍏ュ簱鍗�"); openParam.setOrderDetails(detlDtos); openService.pakinOrderCreate(openParam); - Order order = orderService.selectByNo(orderNo); +// Order order = orderService.selectByNo(orderNo); + Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, param.getOrderNo()); + if (null == order) { throw new CoolException("鐢熸垚鍗曟嵁澶辫触"); } - if (!orderService.updateSettle(order.getId(), 2L, userId)) { - throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�"); - } +// if (!orderService.updateSettle(order.getId(), 2L, userId)) { +// throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�"); +// } + OrderInAndOutUtil.updateOrder(Boolean.TRUE, order.getId(), 2L, userId); // 鐢熸垚鍏ュ簱閫氱煡妗� for (DetlDto detlDto : detlDtos) { // 淇敼浣滀笟鏁伴噺 ---------------------------------------- // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 - OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch()); +// OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch()); + OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), detlDto.getMatnr(), detlDto.getBatch(),detlDto.getBrand(),detlDto.getStandby1(),detlDto.getStandby2(),detlDto.getStandby3() + ,detlDto.getBoxType1(),detlDto.getBoxType2(),detlDto.getBoxType3()); if (detlDto.getAnfme() > orderDetl.getEnableQty()) { throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } // 淇敼璁㈠崟浣滀笟鏁伴噺 - if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { - throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); - } - +// if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { +// throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); +// } + OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE,order.getId(), detlDto.getMatnr(), detlDto.getBatch(),detlDto.getBrand(),detlDto.getStandby1(),detlDto.getStandby2(),detlDto.getStandby3() + ,detlDto.getBoxType1(),detlDto.getBoxType2(),detlDto.getBoxType3(), detlDto.getAnfme()); // 淇濆瓨鍏ュ簱閫氱煡妗� Mat mat = matService.selectByMatnr(detlDto.getMatnr()); if (Cools.isEmpty(mat)) { @@ -485,12 +518,15 @@ BasDevp sta = basDevpService.checkSiteStatus(staNo); //鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。 - Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderNo)); + Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, orderNo); +// Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderNo)); if (order.getSettle() != 1 && order.getSettle() != 2){ throw new CoolException("璇ヨ鍗曞凡澶勭悊"); } - List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo)); +// List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo)); + List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId()); + Date now = new Date(); for(OrderDetl orderDetl : orderDetls){ //鏌ヨ鎵�鏈夊簱浣嶇姸鎬佷负F鐨勫簱浣嶄俊鎭� @@ -525,9 +561,10 @@ order.setSettle(2L); order.setUpdateBy(userId); order.setUpdateTime(now); - if(!orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))){ - throw new CoolException("鏇存柊璁㈠崟鐘舵�佸け璐�"); - } +// if(!orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))){ +// throw new CoolException("鏇存柊璁㈠崟鐘舵�佸け璐�"); +// } + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),2L,userId); orderDetl.setWorkQty(orderDetl.getWorkQty() + curOutQty); orderDetl.setUpdateBy(userId); orderDetl.setUpdateTime(now); @@ -536,9 +573,11 @@ if(!Cools.isEmpty(orderDetl.getBatch())){ wrapper.eq("batch", orderDetl.getBatch()); } - if(!orderDetlService.update(orderDetl, wrapper)){ - throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触"); - } +// if(!orderDetlService.update(orderDetl, wrapper)){ +// throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触"); +// } + OrderInAndOutUtil.updateOrderDetl(order.getPakinPakoutStatus$(),order,orderDetl); + } } -- Gitblit v1.9.1