From d0b47b51949e5eb682cdb7e1b97864183fcac153 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 31 十月 2022 15:59:14 +0800
Subject: [PATCH] #订单回滚异常修复
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 43 +++++++++++++++++++++++++++++++++----------
1 files changed, 33 insertions(+), 10 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 46dabea..f86bef6 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -417,6 +417,22 @@
}
return s;
}
+ private String[] GetAnfme(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("anfme")){
+ String[] s4 = s3[j + 1].split(":");
+ String[] s5 = s4[1].split("\\.");
+ s[i]=s5[0];
+ i++;
+ }
+ j++;
+ }
+ return s;
+ }
@Override
@Transactional
@@ -859,18 +875,25 @@
// 璁㈠崟鍏宠仈
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
for (WrkDetl wrkDetl : wrkDetls) {
- if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
- 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())) {
+ 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())) {
+ throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+ }
+ }
}
}
}
--
Gitblit v1.9.1