package com.zy.asrs.task.handler; 
 | 
  
 | 
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.service.OrderDetlService; 
 | 
import com.zy.asrs.service.OrderService; 
 | 
import com.zy.asrs.task.AbstractHandler; 
 | 
import com.zy.asrs.task.core.ReturnT; 
 | 
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 OrderDetlService orderDetlService; 
 | 
  
 | 
    public ReturnT<String> start(){ 
 | 
        List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>() 
 | 
                .eq("settle", 6)); 
 | 
        for (Order order : settleEqual6) { 
 | 
            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>() 
 | 
                    .eq("order_no", order.getOrderNo())); 
 | 
            moveBoth(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); 
 | 
                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())); 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |