From 4f5133a1aa9ae7842fa808be6d082a036e408f12 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 02 七月 2026 17:09:20 +0800
Subject: [PATCH] 采购退货时,对应批次库存已被销售发货出去一批(比如销售发货时,选择的采购入库的批次库存,剩下38个,但采购退货时,可退货数量还是显示150个。)
---
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java | 27 +++++++++++++++++++--------
1 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index 9b8735f..6c56359 100644
--- a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
+++ b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -20,6 +20,7 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Collections;
+import java.util.List;
@Component
@RequiredArgsConstructor
@@ -183,15 +184,25 @@
//鍒犻櫎鍑哄簱璁板綍
public void deleteStockOutRecord(Long recordId, String recordType) {
- StockOutRecord one = stockOutRecordService.getOne(new QueryWrapper<StockOutRecord>()
+ List<StockOutRecord> records = stockOutRecordService.list(new QueryWrapper<StockOutRecord>()
.lambda().eq(StockOutRecord::getRecordId, recordId)
- .eq(StockOutRecord::getRecordType, recordType), false);
- if (ObjectUtils.isNotEmpty(one)) {
- if (ReviewStatusEnum.APPROVED.getCode().equals(one.getApprovalStatus())) {
- stockOutRecordService.batchDelete(Collections.singletonList(one.getId()));
- } else {
- stockOutRecordService.removeById(one.getId());
- }
+ .eq(StockOutRecord::getRecordType, recordType));
+ if (ObjectUtils.isEmpty(records)) {
+ return;
+ }
+ List<Long> approvedIds = records.stream()
+ .filter(one -> ReviewStatusEnum.APPROVED.getCode().equals(one.getApprovalStatus()))
+ .map(StockOutRecord::getId)
+ .toList();
+ List<Long> pendingIds = records.stream()
+ .filter(one -> !ReviewStatusEnum.APPROVED.getCode().equals(one.getApprovalStatus()))
+ .map(StockOutRecord::getId)
+ .toList();
+ if (!approvedIds.isEmpty()) {
+ stockOutRecordService.batchDelete(approvedIds);
+ }
+ if (!pendingIds.isEmpty()) {
+ stockOutRecordService.removeByIds(pendingIds);
}
}
--
Gitblit v1.9.3