rsf-admin/src/config/setting.js
@@ -42,3 +42,5 @@ export const CUSTOM_PAGES_DATA_INTERVAL = 1000; export const DEFAULT_TYPE = 15; //默认效率优化 15:效率优化 16:先进先出 export const DEFAULT_WAVE_AUTO_EXCE = 'WaveAutoExce'; // 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} 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() 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 />} /> : <></> 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>() 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}") 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); } 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(); } }