From d81be6b7dd0f2bbb31b59372b7e2c741ed771af6 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期六, 20 六月 2026 19:52:25 +0800
Subject: [PATCH] fix: 修复发货删除会查询出两条问题

---
 src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index 8e004e4..15dad45 100644
--- a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
+++ b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -2,11 +2,16 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.enums.ReviewStatusEnum;
+import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
 import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.dto.StockOutRecordDto;
 import com.ruoyi.stock.dto.StockUninventoryDto;
 import com.ruoyi.stock.pojo.StockInRecord;
 import com.ruoyi.stock.pojo.StockOutRecord;
@@ -19,6 +24,7 @@
 
 import java.math.BigDecimal;
 import java.util.Collections;
+import java.util.List;
 
 @Component
 @RequiredArgsConstructor
@@ -128,7 +134,8 @@
         stockInventoryDto.setQualitity(quantity);
         stockInventoryDto.setProductModelId(productModelId);
         stockInventoryDto.setBatchNo(batchNo);
-        stockInventoryService.addStockOutRecordOnly(stockInventoryDto);
+        StockOutRecordDto stockOutRecordDto = stockInventoryService.addStockOutRecordOnly(stockInventoryDto);
+        stockOutRecordService.batchApprove(Collections.singletonList(stockOutRecordDto.getId()),1);
     }
 
     /**
@@ -160,15 +167,18 @@
 
     }
 
+    //鍒犻櫎鍑哄簱璁板綍
     public void deleteStockOutRecord(Long recordId, String recordType) {
-        StockOutRecord one = stockOutRecordService.getOne(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());
+        List<StockOutRecord> list = stockOutRecordService.list(Wrappers.<StockOutRecord>lambdaQuery()
+                .eq(StockOutRecord::getRecordId, recordId)
+                .eq(StockOutRecord::getRecordType, recordType));
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (StockOutRecord one : list) {
+                if (ReviewStatusEnum.APPROVED.getCode().equals(one.getApprovalStatus())) {
+                    stockOutRecordService.batchDelete(Collections.singletonList(one.getId()));
+                } else {
+                    stockOutRecordService.removeById(one.getId());
+                }
             }
         }
 

--
Gitblit v1.9.3