| package com.zy.asrs.task.handler; | 
|   | 
| import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
| import com.core.common.Cools; | 
| import com.zy.asrs.entity.*; | 
| import com.zy.asrs.service.*; | 
| import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl; | 
| import com.zy.asrs.service.impl.OrderPakinServiceImpl; | 
| import com.zy.asrs.task.AbstractHandler; | 
| import com.zy.asrs.task.core.ReturnT; | 
| import com.zy.asrs.utils.OrderInAndOutUtil; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
|   | 
| import java.util.Date; | 
| import java.util.List; | 
|   | 
| @Service | 
| @Slf4j | 
| public class OrderMoveHistoryHandler extends AbstractHandler<String> { | 
|     @Autowired | 
|     private OrderService orderService; | 
|     @Autowired | 
|     private OrderPakinService orderPakinService; | 
|     @Autowired | 
|     private OrderPakoutService orderPakoutService; | 
|     @Autowired | 
|     private OrderDetlService orderDetlService; | 
|     @Autowired | 
|     private OrderDetlPakinServiceImpl orderDetlPakinService; | 
|     @Autowired | 
|     private OrderDetlPakoutService orderDetlPakoutService; | 
|   | 
|     public ReturnT<String> start(){ | 
| //        List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>() | 
| //                .eq("settle", 6)); | 
|         List<Order> settleEqual6 = OrderInAndOutUtil.selectBySettle(null, 6L); | 
|         for (Order order : settleEqual6) { | 
| //            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>() | 
| //                    .eq("order_no", order.getOrderNo())); | 
|             List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); | 
|             moveBoth(order,orderDetls); | 
|             log.info("已完成单据移动至历史表成功 =====>" +order); | 
|         } | 
|         return SUCCESS; | 
|     } | 
|   | 
|     public ReturnT<String> startOrder(){ | 
|         List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>() | 
|                 .eq("settle", 6)); | 
| //        List<Order> settleEqual6 = OrderInAndOutUtil.selectBySettle(null, 6L); | 
|         for (Order order : settleEqual6) { | 
|             List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>() | 
|                     .eq("order_no", order.getOrderNo())); | 
| //            List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); | 
|             moveBothOrder(order,orderDetls); | 
|             log.info("已完成单据移动至历史表成功 =====>" +order); | 
|         } | 
|         return SUCCESS; | 
|     } | 
|   | 
|     private void moveBoth(Order order, List<OrderDetl> orderDetls){ | 
|         Date now = new Date(); | 
|         if (!Cools.isEmpty(orderDetls)) { | 
|             for (OrderDetl orderDetl : orderDetls) { | 
|                 orderDetl.setUpdateBy(0L); | 
|                 orderDetl.setUpdateTime(now); | 
| //                orderDetlService.addToLogTable(orderDetl); | 
|                 OrderInAndOutUtil.addToLogTableOrderDetl(order.getPakinPakoutStatus$(),orderDetl); | 
|                 if (order.getPakinPakoutStatus() == 1){ | 
|                     orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>() | 
|                             .eq("id",orderDetl.getId())); | 
|                 } else { | 
|                     orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>() | 
|                             .eq("id",orderDetl.getId())); | 
|                 } | 
|             } | 
|         } | 
|         if (!Cools.isEmpty(order)){ | 
|             order.setUpdateBy(0L); | 
|             order.setUpdateTime(now); | 
| //            orderService.addToLogTable(order); | 
|             OrderInAndOutUtil.addToLogTableOrder(order.getPakinPakoutStatus$(),order); | 
| //            orderService.delete(new EntityWrapper<Order>() | 
| //                    .eq("id",order.getId())); | 
|             if (order.getPakinPakoutStatus() == 1){ | 
|                 orderPakinService.delete(new EntityWrapper<OrderPakin>() | 
|                         .eq("id",order.getId())); | 
|             } else { | 
|                 orderPakoutService.delete(new EntityWrapper<OrderPakout>() | 
|                         .eq("id",order.getId())); | 
|             } | 
|         } | 
|     } | 
|   | 
|     private void moveBothOrder(Order order, List<OrderDetl> orderDetls){ | 
|         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(order)){ | 
|             order.setUpdateBy(0L); | 
|             order.setUpdateTime(now); | 
|             orderService.addToLogTable(order); | 
|             orderService.delete(new EntityWrapper<Order>() | 
|                     .eq("id",order.getId())); | 
|         } | 
|     } | 
|   | 
| } |