package zy.cloud.wms.common.service;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.core.common.Cools;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
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.*;
|
|
/**
|
* Created by vincent on 2021/3/1
|
*/
|
@Slf4j
|
@Component
|
public class MainScheduler {
|
|
@Autowired
|
private CustOrderService custOrderService;
|
@Autowired
|
private MainService mainService;
|
|
/**
|
* 扫描销售订单数据,生成出库单
|
*/
|
// @Scheduled(cron = "0/5 * * * * ? ")
|
public void stockOutExecute(){
|
List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("status", 1));
|
if (Cools.isEmpty(custOrders)){
|
return;
|
}
|
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);
|
}
|
|
}
|
|
}
|