buhuazhen
2026-04-20 13fe678b744a7f2be7ddef9ca3aa0d9bf42074a1
fix(stock): 修复销售出货记录删除逻辑错误

- 修改判断条件,区分销售发货出库记录类型
- 修正断言逻辑,确保存在销售出货记录时禁止删除
- 优化代码结构,避免逻辑混淆
- 保障数据一致性,防止误删相关记录
已修改1个文件
13 ■■■■■ 文件已修改
src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.stock.service.impl;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,6 +13,9 @@
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.sales.mapper.ShippingInfoMapper;
import com.ruoyi.sales.pojo.ShippingInfo;
import com.ruoyi.sales.service.ShippingInfoService;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockOutRecordDto;
import com.ruoyi.stock.dto.StockUninventoryDto;
@@ -43,6 +48,7 @@
    private StockOutRecordMapper stockOutRecordMapper;
    private StockInventoryMapper stockInventoryMapper;
    private StockUninventoryMapper stockUninventoryMapper;
    private final ShippingInfoService shippingInfoService;
    @Override
    public IPage<StockOutRecordDto> listPage(Page page, StockOutRecordDto stockOutRecordDto) {
@@ -96,6 +102,13 @@
                    stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
                }
            }
            if ("13".equals(stockOutRecord.getRecordType())){
                // 此为 销售-发货出库 没有关联记录才能成功删除
                // 查询对应是否含有销售出货记录
                ShippingInfo byId = shippingInfoService.getById(stockOutRecord.getRecordId());
                Assert.isNull(byId, StrUtil.format("{}存在销售出货记录,无法删除!!!",stockOutRecord.getOutboundBatches()));
            }
        }
        return stockOutRecordMapper.deleteBatchIds(ids);
    }