From eec95a61519ed4cc2e7e726c30895bca735cc774 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 01 十一月 2022 14:23:45 +0800 Subject: [PATCH] #优化合并订单功能 加非空判断 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 103 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 67 insertions(+), 36 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 a13fe0c..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; } @@ -886,23 +901,39 @@ for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())){ 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 (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())) { + 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(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { + 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("璁㈠崟鏁版嵁鍥炴粴澶辫触"); } } } -- Gitblit v1.9.1