package com.zy.asrs.task.handler;
|
|
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.entity.OrderDetl;
|
import com.zy.asrs.service.LocCheckLogService;
|
import com.zy.asrs.service.LocCheckService;
|
import com.zy.asrs.service.OrderCheckLogService;
|
import com.zy.asrs.service.OrderCheckService;
|
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 org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
@Slf4j
|
@Service
|
public class OrderCheckHandler extends AbstractHandler<String> {
|
@Autowired
|
private LocCheckService locCheckService;
|
@Autowired
|
private OrderCheckService orderCheckService;
|
|
@Autowired
|
private LocCheckLogService locCheckLogService;
|
@Autowired
|
private OrderCheckLogService orderCheckLogService;
|
|
@Transactional
|
public ReturnT<String> start(OrderCheck order) {
|
try {
|
// 保存单据主档历史档
|
if (!orderCheckLogService.save(order.getOrderNo())) {
|
exceptionHandle("保存单据历史档[orderNo={0}]失败", order.getOrderNo());
|
}
|
// 删除单据主档
|
if (!orderCheckService.deleteById(order)) {
|
exceptionHandle("删除单据主档[orderNo={0}]失败", order.getOrderNo());
|
}
|
// 保存单据明细档历史档
|
if (!locCheckLogService.save(order.getOrderNo())) {
|
exceptionHandle("保存单据明细历史档[orderNo={0}]失败", order.getOrderNo());
|
}
|
// 删除工作明细档
|
if (!locCheckService.delete(new EntityWrapper<LocCheck>().eq("order_no", order.getOrderNo()))) {
|
exceptionHandle("删除单据明细档[orderNo={0}]失败", order.getOrderNo());
|
}
|
|
} catch (Exception e) {
|
log.error("fail", e);
|
e.printStackTrace();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
return FAIL.setMsg(e.getMessage());
|
}
|
return SUCCESS;
|
}
|
}
|