为了监控页面后端还是加了一次性返回全部服务和设备的接口

This commit is contained in:
Yu Sun
2022-08-17 17:12:24 +08:00
parent ce6e09b03b
commit aca5946dc2
2 changed files with 30 additions and 0 deletions

View File

@@ -323,6 +323,12 @@ $worker -> onMessage = function(TcpConnection $connection, Request $request) {
'code' => 0,
'data' => $devices
)));
} else if ($get['query'] === 'all_devices') {
$all_devices = EConfigure::get_all_devices($dbconn);
$connection -> send(json_encode(array(
'code' => 0,
'data' => $all_devices
)));
} else {
$connection -> send(json_encode(array(
'code' => 1,

View File

@@ -134,4 +134,28 @@ class EConfigure {
));
return pg_fetch_all($res);
}
static function get_all_devices() {
$res = pg_query(
"SELECT server_id,
server.name AS server_name,
url, port,
device.name AS device_name,
conf -> '@DeviceType' AS device_type
FROM hf_mes_scada_edgeserver_controller_server server,
hf_mes_scada_edgeserver_controller_device device
WHERE (conf -> '@DeviceType') IS NOT NULL
AND server.id = server_id;"
);
$server_devices = pg_fetch_all($res);
$all_devices = [];
foreach ($server_devices as $device) {
if (!isset($all_devices[$device['server_id']]))
$all_devices[$device['server_id']] = array_slice($device, 0, 4);
$all_devices[$device['server_id']]['devices'][] = array_slice($device, -2);
}
return $all_devices;
}
}