From 7172f29c54a04164674212f4ead303603dff0548 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 01 七月 2025 16:16:34 +0800
Subject: [PATCH] 波次终止前端修改

---
 rsf-admin/src/page/orders/wave/WaveEdit.jsx                                               |    8 ----
 rsf-admin/src/page/orders/wave/WaveList.jsx                                               |   33 ++++++++++++++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java |    1 
 rsf-admin/src/i18n/zh.js                                                                  |    1 
 rsf-admin/src/i18n/en.js                                                                  |    1 
 rsf-admin/src/page/orders/wave/WavePanel.jsx                                              |   20 ++++++++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java    |   17 ++++++++
 7 files changed, 66 insertions(+), 15 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 17125dc..8dcd005 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -1150,6 +1150,7 @@
         top: "top",
         resort: "sort",
         start: 'Start',
+        stopPub: 'Stop Pub',
         pause: 'Pause',
         subzone: 'subzone',
         bindmatnr: 'bind matnr',
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 6b14606..44b9d02 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -1144,6 +1144,7 @@
         batch: '鎵归噺鎿嶄綔',
         confirm: '纭',
         start: '鑷姩涓嬪彂',
+        stopPub: '缁堟涓嬪彂',
         pause: '鏆傚仠',
         pick: '鎷f枡',
         check: '鐩樼偣',
diff --git a/rsf-admin/src/page/orders/wave/WaveEdit.jsx b/rsf-admin/src/page/orders/wave/WaveEdit.jsx
index 689027f..480767a 100644
--- a/rsf-admin/src/page/orders/wave/WaveEdit.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveEdit.jsx
@@ -126,14 +126,6 @@
                             </Stack>
 
                         </Grid>
-                        <Grid item xs={8} md={2}>
-                            <Typography variant="h6" gutterBottom>
-                                {translate('common.edit.title.common')}
-                            </Typography>
-                            <StatusSelectInput />
-                            <Box mt="2em" />
-                            <MemoInput />
-                        </Grid>
                     </Grid>
                 </SimpleForm>
             </Edit >
diff --git a/rsf-admin/src/page/orders/wave/WaveList.jsx b/rsf-admin/src/page/orders/wave/WaveList.jsx
index c0d43c4..3b9de8c 100644
--- a/rsf-admin/src/page/orders/wave/WaveList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveList.jsx
@@ -29,6 +29,7 @@
 import PlayArrowOutlinedIcon from '@mui/icons-material/PlayArrowOutlined';
 import PauseCircleOutlineIcon from '@mui/icons-material/PauseCircleOutline';
 import StopCircleOutlinedIcon from '@mui/icons-material/StopCircleOutlined';
+import StopOutlinedIcon from '@mui/icons-material/StopOutlined';
 import { Box, Typography, Card, Stack, LinearProgress } from '@mui/material';
 import ConfirmButton from "../../components/ConfirmButton";
 import PageDrawer from "../../components/PageDrawer";
@@ -109,9 +110,11 @@
     return (
         <Box display="flex">
             <List
-                queryOptions={{ refetchInterval: 5000 }}
                 sx={{
                     flexGrow: 1,
+                    "& .css-k008qs": {
+                        display: 'block'
+                    },
                     transition: (theme) =>
                         theme.transitions.create(['all'], {
                             duration: theme.transitions.duration.enteringScreen,
@@ -142,7 +145,7 @@
                     rowClick={(id, resource, record) => false}
                     expand={<WavePannel />}
                     expandSingle={true}
-                    omit={['id', 'createTime', 'createBy', 'memo', 'createBy$']}
+                    omit={['id', 'createTime', 'createBy', 'createBy$']}
                 >
                     <NumberField source="id" />
                     <TextField source="code" label="table.field.wave.code" />
@@ -159,9 +162,9 @@
                     <CustomProcess source="progress" />
                     <TextField source="exceStatus$" label="table.field.wave.exceStatus" sortable={false} />
                     <WrapperField cellClassName="opt" label="common.field.opt">
-                        <PublicTaskButton setSelectIds={setSelectIds} setDetailDialog={setDetailDialog} />
                         <PauseButton />
                         <ContinueButton />
+                        <StopWaveButton />
                         <EditButton label="toolbar.detail" sx={{ padding: '1px', fontSize: '.75rem' }} />
                     </WrapperField>
                 </StyledDatagrid>
@@ -214,6 +217,28 @@
         <>
             <LinearProgress variant="determinate" value={progress} />
         </>
+    )
+}
+
+
+const StopWaveButton = () => {
+    const record = useRecordContext()
+    const translate = useTranslate()
+    const refresh = useRefresh()
+    const notify = useNotify()
+
+    const stopClick = async (event) => {
+        event.stopPropagation()
+        const { data: { code, data, msg } } = await request.post('', { val: true, flag: 'WaveAutoExce' });
+        if (code === 200) {
+            notify(msg);
+        } else {
+            notify(msg);
+        }
+    }
+
+    return (
+        <ConfirmButton label={"toolbar.stopPub"} startIcon={<StopOutlinedIcon />} onConfirm={stopClick} size='small' />
     )
 }
 
@@ -297,7 +322,7 @@
             notify(msg);
         } else {
             notify(msg);
-        }   
+        }
         refresh()
     }
     return (
diff --git a/rsf-admin/src/page/orders/wave/WavePanel.jsx b/rsf-admin/src/page/orders/wave/WavePanel.jsx
index 2c9d80c..95b3132 100644
--- a/rsf-admin/src/page/orders/wave/WavePanel.jsx
+++ b/rsf-admin/src/page/orders/wave/WavePanel.jsx
@@ -10,10 +10,16 @@
     DateField,
     BooleanField,
     ReferenceField,
+    useListContext,
+    ListContextProvider,
+    useList,
+    useGetList,
 } from 'react-admin';
 import PanelTypography from "../../components/PanelTypography";
+import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
 import * as Common from '@/utils/common'
 import { styled } from '@mui/material/styles';
+import { width } from "@mui/system";
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -35,10 +41,19 @@
     const translate = useTranslate();
     const [createDialog, setCreateDialog] = useState(false);
     const [drawerVal, setDrawerVal] = useState(false);
+
+    const { data, total, isPending, error, refetch, meta } = useGetList('/waveOrderRela', { filter: { waveId: record?.id } });
+    const listContext = useList({ data, isPending });
+
+    if (data == null || data == undefined) {
+        return
+    }
+
     return (
         <>
             <Box display="flex">
-                <List resource="waveOrderRela"
+                <ListContextProvider
+                    value={listContext}
                     sx={{
                         flexGrow: 1,
                         transition: (theme) =>
@@ -47,7 +62,6 @@
                             }),
                         marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                     }}
-                    filter={{ waveId: record.id }}
                     pagination={false}
                     empty={false}
                     actions={false}
@@ -71,7 +85,7 @@
                         <TextField source="stockUnit" label="table.field.asnOrderItem.stockUnit" />
                         <TextField source="splrName" label="table.field.asnOrderItem.splrName" />
                     </StyledDatagrid>
-                </List>
+                </ListContextProvider>
             </Box>
         </>
     );
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
index 88ebbe5..b3cb92a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
@@ -178,4 +178,21 @@
     }
 
 
+    @PreAuthorize("hasAuthority('manager:waveItem:update')")
+    @ApiOperation("缁堟涓嬪彂浠诲姟")
+    @PostMapping("/wave/stop/pub/{id}")
+    public R stopPublicTask(@PathVariable Long id) {
+        if (Objects.isNull(id)) {
+            return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+        }
+        Wave wave = waveService.getById(id);
+        if (Objects.isNull(wave)) {
+            throw new CoolException("娉㈡鍗曚笉瀛樺湪锛侊紒");
+        }
+        waveService.update(new LambdaUpdateWrapper<Wave>()
+                .eq(Wave::getId, id)
+                .set(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_TASK.val));
+        return R.ok();
+    }
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
index 50e433d..86e2788 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -163,6 +163,7 @@
                 } else {
                     wave.setExceStatus(WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val);
                 }
+                wave.setMemo("-->搴撳瓨涓嶈冻");
                 waveService.updateById(wave);
                 return R.ok();
             }

--
Gitblit v1.9.1