#
luxiaotao1123
2021-03-01 2a2f64357ef046e7489f24eec6beaba2c726b4df
#
3个文件已修改
2个文件已添加
73 ■■■■■ 已修改文件
src/main/java/zy/cloud/wms/common/model/OrderStoDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/model/StoDetlDto.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/MainScheduler.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/MainService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/model/OrderStoDto.java
New file
@@ -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;
    }
}
src/main/java/zy/cloud/wms/common/model/StoDetlDto.java
New file
@@ -0,0 +1,7 @@
package zy.cloud.wms.common.model;
/**
 * Created by vincent on 2021/3/1
 */
public class StoDetlDto {
}
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);
        }
    }
}
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) {
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) {