package com.zy.asrs.task.handler; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.OrderDetlPakout; import com.zy.asrs.entity.OrderDetlPakoutLog; import com.zy.asrs.entity.OrderPakout; import com.zy.asrs.entity.OrderPakoutLog; import com.zy.asrs.mapper.OrderDetlPakoutLogMapper; import com.zy.asrs.mapper.OrderPakoutLogMapper; import com.zy.asrs.service.OrderDetlPakoutService; import com.zy.asrs.service.OrderPakoutService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.utils.Synchro; 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 OrderPakoutMoveHistoryHandler extends AbstractHandler { @Autowired private OrderPakoutService orderPakoutService; @Autowired private OrderDetlPakoutService orderDetlPakoutService; @Autowired private OrderPakoutLogMapper orderPakoutLogMapper; @Autowired private OrderDetlPakoutLogMapper orderDetlPakoutLogMapper; public ReturnT start() { List settleEqual6 = orderPakoutService.selectList(new EntityWrapper() .eq("settle", 6)); for (OrderPakout order : settleEqual6) { List orderDetls = orderDetlPakoutService.selectList(new EntityWrapper() .eq("order_no", order.getOrderNo())); moveBoth(order, orderDetls); log.info("已完成单据移动至历史表成功 =====>" + order); } return SUCCESS; } private void moveBoth(OrderPakout order, List orderDetls) { Date now = new Date(); if (!Cools.isEmpty(orderDetls)) { for (OrderDetlPakout orderDetl : orderDetls) { orderDetl.setUpdateBy(0L); orderDetl.setUpdateTime(now); OrderDetlPakoutLog orderDetlLog = new OrderDetlPakoutLog(); Synchro.Copy(orderDetl, orderDetlLog); orderDetlLog.setId(null); orderDetlPakoutLogMapper.insert(orderDetlLog); orderDetlPakoutService.deleteById(orderDetl.getId()); } } if (!Cools.isEmpty(order)) { order.setUpdateBy(0L); order.setUpdateTime(now); OrderPakoutLog orderPakinLog = new OrderPakoutLog(); Synchro.Copy(order, orderPakinLog); orderPakinLog.setId(null); orderPakoutLogMapper.insert(orderPakinLog); orderPakoutService.deleteById(order.getId()); } } }