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