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<String> {
|
|
@Autowired
|
private OrderPakoutService orderPakoutService;
|
|
@Autowired
|
private OrderDetlPakoutService orderDetlPakoutService;
|
|
|
@Autowired
|
private OrderPakoutLogMapper orderPakoutLogMapper;
|
|
@Autowired
|
private OrderDetlPakoutLogMapper orderDetlPakoutLogMapper;
|
|
public ReturnT<String> start() {
|
List<OrderPakout> settleEqual6 = orderPakoutService.selectList(new EntityWrapper<OrderPakout>()
|
.eq("settle", 6));
|
for (OrderPakout order : settleEqual6) {
|
List<OrderDetlPakout> orderDetls = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>()
|
.eq("order_no", order.getOrderNo()));
|
moveBoth(order, orderDetls);
|
log.info("已完成单据移动至历史表成功 =====>" + order);
|
}
|
return SUCCESS;
|
}
|
|
|
private void moveBoth(OrderPakout order, List<OrderDetlPakout> 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());
|
}
|
}
|
|
|
}
|