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