From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板

---
 src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java |   57 +++++++++++++++++++++++----------------------------------
 1 files changed, 23 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java
index 3a0f3cc..7715520 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java
@@ -1,16 +1,20 @@
 package com.ruoyi.warehouse.service.impl;
 
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.warehouse.mapper.DocumentationMapper;
 import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper;
+import com.ruoyi.warehouse.pojo.Documentation;
 import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto;
 import com.ruoyi.warehouse.service.WarehouseGoodsShelvesRowcolService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
 import java.util.List;
 
 
@@ -25,48 +29,33 @@
     implements WarehouseGoodsShelvesRowcolService {
     @Autowired
     private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper;
+    @Autowired
+    private DocumentationMapper documentationMapper;
 
     @Override
-    public IPage<WarehouseGoodsShelvesRowcol> listPage(Page page, WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
-        IPage<WarehouseGoodsShelvesRowcol> list = warehouseGoodsShelvesRowcolMapper.listPage(page, warehouseGoodsShelvesRowcol);
+    public List<WarehouseGoodsShelvesRowcolDto> getList(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
+        List<WarehouseGoodsShelvesRowcolDto> list = warehouseGoodsShelvesRowcolMapper.findList(warehouseGoodsShelvesRowcol);
+        for (WarehouseGoodsShelvesRowcolDto dto : list) {
+            //鑾峰彇灞俰ds
+            Long id = dto.getId();
+            //鑾峰彇鏂囨。
+            dto.setDocumentationDtoList(documentationMapper.listBywarehouseGoodsShelvesRowcolId(id));
+        }
         return list;
     }
-
     @Override
     public boolean deleteByIds(List<Long> ids) {
-        for (int i = 0; i < ids.size(); i++) {
-            Long id = ids.get(i);
-            WarehouseGoodsShelvesRowcol rowcol = warehouseGoodsShelvesRowcolMapper.selectById(id);
-            if(rowcol.getDocumentationId()!=null && rowcol.getDocumentationId()!=0){
-                log.error("璐ф灦涓婃湁鍟嗗搧,涓嶈兘鍒犻櫎");
-                return false;
-            }
-        }
-        int i = warehouseGoodsShelvesRowcolMapper.deleteBatchIds(ids);
-        if(i!=ids.size()){
-            log.error("鍒犻櫎澶辫触");
-            return false;
-        }
+        // 3. 妫�鏌ユ槸鍚︽湁鍟嗗搧
+        Wrapper<Documentation> queryWrapper = new LambdaQueryWrapper<Documentation>()
+                .in(Documentation::getWarehouseGoodsShelvesRowcolId, ids);
+        List<Documentation> documentations = documentationMapper.selectList(queryWrapper);
+        if (!documentations.isEmpty()) throw new RuntimeException("璐ф灦涓嬫湁鍟嗗搧锛屼笉鑳藉垹闄�");
+        warehouseGoodsShelvesRowcolMapper.deleteBatchIds(ids);
         return true;
     }
 
 
-//    @Override
-//    public boolean add(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) {
-//        for (int i = 0; i < warehouseGoodsShelvesRowcol.getRow(); i++) {
-//            for (int j = 0; j < warehouseGoodsShelvesRowcol.getCol(); j++) {
-//                WarehouseGoodsShelvesRowcol rowcol = new WarehouseGoodsShelvesRowcol();
-//                rowcol.setRow((long) i);
-//                rowcol.setCol((long) j);
-//                rowcol.setWarehouseGoodsShelvesId(warehouseGoodsShelvesRowcol.getWarehouseGoodsShelvesId());
-//                rowcol.setWarehouseId(warehouseGoodsShelvesRowcol.getWarehouseId());
-//                rowcol.setCreateUser(warehouseGoodsShelvesRowcol.getCreateUser());
-//                rowcol.setCreateTime(warehouseGoodsShelvesRowcol.getCreateTime());
-//                warehouseGoodsShelvesRowcolMapper.insert(rowcol);
-//            }
-//        }
-//        return true;
-//    }
+
 }
 
 

--
Gitblit v1.9.3