package com.zy.asrs.wms.task.handler; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.sun.org.apache.xpath.internal.operations.Or; import com.zy.asrs.common.wms.entity.Order; import com.zy.asrs.common.wms.entity.OrderDetl; import com.zy.asrs.common.wms.service.OrderDetlService; import com.zy.asrs.common.wms.service.OrderService; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.wms.task.AbstractHandler; import com.zy.asrs.wms.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 { @Autowired private OrderService orderService; @Autowired private OrderDetlService orderDetlService; public ReturnT start(){ List settleEqual6 = orderService.list(new LambdaQueryWrapper() .in(Order::getSettle, 6,7)); for (Order order : settleEqual6) { List orderDetls = orderDetlService.list(new LambdaQueryWrapper() .eq(OrderDetl::getOrderNo, order.getOrderNo())); moveBoth(order,orderDetls); log.info("已完成单据移动至历史表成功 =====>" +order); } return SUCCESS; } private void moveBoth(Order order, List orderDetls){ Date now = new Date(); if (!Cools.isEmpty(orderDetls)) { for (OrderDetl orderDetl : orderDetls) { orderDetl.setUpdateBy(0L); orderDetl.setUpdateTime(now); orderDetlService.addToLogTable(orderDetl); orderDetlService.remove(new LambdaQueryWrapper() .eq(OrderDetl::getId,orderDetl.getId())); } } if (!Cools.isEmpty(order)){ order.setUpdateBy(0L); order.setUpdateTime(now); orderService.addToLogTable(order); orderService.remove(new LambdaQueryWrapper() .eq(Order::getId,order.getId())); } } }