From 16bb7baba5a6c3a777d21938a43e98b9108244b8 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 19 六月 2025 09:38:42 +0800 Subject: [PATCH] 自动下发功能优化 --- rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java | 2 - rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java | 16 ++++++++ rsf-admin/src/page/orders/wave/WaveList.jsx | 38 ++++++++++++++++-- rsf-server/src/main/java/com/vincent/rsf/server/system/service/ConfigService.java | 2 + rsf-server/src/main/java/com/vincent/rsf/server/system/controller/ConfigController.java | 20 ++++++++++ rsf-admin/src/config/setting.js | 4 + 7 files changed, 75 insertions(+), 9 deletions(-) diff --git a/rsf-admin/src/config/setting.js b/rsf-admin/src/config/setting.js index 522d719..5c0a609 100644 --- a/rsf-admin/src/config/setting.js +++ b/rsf-admin/src/config/setting.js @@ -41,4 +41,6 @@ export const CUSTOM_PAGES_DATA_INTERVAL = 1000; -export const DEFAULT_TYPE = 15; //榛樿鏁堢巼浼樺寲 15锛氭晥鐜囦紭鍖� 16锛氬厛杩涘厛鍑� \ No newline at end of file +export const DEFAULT_TYPE = 15; //榛樿鏁堢巼浼樺寲 15锛氭晥鐜囦紭鍖� 16锛氬厛杩涘厛鍑� + +export const DEFAULT_WAVE_AUTO_EXCE = 'WaveAutoExce'; // \ No newline at end of file diff --git a/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx index 8095542..1f3564a 100644 --- a/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx +++ b/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx @@ -158,7 +158,7 @@ </ReferenceField>, <DateField source="createTime" label="common.field.createTime" showTime /> <TextField source="memo" label="common.field.memo" sortable={false} /> - </StyledDatagrid> + </StyledDatagrid>脧 </List> <OutOrderItemCreate open={createDialog} diff --git a/rsf-admin/src/page/orders/wave/WaveList.jsx b/rsf-admin/src/page/orders/wave/WaveList.jsx index 2bee24e..7630ae4 100644 --- a/rsf-admin/src/page/orders/wave/WaveList.jsx +++ b/rsf-admin/src/page/orders/wave/WaveList.jsx @@ -25,7 +25,7 @@ useRedirect, Button, } from 'react-admin'; -import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; +import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_WAVE_AUTO_EXCE } from '@/config/setting'; import PlayArrowOutlinedIcon from '@mui/icons-material/PlayArrowOutlined'; import PauseCircleOutlineIcon from '@mui/icons-material/PauseCircleOutline'; import { Box, Typography, Card, Stack } from '@mui/material'; @@ -93,6 +93,21 @@ const [detailDialog, setDetailDialog] = useState(false); const [select, setSelectIds] = useState({}); const [drawerVal, setDrawerVal] = useState(false); + + useEffect(() => { + console.log('-------->'); + getConfig() + }, []) + + const getConfig = async () => { + const { data: { code, data, msg } } = await request.get('/config/flag/' + DEFAULT_WAVE_AUTO_EXCE); + if (code === 200) { + setAutoExce(data?.flag) + notify(msg); + } else { + notify(msg); + } + } return ( <Box display="flex"> @@ -185,10 +200,16 @@ const BulkStartButton = ({ autoExce, setAutoExce }) => { const { data, selectedIds, onUnselectItems } = useListContext(); - - const startClick = () => { + const notify = useNotify(); + const startClick = async () => { onUnselectItems() setAutoExce(true) + const { data: { code, data, msg } } = await request.post('/config/byFlag', { val: true, flag: 'WaveAutoExce' }); + if (code === 200) { + notify(msg); + } else { + notify(msg); + } } return ( !autoExce ? <Button label="toolbar.start" onClick={startClick} startIcon={<PlayArrowOutlinedIcon />} /> : <></> @@ -196,11 +217,18 @@ } const BulkPauseButton = ({ autoExce, setAutoExce }) => { + const notify = useNotify(); const { data, selectedIds, onUnselectItems } = useListContext(); - const pauseClick = () => { + const pauseClick = async () => { onUnselectItems() - setAutoExce(false) + const { data: { code, data, msg } } = await request.post('/config/byFlag', { val: false, flag: 'WaveAutoExce' }); + if (code === 200) { + notify(msg); + setAutoExce(false) + } else { + notify(msg); + } } return ( autoExce ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />} /> : <></> diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java index 2ee4ce6..7068b65 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java @@ -296,8 +296,6 @@ throw new CoolException("娉㈡淇濆瓨澶辫触锛侊紒"); } - - List<Long> list = orders.stream().map(AsnOrder::getId).collect(Collectors.toList()); List<AsnOrderItem> orderItems = asnOrderItemService .list(new LambdaQueryWrapper<AsnOrderItem>() diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/ConfigController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/ConfigController.java index a332270..cdeacb5 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/ConfigController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/ConfigController.java @@ -1,10 +1,12 @@ package com.vincent.rsf.server.system.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.common.SnowflakeIdWorker; +import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.common.annotation.OperationLog; import com.vincent.rsf.server.common.domain.BaseParam; import com.vincent.rsf.server.common.domain.KeyValVo; @@ -54,6 +56,14 @@ return R.ok().add(configService.getById(id)); } + + @PreAuthorize("hasAuthority('system:config:list')") + @GetMapping("/config/flag/{flag}") + public R getByFlag(@PathVariable("flag") String flag) { + return R.ok().add(configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, flag))); + } + + @PreAuthorize("hasAuthority('system:config:save')") @OperationLog("Create Config") @PostMapping("/config/save") @@ -94,6 +104,16 @@ return R.ok("Update Success").add(config); } + @PreAuthorize("hasAuthority('system:config:update')") + @OperationLog("Update Config") + @PostMapping("/config/byFlag") + public R updateByFlag(@RequestBody Config config) { + if (Objects.isNull(config)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return configService.modiftyStatus(config); + } + @PreAuthorize("hasAuthority('system:config:remove')") @OperationLog("Delete Config") @PostMapping("/config/remove/{ids}") diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/ConfigService.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/ConfigService.java index 97137c6..eec98e8 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/ConfigService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/ConfigService.java @@ -1,6 +1,7 @@ package com.vincent.rsf.server.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.system.entity.Config; public interface ConfigService extends IService<Config> { @@ -9,4 +10,5 @@ <T> boolean setVal(String key, T val); + R modiftyStatus(Config config); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java index a72dd94..5f78705 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java @@ -1,9 +1,12 @@ package com.vincent.rsf.server.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.common.utils.GsonUtils; import com.vincent.rsf.framework.common.DateUtils; +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.system.entity.Config; import com.vincent.rsf.server.system.enums.ConfigType; import com.vincent.rsf.server.system.enums.StatusType; @@ -121,4 +124,17 @@ return this.updateById(config); } + /** + * 淇敼閰嶇疆 + * @param config + * @return + */ + @Override + public R modiftyStatus(Config config) { + if (!this.update(new LambdaUpdateWrapper<Config>().set(Config::getVal, config.getVal()).eq(Config::getFlag, config.getFlag()))) { + throw new CoolException("淇敼澶辫触锛侊紒"); + } + return R.ok(); + } + } -- Gitblit v1.9.1