From b76802959d44642215a4c60799134e9a5f50469f Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期四, 03 六月 2021 14:22:30 +0800
Subject: [PATCH] 宏挺补仓功能

---
 src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java |    2 
 src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java         |   15 +++
 src/main/webapp/static/js/safeSto/locAllot.js                           |  125 ++++++++++++++----------------
 src/main/java/zy/cloud/wms/manager/controller/WorkController.java       |    6 +
 src/main/webapp/views/safeSto/locAllot.html                             |    2 
 src/main/java/zy/cloud/wms/manager/entity/param/AsrsTransferParam.java  |    2 
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java    |   29 +++++++
 src/main/webapp/static/js/common.js                                     |   16 +--
 src/main/java/zy/cloud/wms/manager/service/WorkService.java             |    2 
 src/main/webapp/static/js/safeSto/safeSto.js                            |   29 -------
 10 files changed, 123 insertions(+), 105 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java b/src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java
index 3d66889..b5b0172 100644
--- a/src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java
+++ b/src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java
@@ -54,6 +54,21 @@
         }
     }
 
+    public Result1 stockTransferLocMode(List<StockTransferParam> params) {
+        try {
+            String response = new HttpHandler.Builder()
+                    .setUri(asrsBaseUrl)
+                    .setPath("/open/api/stockOut/locMode")
+                    .setJson(JSON.toJSONString(params))
+                    .build()
+                    .doPost();
+            return JSON.parseObject(response, Result1.class);
+        } catch (IOException e) {
+            e.printStackTrace();
+            return new Result1(500, "鏈嶅姟鍣ㄥ紓甯�", null);
+        }
+    }
+
     /* 鑾峰彇鍑哄簱绔欑偣 */
     public ResultSite takeSite() {
         try {
diff --git a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
index 5968a24..f14b33e 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -153,6 +153,12 @@
         return workService.asrsStockTransfer(number, getUserId());
     }
 
+    @RequestMapping("/stock/transfer/locMode")
+    @ManagerAuth(memo = "搴撳瓨璋冩嫧-绔嬪簱妯″紡")
+    public R stockTransferLocMode(@RequestBody AsrsTransferParam number) {
+        return workService.asrsStockTransferLocMode(number, getUserId());
+    }
+
     @RequestMapping("/stock/check")
     @ManagerAuth(memo = "搴撳瓨鐩樼偣")
     public R stockCheck(@RequestBody StoCheckParam param) {
diff --git a/src/main/java/zy/cloud/wms/manager/entity/param/AsrsTransferParam.java b/src/main/java/zy/cloud/wms/manager/entity/param/AsrsTransferParam.java
index 1700e90..dab0511 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/param/AsrsTransferParam.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/param/AsrsTransferParam.java
@@ -12,6 +12,8 @@
 
     private String matnr;
 
+    private String locNo;
+
     private Double anfme;
 
     private Double safe_qua;
diff --git a/src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java b/src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java
index 5ca3f7b..9b52a99 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java
@@ -10,6 +10,8 @@
 
     private String matnr;
 
+    private String locNo;
+
     private Double anfme;
 
     private Double total;
diff --git a/src/main/java/zy/cloud/wms/manager/service/WorkService.java b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
index a6b41ff..0924fc0 100644
--- a/src/main/java/zy/cloud/wms/manager/service/WorkService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
@@ -31,6 +31,8 @@
 
     R asrsStockTransfer(AsrsTransferParam param, Long userId);
 
+    R asrsStockTransferLocMode(AsrsTransferParam param, Long userId);
+
     R initOrder(InitOrderParam param, Long userId);
 
     R stockCheck(StoCheckParam param, Long userId);
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index 905d81b..b494987 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -642,6 +642,35 @@
         return R.ok("琛ヤ粨鎴愬姛锛岀瓑寰呯珛搴撹皟鎷�");
     }
 
+    @Override
+    public R asrsStockTransferLocMode(AsrsTransferParam param, Long userId) {
+        if (Cools.isEmpty(param.getNode_id(), param.getMatnr(), param.getSafe_qua(), param.getAmount())) {
+            return R.error("鏁伴噺閿欒");
+        }
+        Node node = nodeService.selectById(param.getNode_id());
+        Mat mat = matService.selectByMatnr(param.getMatnr());
+        if (node == null || mat == null) {
+            return R.error();
+        }
+        double anfme = Arith.subtract(2, param.getSafe_qua(), param.getAmount());
+        List<StockTransferParam> params = new ArrayList<>();
+        StockTransferParam transferParam = new StockTransferParam();
+        transferParam.setMatnr(param.getMatnr());
+        transferParam.setAnfme(anfme);
+        transferParam.setAllotNo(param.getNode_id()+ "_" +param.getMatnr());
+        transferParam.setLocNo(param.getLocNo());
+        params.add(transferParam);
+        Result1 result = asrsService.stockTransferLocMode(params);
+        if (result.getCode() == 500) {
+            if (Cools.isEmpty(result.getData())) {
+                throw new CoolException(result.getMsg());
+            } else {
+                throw new CodeCoolException("20001-" + result.getData());
+            }
+        }
+
+        return R.ok("琛ヤ粨鎴愬姛锛岀瓑寰呯珛搴撹皟鎷�");
+    }
 
     @Override
     public R stockCheck(StoCheckParam param, Long userId) {
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 25d7913..f2e624c 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -210,14 +210,12 @@
 
 var popupRight;
 
-function RequestParameter() {
-    var url = window.location.search; //鑾峰彇url涓�"?"绗﹀悗鐨勫瓧涓�
-    var theRequest = new Object();
-    if (url.indexOf("?") != -1) {
-        var str = url.substr(1);
-        var strs = str.split("&");
-        for (var i = 0; i < strs.length; i++) {
-            theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
-        }
+function RequestParameter(variable) {
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        if(pair[0] == variable){return pair[1];}
     }
+    return(false);
 }
\ No newline at end of file
diff --git a/src/main/webapp/static/js/safeSto/locAllot.js b/src/main/webapp/static/js/safeSto/locAllot.js
index 68633b1..24d993c 100644
--- a/src/main/webapp/static/js/safeSto/locAllot.js
+++ b/src/main/webapp/static/js/safeSto/locAllot.js
@@ -1,39 +1,39 @@
 var locDetlData = [];
 var pageCurr;
+
 function getCol() {
     var cols = [
-        {field: 'anfme', align: 'center',title: '鏁伴噺', edit:'text', width: 130,  style:'color: blue;font-weight: bold'}
-        ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�'}
-        ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿'}
-        ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'}
-        ,{field: 'lgnum', align: 'center',title: '瑙勬牸'}
-        ,{field: 'type', align: 'center',title: '鍨嬪彿', hide: true}
-        ,{field: 'color', align: 'center',title: '鏉$爜', hide: true}
-        ,{field: 'supplier', align: 'center',title: '鎵瑰彿', hide: true}
-        ,{field: 'altme', align: 'center',title: '鍗曚綅'}
-        ,{field: 'warehouse', align: 'center',title: '鍗曟嵁缂栧彿', hide: true}
-        ,{field: 'bname', align: 'center',title: '瀹㈡埛鍚嶇О', hide: true}
-        ,{field: 'brand', align: 'center',title: '鍝侀」鏁�', hide: true}
-        ,{field: 'memo', align: 'center', title: '澶囨敞', hide: true}
-        ,{field: 'zpallet', align: 'center',title: '鎵樼洏鐮�'}
+        {field: 'anfme', align: 'center', title: '鏁伴噺', width: 130, style: 'color: blue;font-weight: bold'}
+        , {field: 'locNo', align: 'center', title: '搴撲綅鍙�'}
+        , {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿'}
+        , {field: 'maktx', align: 'center', title: '鍟嗗搧鍚嶇О'}
+        , {field: 'lgnum', align: 'center', title: '瑙勬牸'}
+        , {field: 'type', align: 'center', title: '鍨嬪彿', hide: true}
+        , {field: 'color', align: 'center', title: '鏉$爜', hide: true}
+        , {field: 'supplier', align: 'center', title: '鎵瑰彿', hide: true}
+        , {field: 'altme', align: 'center', title: '鍗曚綅'}
+        , {field: 'warehouse', align: 'center', title: '鍗曟嵁缂栧彿', hide: true}
+        , {field: 'bname', align: 'center', title: '瀹㈡埛鍚嶇О', hide: true}
+        , {field: 'brand', align: 'center', title: '鍝侀」鏁�', hide: true}
+        , {field: 'memo', align: 'center', title: '澶囨敞', hide: true}
+        , {field: 'zpallet', align: 'center', title: '鎵樼洏鐮�'}
     ];
-    cols.push({fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:80})
+    cols.push({fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 80})
     return cols;
 }
 
-layui.use(['table','laydate', 'form'], function() {
+layui.use(['table', 'laydate', 'form'], function () {
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
     var form = layui.form;
 
-    var param = RequestParameter();
-    debugger
+    var param = RequestParameter('matnr');
     tableIns = table.render({
         elem: '#chooseData',
         url: baseUrl + '/get/asrsLocDetl',
         where: {
-          matnr: 'LSH10648050',
+            matnr: param,
         },
         headers: {token: localStorage.getItem('token')},
         // data: [],
@@ -55,12 +55,11 @@
         response: {
             statusCode: 200
         },
-        done: function(res, curr, count) {
+        done: function (res, curr, count) {
             if (res.code === 403) {
-                top.location.href = baseUrl+"/";
+                top.location.href = baseUrl + "/";
             }
-            pageCurr=curr;
-            limit();
+            pageCurr = curr;
             getOutBound();
         }
     });
@@ -71,76 +70,68 @@
     });
 
     // 鐩戝惉琛屽伐鍏蜂簨浠�
-    table.on('tool(chooseData)', function(obj){
+    table.on('tool(chooseData)', function (obj) {
         var data = obj.data;
+        var site = $("#staNoSelect").val();
+        var node_id = RequestParameter('node_id');
+        var safe_qua = RequestParameter('safe_qua');
         switch (obj.event) {
             case 'stockOut':
-                alert("鍚姩鍑哄簱");
-                break;
-        }
-    });
-
-    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
-    table.on('toolbar(chooseData)', function (obj) {
-        var data = locDetlData;
-        switch (obj.event) {
-            case 'outbound':
-                if (data.length === 0){
-                    layer.msg('璇峰厛娣诲姞搴撲綅鐗╂枡');
-                } else {
-                    var staNo = $("#staNoSelect").val();
-                    if (staNo === "" || staNo === null){
-                        layer.msg("璇烽�夋嫨鍑哄簱鍙�");
-                        return;
-                    }
-                    var locDetls = [];
-                    data.forEach(function(elem) {
-                        locDetls.push({locNo: elem.locNo, matnr: elem.matnr, count: elem.count});
-                    });
-                    let param = {
-                        outSite: staNo,
-                        locDetls: locDetls
-                    }
+                // alert("鍚姩鍑哄簱");
+                if (site == '' || site == null || site == undefined) {
+                    layer.msg('璇烽�夋嫨鍑哄簱绔欑偣');
+                    return;
+                }
+                var printData = JSON.stringify(data);
+                layer.confirm('纭畾瑕佸嚭搴�' + data.locNo + '鍚�?', function (index) {
                     $.ajax({
-                        url: baseUrl+"/plate/out/start",
+                        url: baseUrl + "/work/stock/transfer/locMode",
                         headers: {'token': localStorage.getItem('token')},
-                        data: JSON.stringify(param),
-                        contentType:'application/json;charset=UTF-8',
+                        contentType: 'application/json;charset=UTF-8',
+                        data: JSON.stringify({
+                            node_id: node_id,
+                            matnr: data.matnr,
+                            safe_qua: safe_qua,
+                            amount: data.anfme,
+                            locNo: data.locNo,
+                        }),
+                        dataType: 'json',
                         method: 'POST',
                         success: function (res) {
-                            if (res.code === 200){
-                                locDetlData = [];
-                                tableIns.reload({data: locDetlData,done:function (res) {limit();getOutBound();}});
-                                layer.msg(res.msg);
-                            } else if (res.code === 403){
-                                top.location.href = baseUrl+"/";
+                            if (res.code === 200) {
+                                layer.msg(res.msg, {icon: 1})
+                                tableIns.reload();
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl + "/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(res.msg, {icon: 2})
                             }
+                            layer.close(index);
                         }
                     });
-                }
+                    layer.close(index);
+                });
                 break;
         }
     });
 
     // 鑾峰彇鍑哄簱鍙�
-    function getOutBound(){
+    function getOutBound() {
         $.ajax({
-            url: baseUrl+"/available/take/site",
+            url: baseUrl + "/available/take/site",
             headers: {'token': localStorage.getItem('token')},
             method: 'POST',
             async: false,
             success: function (res) {
-                if (res.code === 200){
+                if (res.code === 200) {
                     var tpl = $("#takeSiteSelectTemplate").html();
                     var template = Handlebars.compile(tpl);
                     var html = template(res);
                     $('#staNoSelect').append(html);
                     form.render('select');
-                } else if (res.code === 403){
-                    top.location.href = baseUrl+"/";
-                }else {
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
+                } else {
                     layer.msg(res.msg)
                 }
             }
diff --git a/src/main/webapp/static/js/safeSto/safeSto.js b/src/main/webapp/static/js/safeSto/safeSto.js
index b59490c..0e26f25 100644
--- a/src/main/webapp/static/js/safeSto/safeSto.js
+++ b/src/main/webapp/static/js/safeSto/safeSto.js
@@ -105,40 +105,13 @@
         switch (obj.event) {
             // 琛ヤ粨
             case 'allot':
-                // layer.confirm(data.node_name +'琛ヤ粨 '+ data.matnr + '锛屾暟閲忥細' + (data.safe_qua - data.amount), function(){
-                //     var index = layer.load(1, {shade: [0.1,'#000']});
-                //     $.ajax({
-                //         url: baseUrl+"/work/stock/transfer",
-                //         headers: {'token': localStorage.getItem('token')},
-                //         contentType:'application/json;charset=UTF-8',
-                //         data: JSON.stringify({
-                //             node_id: data.node_id,
-                //             matnr: data.matnr,
-                //             safe_qua: data.safe_qua,
-                //             amount: data.amount
-                //         }),
-                //         dataType:'json',
-                //         method: 'POST',
-                //         success: function (res) {
-                //             if (res.code === 200) {
-                //                 layer.msg(res.msg, {icon: 1})
-                //                 $(".layui-laypage-btn")[0].click();
-                //             } else if (res.code === 403) {
-                //                 top.location.href = baseUrl+"/";
-                //             } else {
-                //                 layer.msg(res.msg, {icon: 2})
-                //             }
-                //             layer.close(index);
-                //         }
-                //     });
-                // });
                 layer.open({
                     type: 2,
                     title: '琛ヤ粨',
                     offset: '100px',
                     area: ['90%', '80%'],
                     shadeClose: true,
-                    content: 'locAllot.html?matnr=' + data.matnr,
+                    content: 'locAllot.html?matnr=' + data.matnr + '&node_id=' + data.node_id + '&safe_qua=' + data.safe_qua,
                     success: function(layero, index){
 
                     }
diff --git a/src/main/webapp/views/safeSto/locAllot.html b/src/main/webapp/views/safeSto/locAllot.html
index c8ca760..7465d49 100644
--- a/src/main/webapp/views/safeSto/locAllot.html
+++ b/src/main/webapp/views/safeSto/locAllot.html
@@ -45,7 +45,7 @@
                     <option value="">璇烽�夋嫨绔欑偣</option>
                 </select>
                 <!-- 2.鍚姩鍑哄簱 -->
-                <button style="margin-left: 18px" class="layui-btn layui-btn-lg layui-btn-disabled" id="btn-outbound" lay-event="outbound">鍚姩鍑哄簱</button>
+                <!--<button style="margin-left: 18px" class="layui-btn layui-btn-lg layui-btn-disabled" id="btn-outbound" lay-event="outbound">鍚姩鍑哄簱</button>-->
             </div>
         </div>
     </script>

--
Gitblit v1.9.1