From aca5946dc29f7755827c137c39f637cb4826e0a9 Mon Sep 17 00:00:00 2001 From: Yu Sun Date: Wed, 17 Aug 2022 17:12:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E4=BA=86=E7=9B=91=E6=8E=A7=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=90=8E=E7=AB=AF=E8=BF=98=E6=98=AF=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E6=80=A7=E8=BF=94=E5=9B=9E=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=92=8C=E8=AE=BE=E5=A4=87=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EdgeManager.php | 6 ++++++ EdgeManager/EController/EConfigure.php | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/EdgeManager.php b/EdgeManager.php index 465a932..f71f385 100644 --- a/EdgeManager.php +++ b/EdgeManager.php @@ -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, diff --git a/EdgeManager/EController/EConfigure.php b/EdgeManager/EController/EConfigure.php index cb90dc4..2f23434 100644 --- a/EdgeManager/EController/EConfigure.php +++ b/EdgeManager/EController/EConfigure.php @@ -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; + } }