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 { @Autowired private LocCheckService locCheckService; @Autowired private OrderCheckService orderCheckService; @Autowired private LocCheckLogService locCheckLogService; @Autowired private OrderCheckLogService orderCheckLogService; @Transactional public ReturnT 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().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; } }