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