package com.zy.asrs.task.handler;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.core.common.Cools;
|
import com.zy.asrs.entity.OrderPakin;
|
import com.zy.asrs.entity.OrderDetlPakout;
|
import com.zy.asrs.entity.OrderDetlReport;
|
import com.zy.asrs.entity.OrderDetlReportLog;
|
import com.zy.asrs.service.OrderDetlReportLogService;
|
import com.zy.asrs.service.OrderDetlReportService;
|
import com.zy.asrs.service.OrderDetlService;
|
import com.zy.asrs.service.OrderService;
|
import com.zy.asrs.task.AbstractHandler;
|
import com.zy.asrs.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<String> {
|
@Autowired
|
private OrderService orderService;
|
@Autowired
|
private OrderDetlService orderDetlService;
|
@Autowired
|
private OrderDetlReportLogService orderDetlReportLogService;
|
@Autowired
|
private OrderDetlReportService orderDetlReportService;
|
|
public ReturnT<String> start() {
|
List<OrderPakin> settleEqual6 = orderService.selectList(new EntityWrapper<OrderPakin>()
|
.eq("settle", 6));
|
for (OrderPakin order : settleEqual6) {
|
List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>()
|
.eq("order_no", order.getOrderNo()));
|
moveBoth(order, orderDetlPakouts);
|
List<OrderDetlReport> orderNo = orderDetlReportService.selectList(new EntityWrapper<OrderDetlReport>().eq("order_no", order.getOrderNo()));
|
for (OrderDetlReport orderDetlReport : orderNo) {
|
OrderDetlReportLog log = new OrderDetlReportLog();
|
log.sync(orderDetlReport);
|
orderDetlReportLogService.insert(log);
|
orderDetlReportService.deleteById(orderDetlReport);
|
}
|
log.info("已完成单据移动至历史表成功 =====>" + order);
|
}
|
return SUCCESS;
|
}
|
|
private void moveBoth(OrderPakin order, List<OrderDetlPakout> orderDetlPakouts) {
|
Date now = new Date();
|
if (!Cools.isEmpty(orderDetlPakouts)) {
|
for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
|
orderDetlPakout.setUpdateBy(0L);
|
orderDetlPakout.setUpdateTime(now);
|
orderDetlService.addToLogTable(orderDetlPakout);
|
orderDetlService.delete(new EntityWrapper<OrderDetlPakout>()
|
.eq("id", orderDetlPakout.getId()));
|
}
|
}
|
if (!Cools.isEmpty(order)) {
|
order.setUpdateBy(0L);
|
order.setUpdateTime(now);
|
orderService.addToLogTable(order);
|
orderService.delete(new EntityWrapper<OrderPakin>()
|
.eq("id", order.getId()));
|
}
|
}
|
|
}
|