自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-12-14 e732ec664a35080497fd17d6550fd5d718466332
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -1,5 +1,6 @@
package com.zy.asrs.task.handler;
import com.alibaba.fastjson.JSON;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Order;
@@ -11,11 +12,13 @@
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.common.service.erp.ErpService;
import com.zy.common.service.erp.entity.VoucherDetail;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.List;
@@ -48,10 +51,6 @@
        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
        // 入库完成上报
        if (docType.getPakin() == 1) {
        }
        // 出库完成上报
        if (docType.getPakout() == 1) {
            try {
                // erp 同步
                int state = 2;
@@ -66,6 +65,31 @@
                return FAIL.setMsg(e.getMessage());
            }
        }
        // 出库完成上报
        if (docType.getPakout() == 1) {
            try {
                // erp 同步
                int state = 2;
                if (!erpService.updateStateForVoucher(order.getOrderNo(), state)) {
                    throw new CoolException(order.getOrderNo() + "订单修改State为"+state+"失败");
                } else {
                    for (OrderDetl orderDetl : orderDetls) {
                        VoucherDetail voucherDetail = new VoucherDetail();
                        voucherDetail.setVoucherID(order.getOrderNo());
                        voucherDetail.setPickID("fepvnn0496");
                        voucherDetail.setBarcode(orderDetl.getBatch());
                        if (!erpService.insertVoucherDetail(voucherDetail)) {
                            throw new CoolException(order.getOrderNo() + "订单添加VoucherDetail"+ JSON.toJSONString(voucherDetail)+"失败");
                        }
                    }
                }
            } catch (Exception e) {
                log.error("fail", e);
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return FAIL.setMsg(e.getMessage());
            }
        }
        return SUCCESS;
    }