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

---
 src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java |   16 +++++
 src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java         |   42 ++++++++++++++
 src/main/webapp/static/js/custOrder/custOrder.js                        |   29 ++++++++-
 src/main/java/zy/cloud/wms/manager/controller/WorkController.java       |    6 ++
 src/main/java/zy/cloud/wms/common/service/asrs/entity/Result.java       |   17 +++++
 src/main/java/zy/cloud/wms/manager/service/LocDetlService.java          |    7 ++
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java    |   34 +++++++++++
 src/main/java/zy/cloud/wms/manager/service/WorkService.java             |    2 
 src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java |    5 +
 src/main/resources/application.yml                                      |    7 +
 10 files changed, 160 insertions(+), 5 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
new file mode 100644
index 0000000..9fb018a
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/service/asrs/AsrsService.java
@@ -0,0 +1,42 @@
+package zy.cloud.wms.common.service.asrs;
+
+import com.alibaba.fastjson.JSON;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import zy.cloud.wms.common.service.asrs.entity.Result;
+import zy.cloud.wms.manager.entity.param.StockTransferParam;
+import zy.cloud.wms.manager.utils.HttpHandler;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Created by vincent on 2021/3/20
+ */
+@Service("asrsService")
+public class AsrsService {
+
+    @Value("${asrs.baseUrl}")
+    private String asrsBaseUrl;
+
+    public Boolean stockTransfer(List<StockTransferParam> params) {
+        try {
+            String response = new HttpHandler.Builder()
+                    .setUri(asrsBaseUrl)
+                    .setPath("/open/api/stockOut")
+                    .setJson(JSON.toJSONString(params))
+                    .build()
+                    .doPost();
+            Result result = JSON.parseObject(response, Result.class);
+            if (result.getCode() == 200) {
+                return true;
+            } else {
+                return false;
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+}
diff --git a/src/main/java/zy/cloud/wms/common/service/asrs/entity/Result.java b/src/main/java/zy/cloud/wms/common/service/asrs/entity/Result.java
new file mode 100644
index 0000000..497cd3b
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/service/asrs/entity/Result.java
@@ -0,0 +1,17 @@
+package zy.cloud.wms.common.service.asrs.entity;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2021/3/20
+ */
+@Data
+public class Result {
+
+    private Integer code;
+
+    private String msg;
+
+    private Object data;
+
+}
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 7210836..47649e2 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -137,4 +137,10 @@
         return workService.initOrder(param, getUserId());
     }
 
+    @RequestMapping("/stock/transfer")
+    @ManagerAuth(memo = "搴撳瓨璋冩嫧")
+    public R stockTransfer(@RequestParam String number) {
+        return workService.stockTransfer(number, getUserId());
+    }
+
 }
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
new file mode 100644
index 0000000..eb0ff73
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/manager/entity/param/StockTransferParam.java
@@ -0,0 +1,16 @@
+package zy.cloud.wms.manager.entity.param;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2021/3/20
+ */
+@Data
+public class StockTransferParam {
+
+    private String matnr;
+
+    private Double anfme;
+
+
+}
diff --git a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
index 441cecd..a0eab4c 100644
--- a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
@@ -52,4 +52,11 @@
      */
     List<LocDetl> getLocDetlStatis();
 
+    /**
+     * 鏁伴噺 sum鍑芥暟
+     * @param matnr
+     * @return
+     */
+    Double selectCountByMatnr(String matnr);
+
 }
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 f77a8a4..37fceca 100644
--- a/src/main/java/zy/cloud/wms/manager/service/WorkService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
@@ -27,4 +27,6 @@
 
     R initOrder(InitOrderParam param, Long userId);
 
+    R stockTransfer(String number, Long userId);
+
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
index c76e116..64ec318 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
@@ -108,5 +108,10 @@
         return this.baseMapper.getLocDetlStatis();
     }
 
+    @Override
+    public Double selectCountByMatnr(String matnr) {
+        return this.baseMapper.selectCountByMatnr(matnr);
+    }
+
 
 }
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 dec1993..b580661 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
@@ -11,12 +11,14 @@
 import org.springframework.transaction.annotation.Transactional;
 import zy.cloud.wms.common.model.OrderStoDto;
 import zy.cloud.wms.common.service.MainService;
+import zy.cloud.wms.common.service.asrs.AsrsService;
 import zy.cloud.wms.common.utils.VersionUtils;
 import zy.cloud.wms.manager.entity.*;
 import zy.cloud.wms.manager.entity.param.*;
 import zy.cloud.wms.manager.entity.result.StoPrintVo;
 import zy.cloud.wms.manager.service.*;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -42,6 +44,8 @@
     private SnowflakeIdWorker snowflakeIdWorker;
     @Autowired
     private MatService matService;
+    @Autowired
+    private AsrsService asrsService;
 
     @Override
     @Transactional
@@ -327,4 +331,34 @@
         return R.ok("鐢熸垚閿�鍞鍗�" + param.getNumber() + "鎴愬姛");
     }
 
+    @Override
+    public R stockTransfer(String number, Long userId) {
+        List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("number", number).eq("status", 1));
+        boolean error = false;
+        List<StockTransferParam> params = new ArrayList<>();
+        for (CustOrder custOrder : custOrders) {
+            Double count = locDetlService.selectCountByMatnr(custOrder.getUserCode());
+            if (count == null) {
+                count = 0.0D;
+            }
+            if (count < custOrder.getQty()) {
+                if (!error) {
+                    error = true;
+                }
+                StockTransferParam param = new StockTransferParam();
+                param.setMatnr(custOrder.getUserCode());
+                param.setAnfme(custOrder.getQty() - count);
+                params.add(param);
+            }
+        }
+        if (error) {
+            if (asrsService.stockTransfer(params)) {
+                return R.ok("搴撳瓨璋冩嫧鎴愬姛");
+            } else {
+                return R.error("绔嬪簱璋冩嫧澶辫触锛岃鑱旂郴绠$悊鍛�");
+            }
+        }
+        return R.error("鏆備笉缂鸿揣锛屼笉闇�瑕佺珛搴撹皟鎷�");
+    }
+
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 42e759e..8686aa2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -14,7 +14,7 @@
 #    password: xltys1995
     # sql-server
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://192.168.110.56:1433;databasename=htasrs
+    url: jdbc:sqlserver://192.168.2.250:1433;databasename=htasrs
     username: sa
     password: sa@123
   mvc:
@@ -50,4 +50,7 @@
     id: LTAI4GDzr6ioSHuRw2mk22ug
     secret: 84CHL7tF21LbU1qpaP0jn9mIAZP9bv
     bucket: tjdt
-    endpoint: http://oss-cn-hangzhou.aliyuncs.com
\ No newline at end of file
+    endpoint: http://oss-cn-hangzhou.aliyuncs.com
+
+asrs:
+  baseUrl: http://localhost:8081/htwms
\ No newline at end of file
diff --git a/src/main/webapp/static/js/custOrder/custOrder.js b/src/main/webapp/static/js/custOrder/custOrder.js
index cc47364..932e1f0 100644
--- a/src/main/webapp/static/js/custOrder/custOrder.js
+++ b/src/main/webapp/static/js/custOrder/custOrder.js
@@ -254,7 +254,8 @@
                                     , area: ['400px']
                                     , btn: ['搴撳瓨璋冩嫧', '鍙栨秷']
                                 }, function() {
-                                    // todo 搴撳瓨璋冩嫧
+                                    // 搴撳瓨璋冩嫧
+                                    stockTransfer(data.number);
                                     layer.closeAll();
                                 }, function() {
                                     // printPakouts(data.number);
@@ -309,10 +310,10 @@
                                 shadeClose: true
                                 , btn: ['搴撳瓨璋冩嫧', '鍙栨秷']
                             }, function() {
-                                // todo 搴撳瓨璋冩嫧
+                                // 搴撳瓨璋冩嫧
                                 layer.closeAll();
                             }, function() {
-                                // printPakouts(data.number);
+                            alert(number)
                                 layer.closeAll();
                             }
                         )
@@ -327,6 +328,28 @@
         // });
     }
 
+    // 搴撳瓨璋冩嫧
+    function stockTransfer(number) {
+
+        $.ajax({
+            url: baseUrl + "/work/stock/transfer",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                number: number
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200) {
+                    layer.msg(res.msg, {icon: 1})
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
+                } else {
+                    layer.msg(res.msg, {icon: 2})
+                }
+            }
+        });
+    }
+
     // 鎵撳嵃鎷h揣鍗�
     function printPakouts(docNumber) {
         $.ajax({

--
Gitblit v1.9.1