diff --git a/src/main/java/com/gaotao/modules/dashboard/task/DashboardPushTask.java b/src/main/java/com/gaotao/modules/dashboard/task/DashboardPushTask.java
index 318e892..f105327 100644
--- a/src/main/java/com/gaotao/modules/dashboard/task/DashboardPushTask.java
+++ b/src/main/java/com/gaotao/modules/dashboard/task/DashboardPushTask.java
@@ -45,6 +45,10 @@ public class DashboardPushTask {
@Value("${custom.wcs-board-api}")
private String wcsBoardApi;
+
+ // 看板推送任务开关配置(所有看板共用一个开关)
+ @Value("${dashboard.push.enabled:true}")
+ private boolean dashboardPushEnabled;
/**
* 上次推送的数据哈希值(用于检测数据变更)
@@ -65,9 +69,20 @@ public class DashboardPushTask {
*
如果数据变化频繁,可以缩短间隔(如2-3秒)
* 如果数据变化不频繁,可以延长间隔(如10-15秒)
*
+ *
+ * 配置开关:
+ *
+ * - dashboard.push.enabled - 看板推送总开关
+ *
*/
@Scheduled(fixedRate = 5000)
public void pushRobotPickingData() {
+ // 检查总开关
+ if (!dashboardPushEnabled) {
+ log.trace("看板推送已禁用");
+ return;
+ }
+
try {
// 从WCS Board API获取机械臂拣选数据
Map data = getRobotPickingDataFromWcs();
@@ -239,6 +254,12 @@ public class DashboardPushTask {
*/
@Scheduled(fixedRate = 5000)
public void pushSlittingBoardData() {
+ // 检查总开关
+ if (!dashboardPushEnabled) {
+ log.trace("看板推送已禁用");
+ return;
+ }
+
try {
// 从数据库视图获取分切区数据
Map data = getSlittingBoardDataFromDb();
@@ -339,6 +360,12 @@ public class DashboardPushTask {
*/
@Scheduled(fixedRate = 5000)
public void pushWarehouse3dBoardData() {
+ // 检查总开关
+ if (!dashboardPushEnabled) {
+ log.trace("看板推送已禁用");
+ return;
+ }
+
try {
// 从数据库获取立体仓库看板数据
Map data = getWarehouse3dBoardDataFromDb();
@@ -722,6 +749,12 @@ public class DashboardPushTask {
*/
@Scheduled(fixedRate = 5000)
public void pushFinishedProductBoardData() {
+ // 检查总开关
+ if (!dashboardPushEnabled) {
+ log.trace("看板推送已禁用");
+ return;
+ }
+
try {
// 从数据库视图获取成品区数据
Map data = getFinishedProductBoardDataFromDb();
@@ -818,6 +851,12 @@ public class DashboardPushTask {
*/
@Scheduled(fixedRate = 5000)
public void pushMaterialReceivingBoardData() {
+ // 检查总开关
+ if (!dashboardPushEnabled) {
+ log.trace("看板推送已禁用");
+ return;
+ }
+
try {
// 从数据库视图获取原材收货区数据
Map data = getMaterialReceivingBoardDataFromDb();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index deb510a..f4dcbfb 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -145,3 +145,8 @@ scheduler:
agv:
max-task-num: 10
+
+# 看板推送任务配置
+dashboard:
+ push:
+ enabled: false # 看板推送任务总开关(控制所有看板,默认关闭)