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