package com.zy.asrs.task.handler; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.OrderDetlPakin; import com.zy.asrs.entity.OrderDetlPakinLog; import com.zy.asrs.entity.OrderPakin; import com.zy.asrs.entity.OrderPakinLog; import com.zy.asrs.mapper.OrderDetlPakinLogMapper; import com.zy.asrs.mapper.OrderPakinLogMapper; import com.zy.asrs.service.OrderPakinService; import com.zy.asrs.service.impl.OrderDetlPakinServiceImpl; 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 OrderPakinMoveHistoryHandler extends AbstractHandler { @Autowired private OrderPakinService orderPakinService; @Autowired private OrderDetlPakinServiceImpl orderDetlPakinService; @Autowired private OrderPakinLogMapper orderPakinLogMapper; @Autowired private OrderDetlPakinLogMapper orderDetlPakinLogMapper; public ReturnT start() { List settleEqual6 = orderPakinService.selectList(new EntityWrapper() .eq("settle", 6)); for (OrderPakin order : settleEqual6) { List orderDetls = orderDetlPakinService.selectByOrderId(order.getId()); moveBoth(order, orderDetls); log.info("已完成单据移动至历史表成功 =====>" + order); } return SUCCESS; } private void moveBoth(OrderPakin order, List orderDetls) { Date now = new Date(); if (!Cools.isEmpty(orderDetls)) { for (OrderDetlPakin orderDetl : orderDetls) { orderDetl.setUpdateBy(0L); orderDetl.setUpdateTime(now); OrderDetlPakinLog orderDetlLog = new OrderDetlPakinLog(); Synchro.Copy(orderDetl, orderDetlLog); orderDetlLog.setId(null); orderDetlPakinLogMapper.insert(orderDetlLog); orderDetlPakinService.deleteById(orderDetl.getId()); } } if (!Cools.isEmpty(order)) { order.setUpdateBy(0L); order.setUpdateTime(now); OrderPakinLog orderPakinLog = new OrderPakinLog(); Synchro.Copy(order, orderPakinLog); orderPakinLog.setId(null); orderPakinLogMapper.insert(orderPakinLog); orderPakinService.deleteById(order.getId()); } } }