xiaoyi
3 天以前 1dfdc3b0611211feba0570ec6d8cfad078c37135
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmBidAwardServiceImpl.java
@@ -3,7 +3,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.api.purchase.ErpPurchaseOrderApi;
import cn.iocoder.yudao.module.erp.api.purchase.PurchaseOrderApi;
import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseOrderCreateReqDTO;
import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemRespDTO;
@@ -14,6 +14,7 @@
import cn.iocoder.yudao.module.srm.enums.BidStatusEnum;
import cn.iocoder.yudao.module.srm.enums.ErrorCodeConstants;
import cn.iocoder.yudao.module.srm.enums.TenderStatusEnum;
import cn.iocoder.yudao.module.srm.service.apply.SrmSupplierApplyService;
import com.mzt.logapi.starter.annotation.LogRecord;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -60,7 +61,10 @@
    private MdmItemApi mdmItemApi;
    @Resource
    private ErpPurchaseOrderApi erpPurchaseOrderApi;
    private PurchaseOrderApi purchaseOrderApi;
    @Resource
    private SrmSupplierApplyService supplierApplyService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -162,6 +166,9 @@
            throw ServiceExceptionUtil.exception(ErrorCodeConstants.AWARD_SUPPLIER_NOT_SYNCED);
        }
        // 供应商未准入则自动准入并通过,保证采购订单流程可用
        supplierApplyService.ensureSupplierApproved(srmSupplier.getId());
        // 3. 查招标物料列表
        List<SrmTenderMaterialDO> materials = tenderMaterialMapper
                .selectListByTenderProjectId(award.getTenderProjectId());
@@ -226,12 +233,12 @@
        createReq.setItems(orderItems);
        createReq.setRemark("SRM 定标自动生成, 定标编号: " + award.getAwardNo());
        Long purchaseOrderId = erpPurchaseOrderApi.createPurchaseOrder(createReq).getCheckedData();
        Long purchaseOrderId = purchaseOrderApi.createPurchaseOrder(createReq).getCheckedData();
        // 获取采购订单号
        String purchaseOrderNo = null;
        try {
            purchaseOrderNo = erpPurchaseOrderApi.getPurchaseOrder(purchaseOrderId)
            purchaseOrderNo = purchaseOrderApi.getPurchaseOrder(purchaseOrderId)
                    .getCheckedData().getNo();
        } catch (Exception e) {
            log.warn("[generatePurchaseOrder] 获取采购订单号失败,purchaseOrderId={}", purchaseOrderId, e);