From cf8ba6b7a9d9f05aa2eaf41ffb2f58c3beb50278 Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期五, 07 五月 2021 13:19:32 +0800
Subject: [PATCH] 1.通知出库-平仓出库允许分批出

---
 src/main/webapp/views/pakStore/outStockNormalDetail.html     |   43 ++++++++++++++++++++-
 src/main/java/com/zy/asrs/controller/OutStockController.java |   36 ++++++++++++++++-
 2 files changed, 73 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutStockController.java b/src/main/java/com/zy/asrs/controller/OutStockController.java
index 362dcf0..ab30dd6 100644
--- a/src/main/java/com/zy/asrs/controller/OutStockController.java
+++ b/src/main/java/com/zy/asrs/controller/OutStockController.java
@@ -1,9 +1,11 @@
 package com.zy.asrs.controller;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.LocNormal;
 import com.zy.asrs.entity.param.LocNormalStockOutParam;
@@ -15,6 +17,8 @@
 import com.zy.common.service.erp.entity.OutStockBillEntry;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
+import net.bytebuddy.implementation.bytecode.Throw;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -99,10 +103,36 @@
             // erp涓棿琛ㄦ洿鏂版暟鎹�
             Integer FInterI = outStockService.queryOutStockFInterID(param.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
             if (!erpService.incrementCPakOut(FInterI, locNormals.getMatnr(), locNormals.getAnfme().doubleValue(), param.getSupplier())) {
-                log.info("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0}]澶辫触", locNormals.getMatnr());
+                log.info("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0}]澶辫触", locNormals.getMatnr(), param.getSupplier());
             }
-            // 鎶婂搴旂墿鏂欏钩浠撳簱瀛樺嚭搴�
-            locNormalService.outLocNormal(locNormals.getMatnr(), modiUser, modiTime, locNormals.getId());
+            LocNormal locNormal = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("id", locNormals.getId()));
+            if (!Cools.isEmpty(locNormal)) {
+                if (locNormal.getAnfme().compareTo(locNormals.getAnfme()) == 1) {
+                    LocNormal logLocNormal = new LocNormal();
+                    logLocNormal.setAnfme(locNormals.getAnfme());
+                    logLocNormal.setMatnr(locNormal.getMatnr());
+                    logLocNormal.setMaktx(locNormal.getMaktx());
+                    logLocNormal.setLgnum(locNormal.getLgnum());
+                    logLocNormal.setType(locNormal.getType());
+                    logLocNormal.setMnemonic(locNormal.getMnemonic());
+                    logLocNormal.setSupplier(locNormal.getSupplier());
+                    logLocNormal.setWarehouse(locNormal.getWarehouse());
+                    logLocNormal.setWarehouseName(locNormal.getWarehouseName());
+                    logLocNormal.setBrand(locNormal.getBrand());
+                    logLocNormal.setAltme(locNormal.getAltme());
+                    logLocNormal.setBname(locNormal.getBname());
+                    logLocNormal.setMemo(locNormal.getMemo());
+                    logLocNormal.setState("2");
+                    // 鐢熸垚鍑哄簱璁板綍
+                    locNormalService.insert(logLocNormal);
+                    // 鏇存柊鍘熷厛骞充粨璁板綍
+                    locNormalService.updateLocNormal(locNormal.getMatnr(), locNormal.getAnfme().subtract(locNormals.getAnfme()), modiUser, modiTime, locNormal.getId());
+                } else {
+                    // 鎶婂搴旂墿鏂欏钩浠撳簱瀛樺嚭搴�
+                    locNormalService.outLocNormal(locNormals.getMatnr(), modiUser, modiTime, locNormals.getId());
+                }
+            }
+
         }
         return R.ok("骞充粨鍑哄簱鎴愬姛");
     }
diff --git a/src/main/webapp/views/pakStore/outStockNormalDetail.html b/src/main/webapp/views/pakStore/outStockNormalDetail.html
index 937ec75..f845a2d 100644
--- a/src/main/webapp/views/pakStore/outStockNormalDetail.html
+++ b/src/main/webapp/views/pakStore/outStockNormalDetail.html
@@ -33,13 +33,14 @@
     var orderData = parent.getOrderData();
     var locData = [];
     var table;
+    var sourceData = [];
 
     function getCol() {
         var cols = [
             {type: 'checkbox'}
             , {field: 'warehouseName', align: 'center', title: '搴撳尯鍚嶇О'}
             , {field: 'warehouse', align: 'center', title: '搴撲綅缂栧彿'}
-            , {field: 'anfme', align: 'center', title: '鏁伴噺'}
+            , {field: 'anfme', align: 'center', title: '鏁伴噺', edit: 'text'}
         ];
         cols.push.apply(cols, locNormalCols);
         cols.push({field: 'modiUser$', align: 'center', title: '淇敼浜哄憳', hide: true}
@@ -81,14 +82,50 @@
                 if (res.code === 403) {
                     top.location.href = baseUrl + "/";
                 }
-                locData = res.data;
+                if (res.code === 200) {
+                    locData = res.data;
+                    sourceData = [];
+                    if (res.data && res.data.length > 0) {
+                        res.data.map(function (item) {
+                            var obj = {
+                                anfme: item.anfme,
+                                id: item.id,
+                                matnr: item.matnr,
+                                supplier: item.supplier,
+                            }
+                            sourceData.push(obj);
+                        });
+                    }
+                }
+            }
+        });
+
+        // 椤甸潰淇敼
+        table.on('edit(stockOut)', function (obj) {
+            if (obj.field === 'anfme') {
+                if (isNaN(obj.value)) {
+                    layer.msg("璇疯緭鍏ユ暟瀛�");
+                    locDetlTableIns.reload();
+                }
+                // 鍗曞厓鏍肩紪杈戜箣鍓嶇殑鍊艰繘琛屾瘮杈�
+                for (var i = 0; i < sourceData.length; i++) {
+                    if (obj.data.id == sourceData[i].id) {
+                        if (Number(obj.value) > sourceData[i].anfme) {
+                            layer.msg("鏁伴噺涓嶅彲澶т簬搴撳瓨閲�");
+                            locDetlTableIns.reload();
+                        }
+                    }
+                }
+                if (obj.value <= 0) {
+                    layer.msg("鏁伴噺涓嶅彲灏忎簬绛変簬闆�");
+                    locDetlTableIns.reload();
+                }
             }
         });
     });
 
     /* 鍚姩鍑哄簱 */
     function outbound() {
-        locData
         var checkStatus = table.checkStatus('stockOut');
         var checkData = checkStatus.data;
         var obj = {

--
Gitblit v1.9.1