|  |  | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
 |  |  | import com.core.common.Cools; | 
 |  |  | import com.zy.asrs.entity.Order; | 
 |  |  | import com.zy.asrs.entity.OrderDetl; | 
 |  |  | import com.zy.asrs.entity.OrderDetlReport; | 
 |  |  | import com.zy.asrs.entity.OrderDetlReportLog; | 
 |  |  | import com.zy.asrs.service.OrderDetlReportLogService; | 
 |  |  | import com.zy.asrs.service.OrderDetlReportService; | 
 |  |  | import com.zy.asrs.service.OrderDetlService; | 
 |  |  | import com.zy.asrs.service.OrderService; | 
 |  |  | import com.zy.asrs.entity.*; | 
 |  |  | import com.zy.asrs.service.*; | 
 |  |  | import com.zy.asrs.task.AbstractHandler; | 
 |  |  | import com.zy.asrs.task.core.ReturnT; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | 
 |  |  | @Slf4j | 
 |  |  | public class OrderMoveHistoryHandler extends AbstractHandler<String> { | 
 |  |  |     @Autowired | 
 |  |  |     private OrderService orderService; | 
 |  |  |     private OrderPakoutService orderPakoutService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderDetlService orderDetlService; | 
 |  |  |     private OrderPakinService orderPakinService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderDetlReportLogService orderDetlReportLogService; | 
 |  |  |     private OrderDetlPakinService orderDetlPakinService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderDetlPakoutService orderDetlPakoutService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderReportService orderReportService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderDetlReportService orderDetlReportService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderDetlReportLogService orderDetlReportLogService; | 
 |  |  |  | 
 |  |  |     public ReturnT<String> start(){ | 
 |  |  |         List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>() | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public ReturnT<String> startPakin() { | 
 |  |  |         List<OrderPakin> settleEqual6 = orderPakinService.selectList(new EntityWrapper<OrderPakin>() | 
 |  |  |                 .eq("settle", 6)); | 
 |  |  |         for (Order order : settleEqual6) { | 
 |  |  |             List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>() | 
 |  |  |         for (OrderPakin order : settleEqual6) { | 
 |  |  |             List<OrderDetlPakin> orderDetlPakouts = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>() | 
 |  |  |                     .eq("order_no", order.getOrderNo())); | 
 |  |  |             moveBoth(order,orderDetls); | 
 |  |  |             moveBothPakin(order, orderDetlPakouts); | 
 |  |  |             List<OrderDetlReport> orderNo = orderDetlReportService.selectList(new EntityWrapper<OrderDetlReport>().eq("order_no", order.getOrderNo())); | 
 |  |  |             for (OrderDetlReport orderDetlReport : orderNo){ | 
 |  |  |             for (OrderDetlReport orderDetlReport : orderNo) { | 
 |  |  |                 OrderDetlReportLog log = new OrderDetlReportLog(); | 
 |  |  |                 log.sync(orderDetlReport); | 
 |  |  |                 orderDetlReportLogService.insert(log); | 
 |  |  |                 orderDetlReportService.deleteById(orderDetlReport); | 
 |  |  |             } | 
 |  |  |             log.info("已完成单据移动至历史表成功 =====>" +order); | 
 |  |  |             log.info("已完成单据移动至历史表成功 =====>" + order); | 
 |  |  |         } | 
 |  |  |         return SUCCESS; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void moveBoth(Order order, List<OrderDetl> orderDetls){ | 
 |  |  |     private void moveBothPakin(OrderPakin order, List<OrderDetlPakin> orderDetlPakins) { | 
 |  |  |         Date now = new Date(); | 
 |  |  |         if (!Cools.isEmpty(orderDetls)) { | 
 |  |  |             for (OrderDetl orderDetl : orderDetls) { | 
 |  |  |                 orderDetl.setUpdateBy(0L); | 
 |  |  |                 orderDetl.setUpdateTime(now); | 
 |  |  |                 orderDetlService.addToLogTable(orderDetl); | 
 |  |  |                 orderDetlService.delete(new EntityWrapper<OrderDetl>() | 
 |  |  |                         .eq("id",orderDetl.getId())); | 
 |  |  |         if (!Cools.isEmpty(orderDetlPakins)) { | 
 |  |  |             for (OrderDetlPakin orderDetlPakout : orderDetlPakins) { | 
 |  |  |                 orderDetlPakout.setUpdateBy(0L); | 
 |  |  |                 orderDetlPakout.setUpdateTime(now); | 
 |  |  |                 orderDetlPakinService.addToLogTable(orderDetlPakout); | 
 |  |  |                 orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>() | 
 |  |  |                         .eq("id", orderDetlPakout.getId())); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (!Cools.isEmpty(order)){ | 
 |  |  |         if (!Cools.isEmpty(order)) { | 
 |  |  |             order.setUpdateBy(0L); | 
 |  |  |             order.setUpdateTime(now); | 
 |  |  |             orderService.addToLogTable(order); | 
 |  |  |             orderService.delete(new EntityWrapper<Order>() | 
 |  |  |                     .eq("id",order.getId())); | 
 |  |  |             orderPakinService.addToLogTable(order); | 
 |  |  |             orderPakinService.delete(new EntityWrapper<OrderPakin>() | 
 |  |  |                     .eq("id", order.getId())); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public ReturnT<String> startPakout() { | 
 |  |  |         List<OrderPakout> settleEqual6 = orderPakoutService.selectList(new EntityWrapper<OrderPakout>() | 
 |  |  |                 .eq("settle", 6)); | 
 |  |  |         for (OrderPakout order : settleEqual6) { | 
 |  |  |             List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>() | 
 |  |  |                     .eq("order_no", order.getOrderNo())); | 
 |  |  |             moveBothPakout(order, orderDetlPakouts); | 
 |  |  |             List<OrderDetlReport> orderNo = orderDetlReportService.selectList(new EntityWrapper<OrderDetlReport>().eq("order_no", order.getOrderNo())); | 
 |  |  |             for (OrderDetlReport orderDetlReport : orderNo) { | 
 |  |  |                 OrderDetlReportLog log = new OrderDetlReportLog(); | 
 |  |  |                 log.sync(orderDetlReport); | 
 |  |  |                 orderDetlReportLogService.insert(log); | 
 |  |  |                 orderDetlReportService.deleteById(orderDetlReport); | 
 |  |  |             } | 
 |  |  |             log.info("已完成单据移动至历史表成功 =====>" + order); | 
 |  |  |         } | 
 |  |  |         return SUCCESS; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void moveBothPakout(OrderPakout order, List<OrderDetlPakout> orderDetlPakouts) { | 
 |  |  |         Date now = new Date(); | 
 |  |  |         if (!Cools.isEmpty(orderDetlPakouts)) { | 
 |  |  |             for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) { | 
 |  |  |                 orderDetlPakout.setUpdateBy(0L); | 
 |  |  |                 orderDetlPakout.setUpdateTime(now); | 
 |  |  |                 orderDetlPakoutService.addToLogTable(orderDetlPakout); | 
 |  |  |                 orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>() | 
 |  |  |                         .eq("id", orderDetlPakout.getId())); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (!Cools.isEmpty(order)) { | 
 |  |  |             order.setUpdateBy(0L); | 
 |  |  |             order.setUpdateTime(now); | 
 |  |  |             orderPakoutService.addToLogTable(order); | 
 |  |  |             orderPakoutService.delete(new EntityWrapper<OrderPakout>() | 
 |  |  |                     .eq("id", order.getId())); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |