From 0d334766bcd06f6ce8678caed5747600f74b4d21 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 23 三月 2021 14:20:37 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/pda/stockIn.html                                     |  103 +++++++++++++-------
 src/main/java/zy/cloud/wms/common/service/erp/ErpService.java              |   73 ++++++++++++++
 src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java            |    5 
 src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java       |   27 +++++
 src/main/java/zy/cloud/wms/manager/controller/WorkController.java          |    2 
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java       |   12 ++
 src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java |   19 +++
 src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java          |    2 
 8 files changed, 203 insertions(+), 40 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
index cb18372..3227482 100644
--- a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
+++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
@@ -8,7 +8,6 @@
 import com.core.exception.CoolException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -271,7 +270,7 @@
     /**
      * 鎸佷箙鍖栭攢鍞鍗�
      */
-    @Scheduled(cron = "0/45 * * * * ? ")
+//    @Scheduled(cron = "0/45 * * * * ? ")
     @Transactional
 //    @PostConstruct
     public void getOrdersExecute(){
@@ -420,7 +419,7 @@
     /**
      * 搴撳瓨涓婁紶
      */
-    @Scheduled(cron = "0/15 * * * * ? ")
+//    @Scheduled(cron = "0/15 * * * * ? ")
     @GetMapping("test2")
     public void uploadStockExecute(){
         try {
diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java
new file mode 100644
index 0000000..e432541
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java
@@ -0,0 +1,73 @@
+package zy.cloud.wms.common.service.erp;
+
+import com.alibaba.fastjson.JSON;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.SnowflakeIdWorker;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import zy.cloud.wms.common.service.erp.entity.UploadBill;
+import zy.cloud.wms.common.service.erp.entity.UploadBillDetail;
+import zy.cloud.wms.manager.entity.Comb;
+import zy.cloud.wms.manager.utils.HttpHandler;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by vincent on 2021/3/23
+ */
+@Slf4j
+@Service("erpService")
+public class ErpService {
+
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+
+    /**
+     * 鍗曟嵁涓婃姤
+     */
+    public Boolean uploadBill(List<Comb> combs, Integer docId, String docNumber){
+        try {
+            if (Cools.isEmpty(combs)) {
+                return false;
+            }
+            UploadBill uploadBill = new UploadBill();
+            uploadBill.setNumber(docNumber);
+            uploadBill.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F));
+            uploadBill.setBTypeID("瀹忔尯瀹㈡埛");
+            uploadBill.setKTypeID("瀹忔尯浠撳簱");
+            uploadBill.setVchType(docId);
+            List<UploadBillDetail> detail = new ArrayList<>();
+            uploadBill.setDetail(detail);
+            for (Comb comb : combs) {
+                UploadBillDetail detl = new UploadBillDetail();
+                detl.setUserCode(comb.getMatnr());
+                detl.setQty(comb.getAnfme());
+                detl.setPrice(0.0D);
+            }
+
+            String response = new HttpHandler.Builder()
+                    .setUri(ErpScheduler.URI)
+                    .setPath(ErpScheduler.UPLOAD_BILL)
+                    .setJson(JSON.toJSONString(uploadBill))
+                    .build()
+                    .doPost();
+            if (!Cools.isEmpty(response)) {
+                log.warn(response);
+                Result result = JSON.parseObject(response, Result.class);
+                if (result.getCode() != 1) {
+                    return false;
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+        return Boolean.TRUE;
+    }
+
+
+}
diff --git a/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java
new file mode 100644
index 0000000..57a3cc5
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java
@@ -0,0 +1,27 @@
+package zy.cloud.wms.common.service.erp.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2021/3/23
+ */
+@Data
+public class UploadBill {
+
+    private String number;
+
+    private Integer vchType;
+
+    private String billDate;
+
+    private String bTypeID;
+
+    private String kTypeID;
+
+    private String summary;
+
+    private List<UploadBillDetail> detail;
+
+}
diff --git a/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java
new file mode 100644
index 0000000..5fa40a9
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java
@@ -0,0 +1,19 @@
+package zy.cloud.wms.common.service.erp.entity;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2021/3/23
+ */
+@Data
+public class UploadBillDetail {
+
+    private String userCode;
+
+    private Double qty;
+
+    private Double Price;
+
+    private String comment;
+
+}
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 47649e2..b14e242 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -86,7 +86,7 @@
         }
         Long sts = pakouts.get(0).getWrkSts();
         if (sts == 1) {
-            sts =2L;
+            sts = 2L;
         }
         WrkSts wrkSts = wrkStsService.selectById(sts);
         return R.ok().add(Cools
diff --git a/src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java b/src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java
index 5f85a0f..ff505e3 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java
@@ -12,4 +12,6 @@
 
     private String zpallet;
 
+    private Integer docType;
+
 }
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 2f266cc..b10d741 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
@@ -12,6 +12,7 @@
 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.service.erp.ErpService;
 import zy.cloud.wms.common.utils.VersionUtils;
 import zy.cloud.wms.manager.entity.*;
 import zy.cloud.wms.manager.entity.param.*;
@@ -46,6 +47,8 @@
     private MatService matService;
     @Autowired
     private AsrsService asrsService;
+    @Autowired
+    private ErpService erpService;
 
     @Override
     @Transactional
@@ -59,6 +62,7 @@
             return R.error("鐗╂枡涓嶅瓨鍦�");
         }
         Date now = new Date();
+        String docNum = String.valueOf(snowflakeIdWorker.nextId());
         for (Comb comb : combs) {
             // 鏀瑰彉缁勬墭妗g姸鎬�
             comb.setIoStatus(4);
@@ -77,6 +81,8 @@
                 locDetl.setZpallet(param.getZpallet());
                 locDetl.setAnfme(comb.getAnfme());
                 VersionUtils.setLocDetl(locDetl, comb);
+                locDetl.setDocId(param.getDocType().longValue());
+                locDetl.setDocNum(docNum);
                 locDetl.setStatus(1);
                 locDetl.setCreateBy(userId);
                 locDetl.setCreateTime(now);
@@ -94,6 +100,12 @@
             }
 
         }
+
+        // 涓婃姤缁檈rp
+        if (!erpService.uploadBill(combs, param.getDocType(), docNum)) {
+            throw new CoolException("鏃犳硶涓婃姤鑷砮rp");
+        }
+
         return R.ok();
     }
 
diff --git a/src/main/webapp/views/pda/stockIn.html b/src/main/webapp/views/pda/stockIn.html
index e68c3fe..b747d88 100644
--- a/src/main/webapp/views/pda/stockIn.html
+++ b/src/main/webapp/views/pda/stockIn.html
@@ -76,6 +76,13 @@
             display: none;
         }
 
+        #typeSelect {
+            padding: 10px 20px;
+        }
+        .layui-form-radio {
+            width: 100%;
+        }
+
     </style>
 </head>
 <body>
@@ -100,9 +107,20 @@
 <footer>
     <div class="layui-btn-container">
         <button type="button" class="layui-btn layui-btn-primary" onclick="reset()">閲嶇疆</button>
-        <button id="pakin" type="button" class="layui-btn layui-btn-normal" onclick="pakIn()" style="margin-left: 15px">涓婃灦</button>
+        <button id="pakin" type="button" class="layui-btn layui-btn-normal" onclick="confirm()" style="margin-left: 15px">涓婃灦</button>
     </div>
 </footer>
+
+<div id="typeSelect" style="display: none">
+    <form class="layui-form">
+        <input type="radio" name="docType" value="34" title="閲囪喘鍗�" checked="">
+        <input type="radio" name="docType" value="45" title="閿�鍞��璐у崟">
+        <hr>
+        <div style="text-align: center">
+            <button class="layui-btn layui-btn-normal" onclick="pakIn()">纭畾</button>
+        </div>
+    </form>
+</div>
 </body>
 <script>
     var tableIns;
@@ -243,44 +261,57 @@
         layui.form.render('select');
     }
 
+
+    function confirm() {
+        layer.open({
+            type: 1,
+            title: '鍗曟嵁绫诲瀷',
+            shade: [0.3,'#000'],
+            area: ['70%'],
+            content: $('#typeSelect'),
+            success: function(layero, index){
+            }
+        });
+    }
+
     // 涓婃灦
     function pakIn() {
-        layer.confirm('涓婃灦褰撳墠鎵樼洏锛�', {shadeClose: true}, function(){
-            var zpallet = $('#code').val();
-            if (isEmpty(zpallet)) {
-                tips("鎵樼洏鏉$爜涓虹┖", true);
-                return;
-            }
-            var node = $('#node').val();
-            if (isEmpty(node)) {
-                tips("璐т綅涓虹┖", true);
-                return;
-            }
-            if (matData.length === 0) {
-                tips("璇锋彁鍙栫墿鏂�", true);
-                return;
-            }
-            $.ajax({
-                url: baseUrl+"/work/stock/in",
-                headers: {'token': localStorage.getItem('token')},
-                data: JSON.stringify({
-                    nodeId: node,
-                    zpallet: zpallet
-                }),
-                contentType:'application/json;charset=UTF-8',
-                method: 'POST',
-                async: false,
-                success: function (res) {
-                    if (res.code === 200) {
-                        reset();
-                        tips("涓婃灦鎴愬姛")
-                    } else if (res.code === 403) {
-                        top.location.href = baseUrl + "/pda";
-                    } else {
-                        tips(res.msg, true)
-                    }
+        var docType = $('input:radio[name="docType"]:checked').val();
+        var zpallet = $('#code').val();
+        if (isEmpty(zpallet)) {
+            tips("鎵樼洏鏉$爜涓虹┖", true);
+            return;
+        }
+        var node = $('#node').val();
+        if (isEmpty(node)) {
+            tips("璐т綅涓虹┖", true);
+            return;
+        }
+        if (matData.length === 0) {
+            tips("璇锋彁鍙栫墿鏂�", true);
+            return;
+        }
+        $.ajax({
+            url: baseUrl+"/work/stock/in",
+            headers: {'token': localStorage.getItem('token')},
+            data: JSON.stringify({
+                nodeId: node,
+                zpallet: zpallet,
+                docType: docType
+            }),
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200) {
+                    reset();
+                    tips("涓婃灦鎴愬姛")
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/pda";
+                } else {
+                    tips(res.msg, true)
                 }
-            })
+            }
         })
     }
 

--
Gitblit v1.9.1