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 custOrders = custOrderService.selectList(new EntityWrapper().eq("status", 1)); if (Cools.isEmpty(custOrders)){ return; } Set numbers = new HashSet<>(); custOrders.forEach(custOrder -> numbers.add(custOrder.getNumber())); List orderStoDtos = new ArrayList<>(); for (String number : numbers) { List list = new ArrayList<>(); Iterator 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); } } }