From 523c6bfb8603ffdc57a5864a62edc4fe8cba3ed6 Mon Sep 17 00:00:00 2001 From: TQS <56479841@qq.com> Date: 星期三, 23 十一月 2022 09:40:53 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 71 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 7684bf2..f48fe8b 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -103,7 +103,6 @@ Double ioPri = wrkMastService.getIoPri(1, dto.getLocNo()); wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true) ? 1 : 0); - ; wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); @@ -216,9 +215,9 @@ ioType = dto.isAll() ? 101 : 103; } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) { ioType = 107; - if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) { - throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�"); - } + // if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) { + // throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�"); + // } } assert ioType != null; // 鑾峰彇搴撲綅 @@ -234,9 +233,8 @@ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� Double ioPri = wrkMastService.getIoPri(ioType, dto.getLocNo()); - wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13 + wrkMast.setIoPri(13D); // 浼樺厛绾э細13 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), false) ? 1 : 0); - ; wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� @@ -270,6 +268,7 @@ wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); wrkDetl.setModiUser(userId); + wrkDetl.setSpecs(detlDto.getLocDetl().getSpecs()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } @@ -286,7 +285,7 @@ } else { throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); } - locMastService.breakUp(dto.getLocNo(), excludeLocNos); +// locMastService.breakUp(dto.getLocNo(), excludeLocNos); } } @@ -316,7 +315,6 @@ Double ioPri = wrkMastService.getIoPri(ioType, taskDto.getLocNo()); wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13 wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo(), false) ? 1 : 0); - ; wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� @@ -363,21 +361,32 @@ // 淇敼璁㈠崟鏄庣粏 if (BaseController.isJSON(locDto.getOrderNo())) { String[] orderNos = GetOrderNo(locDto.getOrderNo()); - Double anfme = locDto.getAnfme(); - for (String orderNo : orderNos) { - OrderDetl orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), locDto.getBatch()); - if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), null); + if (!Cools.isEmpty(orderNos)){ + Double anfme = locDto.getAnfme(); + for (String orderNo : orderNos) { + OrderDetl orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), locDto.getBatch()); + if (orderDetl == null) { + orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), null); + } + if (orderDetl.getAnfme() <= anfme) { + if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getAnfme())) { + throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); + } + anfme = anfme - orderDetl.getAnfme(); + } else { + if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), anfme)) { + throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); + } + } + orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); } - if (orderDetl.getAnfme() <= anfme) { - if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getAnfme())) { - throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); - } - anfme = anfme - orderDetl.getAnfme(); - } else { - if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), anfme)) { - throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); - } + }else { + OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); + if (orderDetl == null) { + orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); + } + if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { + throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); } @@ -413,14 +422,18 @@ private String[] GetOrderNo(String orderNo) { String[] s3 = orderNo.split("\""); String[] s = new String[(s3.length - 1) / 6]; - int i = 0; - int j = 0; - for (String ss : s3) { - if (ss.equals("orderNo")) { - s[i] = s3[j + 2]; - i++; + if (!Cools.isEmpty(s3)){ + int i = 0; + int j = 0; + for (String ss : s3) { + if (ss.equals("orderNo")) { + s[i] = s3[j + 2]; + i++; + } + j++; } - j++; + }else { + s=null; } return s; } @@ -460,7 +473,6 @@ Double ioPri = wrkMastService.getIoPri(10, dto.getLocNo()); wrkMast.setIoPri(ioPri); // 浼樺厛绾э細10 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true) ? 1 : 0); - ; wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); @@ -547,7 +559,6 @@ wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔� wrkMast.setOutMost(locMastService.isOutMost(locNo, false) ? 1 : 0); - ; wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceLocNo(locNo); // 婧愬簱浣� wrkMast.setFullPlt("N"); // 婊℃澘锛歒 @@ -578,9 +589,9 @@ @Override @Transactional public void locCheckOut(StockOutParam param, Long userId) { - if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) { - throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�"); - } + // if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) { + // throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�"); + // } // 鐩爣绔欑偣鐘舵�佹娴� BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); // 鑾峰彇搴撲綅鏄庣粏 @@ -625,7 +636,6 @@ wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 wrkMast.setIoPri(10D); wrkMast.setOutMost(locMastService.isOutMost(locNo, false) ? 1 : 0); - ; wrkMast.setCrnNo(sourceLoc.getCrnNo()); wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣� wrkMast.setLocNo(locNo); // 鐩爣搴撲綅 @@ -890,15 +900,33 @@ // 璁㈠崟鍏宠仈 List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { - String[] orderNos = GetOrderNo(wrkDetl.getOrderNo()); - String[] anfmes = GetAnfme(wrkDetl.getOrderNo()); - int i = 0; - for (String orderNo : orderNos) { - if (!Cools.isEmpty(orderNo)) { - Double anfme = Integer.parseInt(anfmes[i]) + 0.0; - i++; + if (!Cools.isEmpty(wrkDetl.getOrderNo())){ + String[] orderNos = GetOrderNo(wrkDetl.getOrderNo()); + if (!Cools.isEmpty(orderNos)){ + String[] anfmes = GetAnfme(wrkDetl.getOrderNo()); + int i = 0; + for (String orderNo : orderNos) { + if (!Cools.isEmpty(orderNo)) { + Double anfme = Integer.parseInt(anfmes[i]) + 0.0; + i++; + if (BaseController.isJSON(wrkDetl.getOrderNo())) { + if (!orderDetlService.decrease(orderNo, wrkDetl.getMatnr(), wrkDetl.getBatch(), anfme)) { + throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); + } + } else { + // 璁㈠崟鍚堝苟鍑哄簱 + List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class); + for (OrderDto orderDto : orderDtoList) { + if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderDto.getAnfme())) { + throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); + } + } + } + } + } + }else { if (BaseController.isJSON(wrkDetl.getOrderNo())) { - if (!orderDetlService.decrease(orderNo, wrkDetl.getMatnr(), wrkDetl.getBatch(), anfme)) { + if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); } } else { @@ -1088,7 +1116,6 @@ wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 wrkMast.setIoPri(15D); wrkMast.setOutMost(locMastService.isOutMost(loc.getLocNo(), false) ? 1 : 0); - ; wrkMast.setCrnNo(sourceLoc.getCrnNo()); wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣� wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅 -- Gitblit v1.9.1