From 02f6db3f1842f5a830e6ed00aebe6ccd917e76c4 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 06 十一月 2025 12:55:05 +0800
Subject: [PATCH] 即时库存功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java
index 58724db..a4c74da 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseStockController.java
@@ -11,11 +11,11 @@
 import com.vincent.rsf.server.manager.controller.params.WarehouseStockParam;
 import com.vincent.rsf.server.manager.entity.StockItem;
 import com.vincent.rsf.server.manager.entity.ViewStockManage;
-import com.vincent.rsf.server.manager.entity.WarehouseAreasItem;
 import com.vincent.rsf.server.manager.enums.ViewStockType;
 import com.vincent.rsf.server.manager.service.WarehouseStockService;
 import com.vincent.rsf.server.system.controller.BaseController;
 import io.swagger.annotations.Api;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -35,8 +35,7 @@
     @Autowired
     private WarehouseStockService warehouseStockService;
 
-
-    @PreAuthorize("hasAuthority('manager:locItem:list')")
+//    @PreAuthorize("hasAuthority('manager:locItem:list')")
     @PostMapping("/page")
     public R page(@RequestBody Map<String, Object> param) {
         if (Objects.isNull(param)) {
@@ -60,17 +59,22 @@
         } else {
             wrapper.groupBy("matnr_id");
         }
+        wrapper.eq(!Objects.isNull(param.get("matnrCode")), "matnr_code", param.get("matnrCode"));
 
         FieldsUtils.setFieldsFilters(wrapper, pageParam, ViewStockManage.class);
 
+
         IPage<ViewStockManage> pageResult = warehouseStockService.pageByStock(pageParam, wrapper);
+
+
         List<ViewStockManage> records = pageResult.getRecords();
-        for (ViewStockManage record : records) {
+
+        records.forEach(record -> {
             if (!Objects.isNull(record.getFieldsIndex())) {
                 Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
                 record.setExtendFields(fields);
             }
-        }
+        });
         pageResult.setRecords(records);
 
         return R.ok(pageResult);
@@ -138,12 +142,25 @@
        } else if (type.equals(ViewStockType.VIEW_STOCK_TYPE_WAREHOUSE.val)) {
             wrapper.eq(ViewStockManage::getWarehouse, stock.getWarehouse());
        } else if (type.equals(ViewStockType.VIEW_STOCK_TYPE_FIELDSINDEX.val)) {
-            wrapper.eq(ViewStockManage::getFieldsIndex, stock.getFieldsIndex());
+            if (StringUtils.isBlank(stock.getFieldsIndex())) {
+                wrapper.isNull(ViewStockManage::getFieldsIndex);
+            } else {
+                wrapper.eq(ViewStockManage::getFieldsIndex, stock.getFieldsIndex());
+            }
         } else {
             wrapper.eq(ViewStockManage::getMatnrCode, stock.getMatnrCode());
        }
+        PageParam<ViewStockManage, BaseParam> result = warehouseStockService.page(pageParam, wrapper);
+        List<ViewStockManage> records = result.getRecords();
+        records.forEach(record -> {
+            if (!Objects.isNull(record.getFieldsIndex())) {
+                Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
+                record.setExtendFields(fields);
+            }
+        });
+        result.setRecords(records);
 
-        return R.ok(warehouseStockService.page(pageParam, wrapper));
+        return R.ok(result);
     }
 
 }

--
Gitblit v1.9.1