From 28b01f6a80a38883d61b456b13936baa0291664e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 14 四月 2021 13:45:21 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/common/service/erp/ErpService.java        |  151 ++++++++++++++++++-------------------
 src/main/webapp/static/js/order/order.js                             |    6 
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java |   50 ++++++++++++
 src/main/webapp/views/order/order.html                               |    2 
 4 files changed, 128 insertions(+), 81 deletions(-)

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
index 1d749fa..a76e046 100644
--- a/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java
+++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java
@@ -1,78 +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.model.BillDto;
-//import zy.cloud.wms.common.service.erp.entity.UploadBill;
-//import zy.cloud.wms.common.service.erp.entity.UploadBillDetail;
-//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<BillDto> dtos, Integer docId, String docNumber){
-//        if (true) {
-////            return true;
-//        }
-//        try {
-//            if (Cools.isEmpty(dtos)) {
-//                return false;
-//            }
-//            UploadBill uploadBill = new UploadBill();
-//            uploadBill.setNumber(docNumber);
-//            uploadBill.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F));
-//            uploadBill.setBTypeID("SHHT");
-//            uploadBill.setKTypeID("瀹忔尯浠撳簱");
-//            uploadBill.setVchType(docId);
-//            List<UploadBillDetail> detail = new ArrayList<>();
-//            uploadBill.setDetail(detail);
-//            for (BillDto dto : dtos) {
-//                UploadBillDetail detl = new UploadBillDetail();
-//                detl.setUserCode(dto.getMatnr());
-//                detl.setQty(dto.getQty());
-//                detl.setPrice(0);
-//                detail.add(detl);
-//            }
-//            System.out.println(JSON.toJSONString(uploadBill));
-//            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;
-//    }
-//
-//
-//}
+package zy.cloud.wms.common.service.erp;
+
+import com.alibaba.fastjson.JSON;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import zy.cloud.wms.common.model.BillDto;
+import zy.cloud.wms.common.service.erp.entity.UploadBill;
+import zy.cloud.wms.common.service.erp.entity.UploadBillDetail;
+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 {
+
+    /**
+     * 鍗曟嵁涓婃姤
+     */
+    public Boolean uploadBill(List<BillDto> dtos, Integer docId, String docNumber){
+        if (true) {
+//            return true;
+        }
+        try {
+            if (Cools.isEmpty(dtos)) {
+                return false;
+            }
+            UploadBill uploadBill = new UploadBill();
+            uploadBill.setNumber(docNumber);
+            uploadBill.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F));
+            uploadBill.setBTypeID("SHHT");
+            uploadBill.setKTypeID("瀹忔尯浠撳簱");
+            uploadBill.setVchType(docId);
+            List<UploadBillDetail> detail = new ArrayList<>();
+            uploadBill.setDetail(detail);
+            for (BillDto dto : dtos) {
+                UploadBillDetail detl = new UploadBillDetail();
+                detl.setUserCode(dto.getMatnr());
+                detl.setQty(dto.getQty());
+                detl.setPrice(0);
+                detail.add(detl);
+            }
+            System.out.println(JSON.toJSONString(uploadBill));
+            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/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index 5506500..0c0cb46 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
@@ -9,9 +9,11 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import zy.cloud.wms.common.model.BillDto;
 import zy.cloud.wms.common.model.MatnrDto;
 import zy.cloud.wms.common.model.OrderStoDto;
 import zy.cloud.wms.common.service.MainService;
+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.*;
@@ -51,6 +53,8 @@
     private ItemService itemService;
     @Autowired
     private CstmrService cstmrService;
+    @Autowired
+    private ErpService erpService;
 
     @Override
     @Transactional
@@ -96,6 +100,30 @@
                     throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�");
                 }
             }
+        }
+
+        // 涓婃姤缁檈rp
+        List<BillDto> dtos = new ArrayList<>();
+        for (MatnrDto dto : param.getMats()) {
+            BillDto billDto = new BillDto();
+            billDto.setMatnr(dto.getMatnr());
+            billDto.setQty(dto.getCount());
+            dtos.add(billDto);
+        }
+        Integer docId = Optional.ofNullable(param.getDocType()).orElse(34);
+        String docNum = String.valueOf(snowflakeIdWorker.nextId());
+        switch (docId) {
+            case 34:    // 閲囪喘鍗�
+                docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
+                break;
+            case 45:    // 閿�鍞��璐у崟
+                docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
+                break;
+            default:
+                break;
+        }
+        if (!erpService.uploadBill(dtos, docId, docNum)) {
+            throw new CoolException("鏃犳硶涓婃姤鑷砮rp");
         }
 
         return R.ok("鍏ュ簱鎴愬姛");
@@ -160,6 +188,18 @@
 
             }
 
+        }
+
+        // 涓婃姤缁檈rp
+        List<BillDto> dtos = new ArrayList<>();
+        for (Comb comb : combs) {
+            BillDto billDto = new BillDto();
+            billDto.setMatnr(comb.getMatnr());
+            billDto.setQty(comb.getAnfme());
+            dtos.add(billDto);
+        }
+        if (!erpService.uploadBill(dtos, param.getDocType(), docNum)) {
+            throw new CoolException("鏃犳硶涓婃姤鑷砮rp");
         }
         return R.ok();
     }
@@ -666,6 +706,16 @@
         if (!checkService.updateById(check)) {
             throw new CoolException("淇敼鐩樼偣璁板綍鐘舵�佸け璐�");
         }
+
+        // 涓婃姤缁檈rp
+        List<BillDto> dtos = new ArrayList<>();
+        BillDto billDto = new BillDto();
+        billDto.setMatnr(check.getMatnr());
+        billDto.setQty(Math.abs(check.getDiffQty()));
+        dtos.add(billDto);
+        if (!erpService.uploadBill(dtos, docId.intValue(), docNum)) {
+            throw new CoolException("鏃犳硶涓婃姤鑷砮rp");
+        }
         return R.ok();
     }
 
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index d95a51c..5fd8558 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -155,7 +155,7 @@
         headers: {token: localStorage.getItem('token')},
         url: baseUrl+'/order/list/auth',
         page: true,
-        limit: 16,
+        limit: 10,
         limits: [16, 30, 50, 100, 200, 500],
         toolbar: '#orderToolbar',
         height: 'full-100',
@@ -164,8 +164,8 @@
             // ,{field: 'uuid', align: 'center',title: '缂栧彿'}
             ,{field: 'docType$', align: 'center',title: '绫诲埆', templet: '#docTypeTpl', width: 100}
             ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', minWidth: 250}
-            ,{field: 'orderTime', align: 'center',title: '鍗曟嵁鏃ユ湡'}
-            ,{field: 'itemName', align: 'center',title: '椤圭洰'}
+            ,{field: 'orderTime', align: 'center',title: '鍗曟嵁鏃ユ湡', width: 120}
+            ,{field: 'itemName', align: 'center',title: '椤圭洰', hide: true}
             ,{field: 'allotItemId$', align: 'center',title: '璋冩嫧椤圭洰缂栧彿', hide: true}
             ,{field: 'defNumber', align: 'center',title: '鍒濆绁ㄦ嵁鍙�', hide: true}
             ,{field: 'number', align: 'center',title: '绁ㄦ嵁鍙�', hide: true}
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 022600f..5579883 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -132,6 +132,8 @@
           class="layui-badge layui-badge-gray"
           {{# } else if(d.settle === 4){ }}
           class="layui-badge layui-badge-green"
+          {{# } else if(d.settle === 6){ }}
+          class="layui-badge layui-badge-gray"
           {{# } }}
     >{{d.settle$}}</span>
 </script>

--
Gitblit v1.9.1