From cc3b8857e340360e08aedbe81de7d82df7c1b644 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 05 七月 2023 15:33:33 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/web/WcsController.java |   91 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 85 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index dd60ed2..a105620 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -43,11 +43,22 @@
         JSONObject jsonObject1 = new JSONObject();
         JSONArray jsonArray = new JSONArray();
         for (InterData interData : list) {
-            //鏌ヨ瀵瑰簲鍏ュ簱閫氱煡妗d俊鎭�
-            Wrapper wrapper = new EntityWrapper<WaitPakin>().eq("supplier", interData.getFBillNo()).eq("matnr", interData.getFnumber());
-            WaitPakin waitPakin = waitPakinService.selectOne(wrapper);
 
-            if ((interData.getIoType() == 1 && interData.getMatType() == 1) || (interData.getIoType() == 2 && interData.getMatType() == 2)) {
+            //鍘熸潗鏂欏叆搴�
+            if ((interData.getIoType() == 1 && interData.getMatType() == 1)) {
+                //鏌ヨ瀵瑰簲鍏ュ簱閫氱煡妗d俊鎭�
+                Wrapper wrapper = new EntityWrapper<WaitPakin>().eq("supplier", interData.getFBillNo()).eq("matnr", interData.getFnumber());
+                WaitPakin waitPakin = waitPakinService.selectOne(wrapper);
+                if(Cools.isEmpty(waitPakin)){
+                    JSONObject object = new JSONObject();
+                    object.put("FInterID", interData.getFInterID());
+                    object.put("Fnumber", interData.getFnumber());
+                    object.put("code", 500);
+                    object.put("msg", "鍗曟嵁涓嶅瓨鍦ㄦ垨鍗曟嵁宸茶鍒犻櫎");
+                    jsonArray.add(object);
+                    continue;
+                }
+
                 if (Cools.isEmpty(waitPakin)) {
                     JSONObject object = new JSONObject();
                     object.put("FInterID", interData.getFInterID());
@@ -57,8 +68,73 @@
                     jsonArray.add(object);
                     continue;
                 }
-                //鍒ゆ柇鏄惁鏈夊嚭搴撳姩浣�   "N"娌℃湁  鈥淵鈥濇湁
-                if (waitPakin.getIoStatus().equals("N")) {
+
+                //鍒ゆ柇鏄惁鏈夊叆搴撳姩浣�   "N"娌℃湁  鈥淵鈥濇湁
+//                interData.getFQty().compareTo(waitPakin.getAnfme())
+                Double userQty = waitPakin.getNqty() - waitPakin.getAnfme(); //閫氱煡鍏ュ簱閲� - 绛夊緟鍏ュ簱閲� = 宸插畬鎴愬叆搴撴暟閲�; 淇敼鏁伴噺涓嶈兘灏忎簬宸插畬鎴愭暟閲�
+                if (waitPakin.getIoStatus().equals("N") && userQty <= interData.getFQty().doubleValue() ) {
+                    //鍒ゆ柇浼犲叆鐨勬暟閲忔槸鍚︿负0鏉ユ墽琛屽垹闄ゆ垨鑰呬慨鏀�
+                    if (interData.getFQty().compareTo(BigDecimal.ZERO) == 0) {
+                        waitPakinService.delete(wrapper);
+                        JSONObject object = new JSONObject();
+                        object.put("Fnumber", interData.getFnumber());
+                        object.put("FInterID", interData.getFInterID());
+                        object.put("code", 200);
+                        object.put("msg", "鍒犻櫎鎴愬姛");
+                        jsonArray.add(object);
+                    } else {
+//                        waitPakin.setAnfme(interData.getFQty().doubleValue());
+                        waitPakin.setAnfme(interData.getFQty().doubleValue() - userQty);
+                        waitPakinService.update(waitPakin, wrapper);
+                        JSONObject object = new JSONObject();
+                        object.put("Fnumber", interData.getFnumber());
+                        object.put("FInterID", interData.getFInterID());
+                        object.put("code", 200);
+                        object.put("msg", "淇敼鎴愬姛");
+                        jsonArray.add(object);
+                    }
+
+                } else {
+                    JSONObject object = new JSONObject();
+                    object.put("FInterID", interData.getFInterID());
+                    object.put("Fnumber", interData.getFnumber());
+                    object.put("code", 500);
+                    object.put("msg", "宸插叆搴撴暟閲忓ぇ浜庡緟淇敼閲忥紝鏃犳硶淇敼");
+                    jsonArray.add(object);
+                }
+            }
+
+            //鎴愬搧鍏ュ韩
+            if (interData.getIoType() == 2 && interData.getMatType() == 2) {
+                //鏌ヨ瀵瑰簲鍏ュ簱閫氱煡妗d俊鎭�
+                Wrapper wrapper = new EntityWrapper<WaitPakin>().eq("supplier", interData.getFBillNo()).eq("matnr", interData.getFnumber());
+                WaitPakin waitPakin = waitPakinService.selectOne(wrapper);
+                if(Cools.isEmpty(waitPakin)){
+                    JSONObject object = new JSONObject();
+                    object.put("FInterID", interData.getFInterID());
+                    object.put("Fnumber", interData.getFnumber());
+                    object.put("code", 500);
+                    object.put("msg", "鍗曟嵁涓嶅瓨鍦ㄦ垨鍗曟嵁宸茶鍒犻櫎");
+                    jsonArray.add(object);
+                    continue;
+                }
+
+                if (Cools.isEmpty(waitPakin)) {
+                    JSONObject object = new JSONObject();
+                    object.put("FInterID", interData.getFInterID());
+                    object.put("Fnumber", interData.getFnumber());
+                    object.put("code", 500);
+                    object.put("msg", "鍗曟嵁涓嶅瓨鍦ㄦ垨鍗曟嵁宸茶鍒犻櫎");
+                    jsonArray.add(object);
+                    continue;
+                }
+
+                WaitPakin one = waitPakinService.selectOne(new EntityWrapper<WaitPakin>()
+                        .eq("supplier", interData.getFBillNo())
+                        .eq("matnr", interData.getFnumber())
+                        .isNotNull("zpallet"));
+                //鍒ゆ柇鏄惁鏈夊叆搴撳姩浣�   "N"娌℃湁  鈥淵鈥濇湁
+                if (waitPakin.getIoStatus().equals("N") && Cools.isEmpty(one)) {
                     //鍒ゆ柇浼犲叆鐨勬暟閲忔槸鍚︿负0鏉ユ墽琛屽垹闄ゆ垨鑰呬慨鏀�
                     if (interData.getFQty().compareTo(BigDecimal.ZERO) == 0) {
                         waitPakinService.delete(wrapper);
@@ -89,6 +165,7 @@
                 }
             }
 
+            //鎴愬搧鍑哄韩
             if (interData.getIoType() == 3) {
                 Wrapper wrapper1 = new EntityWrapper<OutStockBillEntry>().eq("FInterID", interData.getFInterID()).and().eq("Fnumber", interData.getFnumber());
                 OutStockBillEntry outStockBillEntry = outStockService.selectOne(wrapper1);
@@ -114,6 +191,7 @@
                         jsonArray.add(object);
                     } else {
                         outStockBillEntry.setFAuxQty(interData.getFQty());
+                        outStockBillEntry.setFQty(interData.getFQty());
                         outStockService.update(outStockBillEntry, wrapper1);
                         JSONObject object = new JSONObject();
                         object.put("Fnumber", interData.getFnumber());
@@ -144,6 +222,7 @@
         }
 
         jsonObject1.put("data", jsonArray);
+        log.info("ERP鍙栨秷浠诲姟--WMS杩斿洖缁撴灉===>>"+ jsonObject1.toJSONString());
         return jsonObject1;
 
     }

--
Gitblit v1.9.1