From 33cc8de8a39b88d619cce6e80f13564a85e5dce0 Mon Sep 17 00:00:00 2001
From: 18516761980 <56479841@qq.com>
Date: 星期二, 02 八月 2022 13:00:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java |   35 ++++++++++++++++++++++-------------
 1 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
index 9581462..4cac85d 100644
--- a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
@@ -73,13 +73,13 @@
             if (tempLocList.size() > 0) {
                 for (Integer j = 0; j < tempLocList.size(); j ++) {
                     locNum = locNum.add(new BigDecimal(tempLocList.get(j).getAnfme()));
-                    /* 璁$畻闇�瑕佺殑鏁伴噺锛岀鍚堟暟閲忓悗缁撴潫寰幆 */
-                    if (needNum.compareTo(locNum) == 1) {
+//                    /* 璁$畻闇�瑕佺殑鏁伴噺锛岀鍚堟暟閲忓悗缁撴潫寰幆 */
+//                    if (needNum.compareTo(locNum) == 1) {
                         locList.add(tempLocList.get(j));
-                    } else {
-                        locList.add(tempLocList.get(j));
-                        break;
-                    }
+//                    } else {
+//                        locList.add(tempLocList.get(j));
+//                        break;
+//                    }
                 }
             }
         }
@@ -112,9 +112,12 @@
                 }
             }
             if (complete) {
-                if (!completeCPakOut(FBillNo)) {
-                    log.error("{}鍑哄簱鍗曟爣璁板畬鎴愬け璐�", FBillNo);
-                }
+                List<OutStockBillEntry> select1 = this.selectList(new EntityWrapper<OutStockBillEntry>().eq("FInterID", FInterID));
+               if(select1.size()<=1){
+                    if (!completeCPakOut(FBillNo) )  {
+                        log.error("{}鍑哄簱鍗曟爣璁板畬鎴愬け璐�", FBillNo);
+                    }
+               }
             }
             return true;
         } else {
@@ -163,7 +166,8 @@
         // 鑾峰彇搴撲綅鏄庣粏
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
-            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
+            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())
+                && paramLocDetl.getCount() > 0) {
                 LocDetl sqlParam = new LocDetl();
                 sqlParam.setLocNo(paramLocDetl.getLocNo());
                 sqlParam.setMatnr(paramLocDetl.getMatnr());
@@ -201,11 +205,15 @@
         // 鐢熸垚宸ヤ綔妗�
         for (OutLocDto dto : dtos) {
             // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
-            if (ioType == null) {
+//            if (ioType == null) {
                 ioType = dto.isAll() ? 101 : 103;
-            }
+//            }
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
+            //濡傛灉鎵樼洏鏉$爜涓虹┖锛屽氨涓嶈兘杩涜鎷f枡锛屾棤娉曞啀鍏ュ簱
+            if(ioType==103 && null!=locMast && Cools.isEmpty(locMast.getBarcode())){
+                throw new CoolException("搴撲綅娌℃湁鎵樼洏鐮侊紝鏃犳硶鎷f枡浣滀笟===>>" + locMast.getLocNo());
+            }
             // 鑾峰彇璺緞
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", ioType)
@@ -272,7 +280,8 @@
                 Integer FInterI = outStockService.queryOutStockFInterID(fbillNo); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
                 Wrapper wrapper1 = new EntityWrapper<OutStockBillEntry>().eq("FInterID",FInterI).eq("Fnumber",detlDto.getLocDetl().getMatnr());
                 OutStockBillEntry outStockBillEntry = outStockService.selectOne(wrapper1);
-                outStockBillEntry.setFAmount(outStockBillEntry.getFAmount().add(BigDecimal.valueOf(anfme)));  //鍊熺敤amount瀛楁锛屾帶鍒朵笅鍙戝嚭搴撲换鍔℃暟閲�
+                outStockBillEntry.setFAmount(outStockBillEntry.getFAmount().add(BigDecimal.valueOf(anfme)));  //鍊熺敤famount瀛楁锛屾帶鍒朵笅鍙戝嚭搴撲换鍔℃暟閲�
+                outStockBillEntry.setFAuxQty(outStockBillEntry.getFAuxQty().subtract(BigDecimal.valueOf(anfme)));
                 if(!outStockService.update(outStockBillEntry,wrapper1)){
                     throw new CoolException("鏇存柊鍑哄簱閫氱煡妗f槑缁咶Amount澶辫触[FInterID="+FInterI+",Fnumber="+detlDto.getLocDetl().getMatnr()+"]");
                 }

--
Gitblit v1.9.1