|
|
|
@ -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 { |
|
|
|
* <li>如果数据变化频繁,可以缩短间隔(如2-3秒)</li> |
|
|
|
* <li>如果数据变化不频繁,可以延长间隔(如10-15秒)</li> |
|
|
|
* </ul> |
|
|
|
* |
|
|
|
* <p><b>配置开关:</b></p> |
|
|
|
* <ul> |
|
|
|
* <li>dashboard.push.enabled - 看板推送总开关</li> |
|
|
|
* </ul> |
|
|
|
*/ |
|
|
|
@Scheduled(fixedRate = 5000) |
|
|
|
public void pushRobotPickingData() { |
|
|
|
// 检查总开关 |
|
|
|
if (!dashboardPushEnabled) { |
|
|
|
log.trace("看板推送已禁用"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
// 从WCS Board API获取机械臂拣选数据 |
|
|
|
Map<String, Object> data = getRobotPickingDataFromWcs(); |
|
|
|
@ -239,6 +254,12 @@ public class DashboardPushTask { |
|
|
|
*/ |
|
|
|
@Scheduled(fixedRate = 5000) |
|
|
|
public void pushSlittingBoardData() { |
|
|
|
// 检查总开关 |
|
|
|
if (!dashboardPushEnabled) { |
|
|
|
log.trace("看板推送已禁用"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
// 从数据库视图获取分切区数据 |
|
|
|
Map<String, Object> data = getSlittingBoardDataFromDb(); |
|
|
|
@ -339,6 +360,12 @@ public class DashboardPushTask { |
|
|
|
*/ |
|
|
|
@Scheduled(fixedRate = 5000) |
|
|
|
public void pushWarehouse3dBoardData() { |
|
|
|
// 检查总开关 |
|
|
|
if (!dashboardPushEnabled) { |
|
|
|
log.trace("看板推送已禁用"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
// 从数据库获取立体仓库看板数据 |
|
|
|
Map<String, Object> data = getWarehouse3dBoardDataFromDb(); |
|
|
|
@ -722,6 +749,12 @@ public class DashboardPushTask { |
|
|
|
*/ |
|
|
|
@Scheduled(fixedRate = 5000) |
|
|
|
public void pushFinishedProductBoardData() { |
|
|
|
// 检查总开关 |
|
|
|
if (!dashboardPushEnabled) { |
|
|
|
log.trace("看板推送已禁用"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
// 从数据库视图获取成品区数据 |
|
|
|
Map<String, Object> data = getFinishedProductBoardDataFromDb(); |
|
|
|
@ -818,6 +851,12 @@ public class DashboardPushTask { |
|
|
|
*/ |
|
|
|
@Scheduled(fixedRate = 5000) |
|
|
|
public void pushMaterialReceivingBoardData() { |
|
|
|
// 检查总开关 |
|
|
|
if (!dashboardPushEnabled) { |
|
|
|
log.trace("看板推送已禁用"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
// 从数据库视图获取原材收货区数据 |
|
|
|
Map<String, Object> data = getMaterialReceivingBoardDataFromDb(); |
|
|
|
|