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 |   20 +++++++++++++++++---
 rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx                                 |   28 ++++++++--------------------
 2 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx b/rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx
index 94fb604..113b44b 100644
--- a/rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx
+++ b/rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx
@@ -53,19 +53,19 @@
         cursor: 'auto'
     },
     '& .MuiTableCell-root': {
-    whiteSpace: 'nowrap',
-    overflow: 'visible',
-    textOverflow: 'unset'
+        whiteSpace: 'nowrap',
+        overflow: 'visible',
+        textOverflow: 'unset'
     },
     '& .opt': {
         width: 180,
         whiteSpace: 'normal',
     },
-    '& .column-maktx': {        
+    '& .column-maktx': {
         maxWidth: '15em',
         overflow: 'hidden',
         textOverflow: 'ellipsis',
-        whiteSpace: 'nowrap',    
+        whiteSpace: 'nowrap',
     },
 }));
 
@@ -77,23 +77,11 @@
     const translate = useTranslate();
     const [createDialog, setCreateDialog] = useState(false);
     const [filters, setFilters] = useState([
-        <SearchInput source="condition" alwaysOn />,
-        <NumberInput source="locId" label="table.field.locItem.locId" />,
-        <TextInput source="locCode" label="table.field.locItem.locCode" />,
-        <TextInput source="type" label="table.field.locItem.type" />,
         <AutocompleteInput choices={dict} optionText='label' optionValue="value" source="aggType" label="table.field.locItem.aggType" />,
-        <NumberInput source="orderItemId" label="table.field.locItem.orderItemId" />,
-        <NumberInput source="wkType" label="table.field.locItem.wkType" />,
-        <NumberInput source="matnrId" label="table.field.locItem.matnrId" />,
+        <TextInput source="matnrCode" label="table.field.warehouseStock.matnrCode" alwaysOn/>,
         <TextInput source="maktx" label="table.field.locItem.maktx" />,
-        <TextInput source="unit" label="table.field.locItem.unit" />,
-        <NumberInput source="anfme" label="table.field.locItem.anfme" />,
-        <NumberInput source="workQty" label="table.field.locItem.workQty" />,
         <TextInput source="batch" label="table.field.locItem.batch" />,
-        <TextInput source="spec" label="table.field.locItem.spec" />,
-        <TextInput source="model" label="table.field.locItem.model" />,
-        <TextInput source="fieldsIndex" label="table.field.locItem.fieldsIndex" />,
-        <TextInput label="common.field.memo" source="memo" />,]);
+        ]);
     const [select, setSelect] = useState({});
     const [drawerVal, setDrawerVal] = useState(false);
 
@@ -242,7 +230,7 @@
                     rowClick={false}
                     expand={false}
                     expandSingle={true}
-                    omit={['id', 'createTime', 'locId', 'spec', 'model', 'locCode', 'orderId', 'orderItemId', 'matnrId', 'splrBatch', 'createBy', 'memo', 'fieldsIndex','updateBy$']}
+                    omit={['id', 'createTime', 'locId', 'spec', 'model', 'locCode', 'orderId', 'orderItemId', 'matnrId', 'splrBatch', 'createBy', 'memo', 'fieldsIndex', 'updateBy$']}
                 >
                     {columns.map((column) => column)}
                 </StyledDatagrid>}
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 aa8edf6..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
@@ -59,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);
@@ -145,8 +150,17 @@
         } 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