2026-07-09 d41fe2e95f3f64c6e3a7229acd9e74e673513a0a
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
@@ -11,6 +11,8 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.arrivalnotice.MesWmArrivalNoticeLineDO;
import cn.iocoder.yudao.module.mes.dal.mysql.wm.arrivalnotice.MesWmArrivalNoticeMapper;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmArrivalNoticeStatusEnum;
import cn.iocoder.yudao.module.erp.api.purchase.ErpPurchaseOrderApi;
import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseOrderRespDTO;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -41,6 +43,9 @@
    @Resource
    private cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService vendorService;
    @Resource
    private ErpPurchaseOrderApi purchaseOrderApi;
    @Override
    public Long createArrivalNotice(MesWmArrivalNoticeSaveReqVO createReqVO) {
        // 校验数据
@@ -70,6 +75,15 @@
        validateCodeUnique(reqVO.getId(), reqVO.getCode());
        // 校验供应商存在且启用
        vendorService.validateVendorExistsAndEnable(reqVO.getVendorId());
        // 校验采购订单存在,并自动填充采购订单号
        if (reqVO.getPurchaseOrderId() != null) {
            ErpPurchaseOrderRespDTO purchaseOrder = purchaseOrderApi.getPurchaseOrder(reqVO.getPurchaseOrderId()).getCheckedData();
            if (purchaseOrder == null) {
                throw exception(WM_PURCHASE_ORDER_NOT_EXISTS);
            }
            // 自动填充采购订单号
            reqVO.setPurchaseOrderCode(purchaseOrder.getNo());
        }
    }
    @Override