package com.zy.asrs.task;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.zy.asrs.entity.LocCheck;
|
import com.zy.asrs.entity.Order;
|
import com.zy.asrs.entity.OrderCheck;
|
import com.zy.asrs.service.LocCheckService;
|
import com.zy.asrs.service.OrderCheckService;
|
import com.zy.asrs.task.core.ReturnT;
|
import com.zy.asrs.task.handler.OrderCheckHandler;
|
import com.zy.asrs.task.handler.OrderLogHandler;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
@Slf4j
|
@Component
|
public class OrderCheckScheduler {
|
@Autowired
|
private LocCheckService locCheckService;
|
@Autowired
|
private OrderCheckService orderCheckService;
|
|
@Autowired
|
private OrderCheckHandler orderCheckHandler;
|
|
//定时任务,判断盘点单据内所有条目是否审核完成,完成则更改盘点单状态
|
@Scheduled(cron = "0/10 * * * * ? ")
|
private void execute(){
|
|
List<OrderCheck> orderChecks = orderCheckService.selectList(null);
|
|
for (OrderCheck orderCheck : orderChecks){
|
if (orderCheck.getSettle() == 1 || orderCheck.getSettle() == 2){
|
EntityWrapper<LocCheck> locCheckEntityWrapper = new EntityWrapper<>();
|
locCheckEntityWrapper.eq("order_no",orderCheck.getOrderNo());
|
List<LocCheck> locChecks = locCheckService.selectList(locCheckEntityWrapper);
|
int status = 1;
|
for (LocCheck locCheck : locChecks){
|
if (locCheck.getExamine() == 0 ){
|
status = 0;
|
}
|
}
|
if (status != 0){
|
orderCheck.setSettle(4L);
|
orderCheckService.updateById(orderCheck);
|
}
|
}
|
}
|
}
|
//定时任务 将已完成的盘点单从主表转移至历史档
|
@Scheduled(cron = "0/10 * * * * ? ")
|
private void executeLog(){
|
List<OrderCheck> orders = orderCheckService.selectToBeHistoryOrder();
|
if (orders.isEmpty()) {
|
return;
|
}
|
for (OrderCheck order : orders) {
|
ReturnT<String> result = orderCheckHandler.start(order);
|
if (!result.isSuccess()) {
|
log.error("单据档[orderNo={}]历史档处理失败", order.getOrderNo());
|
}
|
}
|
}
|
|
|
}
|