From 2a2f64357ef046e7489f24eec6beaba2c726b4df Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 01 三月 2021 16:20:40 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/common/service/MainScheduler.java    |   25 +++++++++++-
 src/main/java/zy/cloud/wms/common/model/StoDetlDto.java         |    7 +++
 src/main/java/zy/cloud/wms/common/model/OrderStoDto.java        |   25 ++++++++++++
 src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java |    9 ++++
 src/main/java/zy/cloud/wms/common/service/MainService.java      |    7 ++-
 5 files changed, 67 insertions(+), 6 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/common/model/OrderStoDto.java b/src/main/java/zy/cloud/wms/common/model/OrderStoDto.java
new file mode 100644
index 0000000..58b89d1
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/model/OrderStoDto.java
@@ -0,0 +1,25 @@
+package zy.cloud.wms.common.model;
+
+import lombok.Data;
+import zy.cloud.wms.manager.entity.CustOrder;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2021/3/1
+ */
+@Data
+public class OrderStoDto {
+
+    private String number;
+
+    private List<CustOrder> custOrders;
+
+    public OrderStoDto() {
+    }
+
+    public OrderStoDto(String number, List<CustOrder> custOrders) {
+        this.number = number;
+        this.custOrders = custOrders;
+    }
+}
diff --git a/src/main/java/zy/cloud/wms/common/model/StoDetlDto.java b/src/main/java/zy/cloud/wms/common/model/StoDetlDto.java
new file mode 100644
index 0000000..6febccd
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/model/StoDetlDto.java
@@ -0,0 +1,7 @@
+package zy.cloud.wms.common.model;
+
+/**
+ * Created by vincent on 2021/3/1
+ */
+public class StoDetlDto {
+}
diff --git a/src/main/java/zy/cloud/wms/common/service/MainScheduler.java b/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
index 8c60dcb..9927ffd 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
@@ -6,10 +6,11 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+import zy.cloud.wms.common.model.OrderStoDto;
 import zy.cloud.wms.manager.entity.CustOrder;
 import zy.cloud.wms.manager.service.CustOrderService;
 
-import java.util.List;
+import java.util.*;
 
 /**
  * Created by vincent on 2021/3/1
@@ -32,7 +33,27 @@
         if (Cools.isEmpty(custOrders)){
             return;
         }
-        mainService.stockOutProcess(custOrders);
+        Set<String> numbers = new HashSet<>();
+        custOrders.forEach(custOrder -> numbers.add(custOrder.getNumber()));
+
+        List<OrderStoDto> orderStoDtos = new ArrayList<>();
+        for (String number : numbers) {
+            List<CustOrder> list = new ArrayList<>();
+            Iterator<CustOrder> iterator = custOrders.iterator();
+            while (iterator.hasNext()) {
+                CustOrder dto = iterator.next();
+                if (number.equals(dto.getNumber())) {
+                    list.add(dto);
+                    iterator.remove();
+                }
+            }
+            orderStoDtos.add(new OrderStoDto(number, list));
+        }
+
+        for (OrderStoDto dto : orderStoDtos) {
+            mainService.stockOutProcess(dto);
+        }
+
     }
 
 }
diff --git a/src/main/java/zy/cloud/wms/common/service/MainService.java b/src/main/java/zy/cloud/wms/common/service/MainService.java
index 66759b7..beff4c3 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainService.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -8,6 +8,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import zy.cloud.wms.common.model.OrderStoDto;
 import zy.cloud.wms.common.utils.VersionUtils;
 import zy.cloud.wms.manager.entity.*;
 import zy.cloud.wms.manager.service.LocDetlService;
@@ -37,12 +38,12 @@
     private SnowflakeIdWorker snowflakeIdWorker;
 
     @Transactional
-    public void stockOutProcess(List<CustOrder> list) {
-        if (Cools.isEmpty(list)) {
+    public void stockOutProcess(OrderStoDto dto) {
+        if (Cools.isEmpty(dto) || Cools.isEmpty(dto.getCustOrders())) {
             return;
         }
         Date now = new Date();
-        for (CustOrder custOrder : list) {
+        for (CustOrder custOrder : dto.getCustOrders()) {
             // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪
             Mat mat = matService.selectByMatnr(custOrder.getUserCode());
             if (null == mat) {
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 ff32f86..387f582 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
@@ -16,6 +16,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * erp浠诲姟鎺у埗鍣�
@@ -79,7 +80,13 @@
                             log.error("淇濆瓨閿�鍞鍗曞け璐ワ紒");
                         }
                     }
-//                    custOrderService.completeLoading(list)
+                    if (complete) {
+                        List<String> collect = list.stream().map(GetDataResult::getNumber).distinct().collect(Collectors.toList());
+                        for (String number : collect) {
+                            custOrderService.completeLoading(number);
+                        }
+                    }
+
                 }
             }
         } catch (IOException e) {

--
Gitblit v1.9.1