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<String> {
|
|
@Autowired
|
private OrderPakinService orderPakinService;
|
|
@Autowired
|
private OrderDetlPakinServiceImpl orderDetlPakinService;
|
|
@Autowired
|
private OrderPakinLogMapper orderPakinLogMapper;
|
|
@Autowired
|
private OrderDetlPakinLogMapper orderDetlPakinLogMapper;
|
|
|
public ReturnT<String> start() {
|
List<OrderPakin> settleEqual6 = orderPakinService.selectList(new EntityWrapper<OrderPakin>()
|
.eq("settle", 6));
|
for (OrderPakin order : settleEqual6) {
|
List<OrderDetlPakin> orderDetls = orderDetlPakinService.selectByOrderId(order.getId());
|
moveBoth(order, orderDetls);
|
log.info("已完成单据移动至历史表成功 =====>" + order);
|
}
|
return SUCCESS;
|
}
|
|
|
private void moveBoth(OrderPakin order, List<OrderDetlPakin> 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());
|
}
|
}
|
|
}
|