From e10ad54ef408145ad2f63e9d6219a772f89e2df7 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 22 四月 2021 10:56:17 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/common/service/erp/ErpService.java                 |   17 ++++++++
 src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java               |   82 ++++++++++++++++++++++++++++++++++++++++
 src/main/java/zy/cloud/wms/common/service/erp/entity/GetOrderResultDetl0.java |    2 +
 src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java    |    2 +
 4 files changed, 102 insertions(+), 1 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 e2a33c2..6bc4f44 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
@@ -410,7 +410,7 @@
                     getOrderResult0.setBTypeID(order.getTel());
                     getOrderResult0.setKTypeID("瀹忔尯浠撳簱");
                     getOrderResult0.setVchcode(Integer.parseInt(order.getNumber()));
-
+                    getOrderResult0.setSummary("閿�鍞鍗� - " + DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm"));
 
                     // 浣�
                     List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo());
@@ -420,6 +420,7 @@
                         detl0.setQty(orderDetl.getCount());
                         detl0.setPrice(orderDetl.getUnitPrice());
                         detl0.setComment(orderDetl.getMemo());
+                        detl0.setUnit(orderDetl.getUnit());
                         detl0.setRowNo(Integer.parseInt(orderDetl.getName()));
                         list.add(detl0);
                     }
@@ -464,6 +465,85 @@
     }
 
     /**
+     * 瀹屾垚閿�鍞鍗�
+     */
+    @Scheduled(cron = "0/10 * * * * ? ")
+    @Transactional
+//    @PostConstruct
+    public void finishOrders0Execute(){
+        try {
+            List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4).eq("doc_type", 6));
+            if (!Cools.isEmpty(orders)) {
+                List<String> orderNos = orders.stream().map(Order::getOrderNo).distinct().collect(Collectors.toList());
+                for (Order order : orders) {
+                    GetOrderResult0 getOrderResult0 = new GetOrderResult0();
+                    List<GetOrderResultDetl0> list = new ArrayList<>();
+                    getOrderResult0.setDetail(list);
+
+
+                    // 澶�
+                    getOrderResult0.setNumber(order.getOrderNo());
+                    getOrderResult0.setVchType(6); // todo:luxiaotao
+                    getOrderResult0.setBillDate(order.getOrderTime());
+                    getOrderResult0.setBTypeID(order.getTel());
+                    getOrderResult0.setKTypeID("瀹忔尯浠撳簱");
+                    getOrderResult0.setBTypeID(Cools.isEmpty(order.getCstmr())?"SHHT":String.valueOf(order.getCstmr()));
+                    getOrderResult0.setBTypeID("SHHT");
+                    getOrderResult0.setSummary("閲囪喘閫�璐у崟 - " + DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm"));
+
+
+                    // 浣�
+                    List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo());
+                    for (OrderDetl orderDetl : orderDetls) {
+                        GetOrderResultDetl0 detl0 = new GetOrderResultDetl0();
+                        detl0.setUserCode(orderDetl.getMatnr());
+                        detl0.setQty(orderDetl.getAnfme());
+                        detl0.setPrice(orderDetl.getUnitPrice());
+                        detl0.setUnit(orderDetl.getUnit());
+                        detl0.setComment(orderDetl.getMemo());
+                        list.add(detl0);
+                    }
+
+                    System.out.println(JSON.toJSONString(getOrderResult0));
+
+
+                    String response = new HttpHandler.Builder()
+                            .setUri(URI)
+                            .setPath(UPLOAD_BILL)
+                            .setJson(JSON.toJSONString(getOrderResult0))
+                            .build()
+                            .doPost();
+                    if (!Cools.isEmpty(response)) {
+                        log.warn(response);
+                        Result result = JSON.parseObject(response, Result.class);
+                        if (result.getCode() != 1) {
+                            continue;
+                        }
+                        if (!orderService.updateSettle(getOrderResult0.getNumber(), 6L)) {
+                            throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+                        }
+//                        // 杞巻鍙叉。
+//                        int save = custOrderMapper.saveLog(getOrderResult0.getNumber());
+//                        if (save > 0) {
+//                            if (custOrderMapper.delete(new EntityWrapper<CustOrder>().eq("number", getOrderResult0.getNumber())) == 0) {
+//                                throw new CoolException("鍒犻櫎閿�鍞鍗曞け璐�");
+//                            }
+//                            log.info("{}閿�鍞鍗曟嫞璐х粨鏉�", getOrderResult0.getNumber());
+//                        }
+                    }
+
+                }
+            }
+
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException(e.getMessage());
+        }
+
+    }
+
+    /**
      * 搴撳瓨涓婁紶
      */
 //    @Scheduled(cron = "0/15 * * * * ? ")
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 a76e046..1f1e729 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
@@ -4,10 +4,15 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 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.entity.DocType;
+import zy.cloud.wms.manager.entity.Mat;
+import zy.cloud.wms.manager.service.DocTypeService;
+import zy.cloud.wms.manager.service.MatService;
 import zy.cloud.wms.manager.utils.HttpHandler;
 
 import java.util.ArrayList;
@@ -21,6 +26,10 @@
 @Service("erpService")
 public class ErpService {
 
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private MatService matService;
     /**
      * 鍗曟嵁涓婃姤
      */
@@ -32,19 +41,27 @@
             if (Cools.isEmpty(dtos)) {
                 return false;
             }
+            DocType docType = docTypeService.selectById(docId);
+            if (Cools.isEmpty(docType)) {
+                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);
+            uploadBill.setSummary(docType.getDocName() + " - " + DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm"));
             List<UploadBillDetail> detail = new ArrayList<>();
             uploadBill.setDetail(detail);
             for (BillDto dto : dtos) {
+                Mat mat = matService.selectByMatnr(dto.getMatnr());
                 UploadBillDetail detl = new UploadBillDetail();
                 detl.setUserCode(dto.getMatnr());
                 detl.setQty(dto.getQty());
                 detl.setPrice(0);
+                detl.setUnit(mat==null?"鏆傛棤":mat.getUnit());
                 detail.add(detl);
             }
             System.out.println(JSON.toJSONString(uploadBill));
diff --git a/src/main/java/zy/cloud/wms/common/service/erp/entity/GetOrderResultDetl0.java b/src/main/java/zy/cloud/wms/common/service/erp/entity/GetOrderResultDetl0.java
index 28f47f9..051bdc3 100644
--- a/src/main/java/zy/cloud/wms/common/service/erp/entity/GetOrderResultDetl0.java
+++ b/src/main/java/zy/cloud/wms/common/service/erp/entity/GetOrderResultDetl0.java
@@ -20,6 +20,8 @@
     // 鍗曡鍟嗗搧澶囨敞
     private String comment;
 
+    private String unit;
+
     // 鍟嗗搧鏄庣粏琛屽彿
     private Integer RowNo;
 
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
index 7696840..cd0896b 100644
--- 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
@@ -16,6 +16,8 @@
 
     private String comment;
 
+    private String unit;
+
     // 鍟嗗搧鏄庣粏琛屽彿
     private Double RowNo;
 

--
Gitblit v1.9.1