From b435ec06d5392d2658a176dd962e3ff503a8acf3 Mon Sep 17 00:00:00 2001 From: whycq <123456> Date: 星期二, 01 十一月 2022 14:27:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/bfasrs' into bfasrs --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 91 +++++++++++++++++++++++++++++++-------------- 1 files changed, 62 insertions(+), 29 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 240c057..88c59d7 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -360,21 +360,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); } @@ -410,14 +421,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; } @@ -884,15 +899,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 { -- Gitblit v1.9.1