From 7bf754a7835d06f26240c4ca15bc5f83650de377 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 21 九月 2026 20:52:25 +0800
Subject: [PATCH] docs(api): 更新信托基金与代储台账及油品出库相关接口文档
---
src/main/java/com/ruoyi/purchase/service/impl/PurchaseApplicationServiceImpl.java | 68 +++++++++++++++++++++++++++++++++-
1 files changed, 66 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseApplicationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseApplicationServiceImpl.java
index 51ad290..a417af3 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseApplicationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseApplicationServiceImpl.java
@@ -3,12 +3,17 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.basic.dto.StorageBlobVO;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.mapper.SupplierManageMapper;
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.basic.pojo.SupplierManage;
+import com.ruoyi.basic.utils.FileUtil;
import com.ruoyi.common.enums.PurchaseApplicationStatusEnum;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
@@ -35,6 +40,7 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -60,6 +66,7 @@
private final SysUserMapper sysUserMapper;
private final ProductMapper productMapper;
private final ProductModelMapper productModelMapper;
+ private final FileUtil fileUtil;
@Override
public List<PurchaseApplication> selectApplicationList(PurchaseApplicationDto purchaseApplicationDto) {
@@ -89,6 +96,7 @@
PurchaseApplicationDto resultDto = new PurchaseApplicationDto();
BeanUtils.copyProperties(application, resultDto);
resultDto.setProductData(listProducts(id));
+ resultDto.setStorageBlobVOS(listAttachments(id));
return resultDto;
}
@@ -108,6 +116,7 @@
this.save(application);
saveProducts(application.getId(), purchaseApplicationDto.getProductData());
+ saveAttachments(application.getId(), purchaseApplicationDto.getStorageBlobDTOS());
return application.getId();
}
@@ -142,6 +151,7 @@
purchaseApplicationProductMapper.delete(Wrappers.<PurchaseApplicationProduct>lambdaQuery()
.eq(PurchaseApplicationProduct::getPurchaseApplicationId, purchaseApplicationDto.getId()));
saveProducts(purchaseApplicationDto.getId(), purchaseApplicationDto.getProductData());
+ saveAttachments(purchaseApplicationDto.getId(), purchaseApplicationDto.getStorageBlobDTOS());
}
return updated;
}
@@ -216,6 +226,19 @@
.set(PurchaseApplication::getPurchaseLedgerId, purchaseLedgerId)
.set(PurchaseApplication::getConvertTime, LocalDateTime.now()));
return purchaseLedgerId;
+ }
+
+ /**
+ * 淇濆瓨闄勪欢锛氬厛娓呯┖璇ョ敵璇峰崟鐨勬棫鍏宠仈锛屽啀鎸夊墠绔彁浜ょ殑鏂囦欢鍏ㄩ噺閲嶅缓
+ */
+ private void saveAttachments(Long applicationId, List<StorageBlobDTO> storageBlobDTOS) {
+ fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.PURCHASE_APPLICATION,
+ applicationId, storageBlobDTOS);
+ }
+
+ private List<StorageBlobVO> listAttachments(Long applicationId) {
+ return fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(
+ ApplicationTypeEnum.FILE, RecordTypeEnum.PURCHASE_APPLICATION, applicationId);
}
private List<PurchaseApplicationProduct> listProducts(Long applicationId) {
@@ -311,7 +334,8 @@
PurchaseLedgerDto purchaseLedgerDto = new PurchaseLedgerDto();
purchaseLedgerDto.setSupplierId(application.getSupplierId());
purchaseLedgerDto.setSupplierName(supplierManage.getSupplierName());
- purchaseLedgerDto.setRecorderId(application.getApplicantId());
+ purchaseLedgerDto.setRecorderId(application.getRecorderId() != null
+ ? application.getRecorderId() : application.getApplicantId());
purchaseLedgerDto.setRecorderName(application.getApplicantName());
purchaseLedgerDto.setSalesContractNo(application.getSalesContractNo());
purchaseLedgerDto.setSalesLedgerId(application.getSalesLedgerId());
@@ -319,12 +343,51 @@
purchaseLedgerDto.setRemarks(application.getRemarks());
purchaseLedgerDto.setPaymentMethod(application.getPaymentMethod());
purchaseLedgerDto.setContractAmount(application.getContractAmount());
- LocalDate entryDate = application.getApplyDate() != null ? application.getApplyDate() : LocalDate.now();
+ purchaseLedgerDto.setPurchaseContractNumber(application.getPurchaseContractNumber());
+ purchaseLedgerDto.setExecutionDate(toDateOrNull(application.getExecutionDate()));
+ purchaseLedgerDto.setBestArrivalDate(toDateOrNull(application.getBestArrivalDate()));
+ purchaseLedgerDto.setApplicationSubmitTime(toDateOrNull(application.getApplicationSubmitTime()));
+ purchaseLedgerDto.setPurchaseCategory(application.getPurchaseCategory());
+ purchaseLedgerDto.setLogisticsMethod(application.getLogisticsMethod());
+ purchaseLedgerDto.setPickupMethod(application.getPickupMethod());
+ purchaseLedgerDto.setOilDepotId(application.getOilDepotId());
+ purchaseLedgerDto.setCustomerName(application.getCustomerName());
+ purchaseLedgerDto.setPurchaseQuantity(application.getPurchaseQuantity());
+ purchaseLedgerDto.setPurchaseOrderStatus(application.getPurchaseOrderStatus());
+
+ LocalDate entryDate = application.getEntryDate() != null ? application.getEntryDate()
+ : (application.getApplyDate() != null ? application.getApplyDate() : LocalDate.now());
purchaseLedgerDto.setEntryDate(DateUtils.toDate(entryDate));
+
purchaseLedgerDto.setProductData(products.stream()
.map(this::toSalesLedgerProduct)
.collect(Collectors.toList()));
+ purchaseLedgerDto.setStorageBlobDTOS(toStorageBlobDtos(listAttachments(application.getId())));
return purchaseLedgerDto;
+ }
+
+ private static Date toDateOrNull(LocalDate date) {
+ return date == null ? null : DateUtils.toDate(date);
+ }
+
+ private static Date toDateOrNull(LocalDateTime dateTime) {
+ return dateTime == null ? null : DateUtils.toDate(dateTime);
+ }
+
+ /**
+ * 鐢宠鍗曢檮浠跺師鏍峰叧鑱斿埌鐢熸垚鐨勯噰璐彴璐︼細澶嶇敤鍚屼竴浠� storage_blob锛屽彧鏀瑰叧鑱旇褰�
+ */
+ private List<StorageBlobDTO> toStorageBlobDtos(List<StorageBlobVO> storageBlobVOS) {
+ if (storageBlobVOS == null || storageBlobVOS.isEmpty()) {
+ return Collections.emptyList();
+ }
+ return storageBlobVOS.stream()
+ .map(vo -> {
+ StorageBlobDTO dto = new StorageBlobDTO();
+ dto.setId(vo.getId());
+ return dto;
+ })
+ .collect(Collectors.toList());
}
private SalesLedgerProduct toSalesLedgerProduct(PurchaseApplicationProduct source) {
@@ -335,6 +398,7 @@
target.setSpecificationModel(source.getSpecificationModel());
target.setUnit(source.getUnit());
target.setQuantity(source.getQuantity());
+ target.setWarnNum(source.getWarnNum());
target.setTaxRate(source.getTaxRate());
target.setTaxInclusiveUnitPrice(source.getTaxInclusiveUnitPrice());
target.setTaxInclusiveTotalPrice(source.getTaxInclusiveTotalPrice());
--
Gitblit v1.9.3