14 小时以前 f61043f70c126c4b464a4ebc7dd635fcf7b679df
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java
@@ -25,6 +25,7 @@
import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus;
import cn.iocoder.yudao.module.erp.enums.ErpPurchaseRequestStatusEnum;
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import jakarta.annotation.Resource;
@@ -81,6 +82,8 @@
    private AdminUserApi adminUserApi;
    @Resource
    private DeptApi deptApi;
    @Resource
    private StorageAttachmentApi storageAttachmentApi;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -111,7 +114,11 @@
        calculateTotalPrice(purchaseRequest, requestItems);
        purchaseRequestMapper.insert(purchaseRequest);
        // 6. 插入申请明细
        // 6. 绑定附件
        storageAttachmentApi.bindAttachments("file", "erp_purchase_request",
                purchaseRequest.getId(), createReqVO.getBlobIds());
        // 7. 插入申请明细
        requestItems.forEach(o -> o.setRequestId(purchaseRequest.getId()));
        purchaseRequestItemMapper.insertBatch(requestItems);
@@ -137,6 +144,13 @@
        // 5. 更新申请明细
        updatePurchaseRequestItemList(updateReqVO.getId(), requestItems);
        // 6. 更新附件
        if (updateReqVO.getBlobIds() != null) {
            storageAttachmentApi.deleteAttachmentsByRecord("erp_purchase_request", updateReqVO.getId());
            storageAttachmentApi.bindAttachments("file", "erp_purchase_request",
                    updateReqVO.getId(), updateReqVO.getBlobIds());
        }
    }
    private void calculateTotalPrice(ErpPurchaseRequestDO purchaseRequest, List<ErpPurchaseRequestItemDO> requestItems) {
@@ -195,6 +209,7 @@
        });
        purchaseRequests.forEach(purchaseRequest -> {
            storageAttachmentApi.deleteAttachmentsByRecord("erp_purchase_request", purchaseRequest.getId());
            purchaseRequestMapper.deleteById(purchaseRequest.getId());
            purchaseRequestItemMapper.deleteByRequestId(purchaseRequest.getId());
        });