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