From cca7faae30dbedd780de1ab3fabd9081968351cf Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 13 三月 2021 10:57:17 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/common/service/MainService.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/common/service/MainService.java b/src/main/java/zy/cloud/wms/common/service/MainService.java
index dbc4645..d683977 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainService.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -54,8 +54,8 @@
             // 鏌ヨ瀛樻湁褰撳墠鐗╂枡鐨勮揣浣�
             List<LocDetl> locDetls = locDetlService.findOfSort(mat.getMatnr());
             double issued = Optional.ofNullable(custOrder.getQty()).orElse(0.0D) ;
-            while (issued > 0) {
-                for (LocDetl locDetl : locDetls) {
+            for (LocDetl locDetl : locDetls) {
+               if (issued > 0) {
                     // 淇濆瓨鍑哄簱閫氱煡鍗�
                     Pakout pakout = new Pakout();
                     pakout.setWrkSts(1L);
@@ -73,9 +73,16 @@
                     if (!pakoutService.insert(pakout)) {
                         throw new CoolException("淇濆瓨鍑哄簱閫氱煡鍗曞け璐�");
                     }
-                    // 淇敼搴撳瓨鏄庣粏鏁伴噺
-                    if (!locDetlService.reduceStock(locDetl.getNodeId(), mat.getMatnr(), issued>=locDetl.getAnfme()?locDetl.getAnfme():issued)) {
-                        throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触");
+                    if (issued>=locDetl.getAnfme()) {
+                        // 鍒犻櫎搴撳瓨鏄庣粏
+                        if (!locDetlService.removeStock(locDetl.getNodeId(), mat.getMatnr())) {
+                            throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触");
+                        }
+                    } else {
+                        // 淇敼搴撳瓨鏄庣粏鏁伴噺
+                        if (!locDetlService.reduceStock(locDetl.getNodeId(), mat.getMatnr(), issued)) {
+                            throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触");
+                        }
                     }
                     // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
                     issued = issued - locDetl.getAnfme();

--
Gitblit v1.9.1