From 8eb934469f25715758dbf3cb39db5c0c75ca0e2e Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 16 七月 2025 08:11:20 +0800
Subject: [PATCH] 盘点功能优化
---
rsf-admin/src/page/orders/check/CheckOrderPub.jsx | 4 +-
rsf-admin/src/page/orders/check/CheckOrderSiteDialog.jsx | 54 +++++++++++++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java | 4 +-
rsf-admin/src/page/orders/check/CheckOrderItemList.jsx | 7 ---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java | 8 +++-
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java | 8 ++--
rsf-admin/src/page/orders/check/CheckOrderList.jsx | 29 +++++++++++---
7 files changed, 91 insertions(+), 23 deletions(-)
diff --git a/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx b/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
index 095f269..6e108d8 100644
--- a/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderItemList.jsx
@@ -126,13 +126,11 @@
preferenceKey='outStockItem'
bulkActionButtons={false}
rowClick={false}
- omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'purUnit', 'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'asnId']}
+ omit={['id', 'createTime', 'createBy', 'memo', 'poDetlId', 'purQty', 'trackCode', 'packName', 'qrcode', 'splrName', 'matnrId', 'asnId']}
>
<NumberField source="id" />
<NumberField source="asnId" label="table.field.outStockItem.asnId" />
<TextField source="asnCode" label="table.field.outStockItem.asnCode" />
- <TextField source="poCode" label="table.field.outStockItem.poCode" />
- <TextField source="poDetlId" label="table.field.outStockItem.poDetlId" />
<TextField source="matnrId" label="table.field.outStockItem.matnrId" />
<TextField source="matnrCode" label="table.field.outStockItem.matnrCode" />
<TextField source="maktx" label="table.field.outStockItem.maktx" />
@@ -143,11 +141,8 @@
<NumberField source="qty" label="table.field.outStockItem.qty" />
<TextField source="stockUnit" label="table.field.outStockItem.stockUnit" />
<TextField source="splrBatch" label="table.field.outStockItem.splrBatch" />
- <TextField source="purUnit" label="table.field.outStockItem.purUnit" />
<TextField source="splrCode" label="table.field.outStockItem.splrCode" />
<TextField source="splrName" label="table.field.outStockItem.splrName" />
- <TextField source="qrcode" label="table.field.outStockItem.qrcode" />
- <TextField source="trackCode" label="table.field.outStockItem.barcode" />
<TextField source="packName" label="table.field.outStockItem.packName" />
<DateField source="updateTime" label="common.field.updateTime" showTime />
<ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
diff --git a/rsf-admin/src/page/orders/check/CheckOrderList.jsx b/rsf-admin/src/page/orders/check/CheckOrderList.jsx
index 47ea727..4ab39dc 100644
--- a/rsf-admin/src/page/orders/check/CheckOrderList.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderList.jsx
@@ -43,6 +43,8 @@
import EditIcon from '@mui/icons-material/Edit';
import AddIcon from '@mui/icons-material/Add';
import request from '@/utils/request';
+import PageEditDrawer from "../../components/PageEditDrawer";
+import CheckOrderPub from "./CheckOrderPub";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -162,13 +164,10 @@
<MyButton setCreateDialog={setManualDialog} setmodalType={setmodalType} />
<EditButton label="toolbar.detail" icon={(<DetailsIcon />)}></EditButton>
<CancelButton />
+ <PublicButton setDrawerVal={setDrawerVal} drawerVal={drawerVal} setSelect={setSelect} />
</WrapperField>
</StyledDatagrid>
</List>
- {/* <CheckOrderCreate
- open={manualDialog}
- setOpen={setManualDialog}
- /> */}
<SelectMatnrModal
asnId={modalType}
billReload={billReload}
@@ -176,14 +175,14 @@
setOpen={setManualDialog}
/>
{/* <OutStockWaveDialog open={waveRule} setOpen={setWaveRule} onClose={closeDialog} />
- <OutOrderPreview open={preview} setOpen={setPreview} />
+ <OutOrderPreview open={preview} setOpen={setPreview} />*/}
<PageEditDrawer
title={"toolbar.publicWorking"}
drawerVal={drawerVal}
setDrawerVal={setDrawerVal}
>
- <OutStockPublic record={select} open={drawerVal} setOpen={setDrawerVal} />
- </PageEditDrawer> */}
+ <CheckOrderPub record={select} open={drawerVal} setOpen={setDrawerVal} />
+ </PageEditDrawer>
</Box >
)
}
@@ -250,3 +249,19 @@
record?.exceStatus == 10 ? <ConfirmButton label={"toolbar.cancel"} startIcon={<CancelOutlinedIcon />} onConfirm={cancelOrder} size={"small"} /> : <></>
)
}
+
+
+//涓嬪彂鎵ц
+const PublicButton = ({ setDrawerVal, setSelect }) => {
+ const record = useRecordContext();
+ const refresh = useRefresh();
+ const taskEvent = () => {
+ setDrawerVal(true)
+ setSelect(record)
+ refresh();
+ }
+
+ return (
+ record.workQty < record.anfme ? <Button label={"toolbar.publicWorking"} startIcon={<AddTaskIcon />} onClick={taskEvent} size={"small"} /> : <></>
+ )
+}
diff --git a/rsf-admin/src/page/orders/check/OutStockPublic.jsx b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
similarity index 99%
rename from rsf-admin/src/page/orders/check/OutStockPublic.jsx
rename to rsf-admin/src/page/orders/check/CheckOrderPub.jsx
index 6bb6a6d..a1fa1e7 100644
--- a/rsf-admin/src/page/orders/check/OutStockPublic.jsx
+++ b/rsf-admin/src/page/orders/check/CheckOrderPub.jsx
@@ -66,7 +66,7 @@
}));
-const OutStockPublic = (props) => {
+const CheckOrderPub = (props) => {
const { record, open, setOpen, setManualDialog } = props;
const notify = useNotify();
const gridRef = useGridApiRef();
@@ -475,6 +475,6 @@
)
}
-export default OutStockPublic;
+export default CheckOrderPub;
diff --git a/rsf-admin/src/page/orders/check/CheckOrderSiteDialog.jsx b/rsf-admin/src/page/orders/check/CheckOrderSiteDialog.jsx
new file mode 100644
index 0000000..cc41804
--- /dev/null
+++ b/rsf-admin/src/page/orders/check/CheckOrderSiteDialog.jsx
@@ -0,0 +1,54 @@
+import { Box, Card, Grid, List, LinearProgress, Select, MenuItem, ListItemText, ListItemAvatar, Avatar, ListItemButton, Dialog, DialogTitle, ListItem } from "@mui/material";
+import React, { useState, useRef, useEffect, useMemo } from "react";
+import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
+import { Delete, Edit, Add } from '@mui/icons-material';
+import request from '@/utils/request';
+import { useTranslate } from "react-admin";
+
+const CheckOrderSiteDialog = (props) => {
+ const translate = useTranslate();
+ const { onClose, selectedValue, open } = props;
+ const [siteNos, setSiteNos] = useState([]);
+
+ const handleClose = () => {
+ onClose(selectedValue);
+ }
+
+ const handleListItemClick = (value) => {
+ onClose(value);
+ }
+
+ useEffect(() => {
+ getSiteNos()
+ }, [open])
+
+
+ const getSiteNos = async () => {
+ const { data: { code, data, msg } } = await request.get('/outStock/tasks/sites');
+ if (code === 200) {
+ setSiteNos(data);
+ } else {
+ notify(msg);
+ }
+ }
+
+ return (
+ <Dialog
+ onClose={handleClose}
+ open={open}
+ >
+ <DialogTitle>{translate("toolbar.modiftySite")}</DialogTitle>
+ <List sx={{ pt: 0 }}>
+ {siteNos.map((site) => (
+ <ListItem disableGutters key={site?.id}>
+ <ListItemButton onClick={() => handleListItemClick(site)}>
+ <ListItemText primary={site.site} />
+ </ListItemButton>
+ </ListItem>
+ ))}
+ </List>
+ </Dialog>
+ );
+}
+
+export default CheckOrderSiteDialog;
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java
index 7abfd51..ea6d559 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CheckExceStatus.java
@@ -3,10 +3,10 @@
public enum CheckExceStatus {
- CHECK_ORDER_STATUS_UN_EXCE("1", "鏈墽琛�"),
- CHECK_ORDER_STATUS_INIT("2", "鍒濆鍖�"),
- CHECK_ORDER_STATUS_EXCE_ING("3", "鎵ц涓�"),
- CHECK_ORDER_STATUS_EXCE_DONE("4", "鎵ц瀹屾垚"),
+ CHECK_ORDER_STATUS_UN_EXCE("0", "鏈墽琛�"),
+ CHECK_ORDER_STATUS_INIT("1", "鍒濆鍖�"),
+ CHECK_ORDER_STATUS_EXCE_ING("2", "鎵ц涓�"),
+ CHECK_ORDER_STATUS_EXCE_DONE("3", "鎵ц瀹屾垚"),
;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
index 188f14c..6ff61d6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -8,6 +8,7 @@
import com.vincent.rsf.server.common.utils.DateUtils;
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.enums.AsnExceStatus;
+import com.vincent.rsf.server.manager.enums.OrderType;
import com.vincent.rsf.server.manager.enums.POExceStatus;
import com.vincent.rsf.server.manager.enums.WarehouseAreasType;
import com.vincent.rsf.server.manager.service.*;
@@ -78,7 +79,10 @@
if (!Boolean.parseBoolean(config.getVal())) {
return;
}
- List<WkOrder> orders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val));
+ //鑷姩鏀惰揣鍗�
+ List<WkOrder> orders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()
+ .eq(WkOrder::getType, OrderType.ORDER_IN.type)
+ .eq(WkOrder::getExceStatus, AsnExceStatus.ASN_EXCE_STATUS_UN_EXCE.val));
if (!orders.isEmpty()) {
for (WkOrder order : orders) {
List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getAsnId, order.getId()));
@@ -163,7 +167,7 @@
.setWeight(matnr.getWeight())
.setFieldsIndex(orderItem.getFieldsIndex())
.setShipperId(matnr.getShipperId());
-
+
LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new LambdaQueryWrapper<WarehouseAreasItem>()
.eq(WarehouseAreasItem::getMatnrCode, orderItem.getMatnrCode())
.eq(!Cools.isEmpty(orderItem.getFieldsIndex()), WarehouseAreasItem::getFieldsIndex, orderItem.getFieldsIndex())
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
index 467b1eb..c8cd725 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/CheckOrderServiceImpl.java
@@ -80,8 +80,8 @@
.setMemo(template.getMemo())
.setUpdateBy(loginUserId)
.setCreateBy(loginUserId)
- .setType(CheckOrderType.getTypeVal(template.getType()))
- .setWkType(CheckOrderType.getValType(template.getWkType()));
+ .setType(OrderType.getTypeVal(template.getType()))
+ .setWkType(CheckOrderType.getTypeVal(template.getWkType()));
if (!this.save(order)) {
throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒");
}
--
Gitblit v1.9.1