From f61043f70c126c4b464a4ebc7dd635fcf7b679df Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 24 七月 2026 17:25:33 +0800
Subject: [PATCH] feat(erp): 为ERP模块添加附件功能支持
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java
index f12da1b..50e8bb6 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java
+++ b/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());
});
--
Gitblit v1.9.3