| | |
| | | package zy.cloud.wms.common.service.task; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.jdbc.core.JdbcTemplate; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import zy.cloud.wms.manager.entity.Order; |
| | | import zy.cloud.wms.manager.entity.Pakout; |
| | | import zy.cloud.wms.manager.service.OrderService; |
| | | import zy.cloud.wms.manager.service.PakoutService; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * Created by vincent on 2021/4/22 |
| | | */ |
| | | @Slf4j |
| | | //@Component |
| | | @Component |
| | | public class OrderScheduler { |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private PakoutService pakoutService; |
| | | @Autowired |
| | | private JdbcTemplate jdbcTemplate; |
| | | |
| | | /** |
| | | * 订单转历史档处理器 |
| | | */ |
| | | @Transactional |
| | | @Scheduled(cron = "0/10 * * * * ? ") |
| | | public void orderBeLogExecute(){ |
| | | List<Order> orders = orderService.selectList(new EntityWrapper<Order>().in("settle", 3, 6)); |
| | | for (Order order : orders) { |
| | | // 保存订单历史档 |
| | | int saveOrderLog = jdbcTemplate.update("insert into man_order_log select * from man_order where id=" + order.getId()); |
| | | if (saveOrderLog == 0) { |
| | | throw new CoolException("保存订单历史档失败"); |
| | | } |
| | | // 保存订单明细历史档 |
| | | int saveOrderDetlLog = jdbcTemplate.update("insert into man_order_detl_log select * from man_order_detl where order_id=" + order.getId()); |
| | | if (saveOrderDetlLog == 0) { |
| | | throw new CoolException("保存订单明细历史档失败"); |
| | | } |
| | | // 删除订单 |
| | | int delOrder = jdbcTemplate.update("delete from man_order where id=" + order.getId()); |
| | | if (delOrder == 0) { |
| | | throw new CoolException("删除订单失败"); |
| | | } |
| | | // 删除订单明细 |
| | | int delOrderDetl = jdbcTemplate.update("delete from man_order_detl where order_id=" + order.getId()); |
| | | if (delOrderDetl == 0) { |
| | | throw new CoolException("删除订单明细失败"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 取消订单处理器 |
| | |
| | | public void cancelOrderExecute(){ |
| | | List<Order> cancelOrders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 5)); |
| | | for (Order order : cancelOrders) { |
| | | |
| | | |
| | | |
| | | if (!orderService.updateSettle(order.getOrderNo(), 3L)) { |
| | | throw new CoolException("修改订单状态失败"); |
| | | if (!pakoutService.delete(new EntityWrapper<Pakout>().eq("doc_num", order.getOrderNo()))) { |
| | | throw new CoolException("删除拣货单失败"); |
| | | } |
| | | // 取消销售订单 |
| | | List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", order.getOrderNo())); |
| | | if (Cools.isEmpty(pakouts)){ |
| | | // 修改单据状态 |
| | | if (!orderService.updateSettle(order.getOrderNo(), 3L)) { |
| | | throw new CoolException("修改单据状态失败"); |
| | | } |
| | | } |
| | | } |
| | | |