From f3817e21c31c945c62f327cc0a54f1f8a654cded Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Tue, 30 Jun 2020 21:01:02 +0200 Subject: [PATCH] update Di 30. Jun 21:01:01 CEST 2020 --- server/routing.js | 11 +++++++---- server/sql_qry.js | 24 ++++++++++++++++++++++++ server/waip.js | 17 +++++++++++++++++ 3 files changed, 48 insertions(+), 4 deletions(-) diff --git a/server/routing.js b/server/routing.js index 47e993d..9e9309f 100755 --- a/server/routing.js +++ b/server/routing.js @@ -6,10 +6,13 @@ module.exports = function (app, sql, uuidv4, app_cfg, passport, auth, udp, saver // Startseite app.get('/', function (req, res) { - res.render('home', { - public: app_cfg.public, - title: 'Startseite', - user: req.user + sql.db_einsatz_count_all(function (data) { + res.render('home', { + public: app_cfg.public, + title: 'Startseite', + anzahl_einsaetze: data, + user: req.user + }); }); }); diff --git a/server/sql_qry.js b/server/sql_qry.js index 1952258..fc7fef4 100755 --- a/server/sql_qry.js +++ b/server/sql_qry.js @@ -332,6 +332,17 @@ module.exports = function (db, app_cfg) { }); }; + function db_einsatz_count_all(callback) { + // alle aktivieren Einsaetze finden + db.get(`select count(*) from waip_einsaetze`, function (err, row) { + if (err == null && row) { + callback && callback(row); + } else { + callback && callback(null); + }; + }); + }; + function db_einsatz_loeschen(id) { // Einsatzdaten loeschen db.serialize(function() { @@ -557,6 +568,17 @@ module.exports = function (db, app_cfg) { }); }; + function db_socket_get_dbrd(waip_id, callback) { + // Client-Eintrag per Socket-ID finden + db.all('select socket_id from waip_clients where client_status = ? and socket_id like \'/dbrd#%\'', [waip_id], function (err, rows) { + if (err == null && rows) { + callback && callback(rows); + } else { + callback && callback(null); + }; + }); + }; + function db_socket_get_all_to_standby(callback) { // alle Sockets/Clients finden, die auf Standby gesetzt werden koennen db.all(`select socket_id from waip_clients @@ -913,6 +935,7 @@ module.exports = function (db, app_cfg) { db_einsatz_get_active: db_einsatz_get_active, db_einsatz_get_rooms: db_einsatz_get_rooms, db_einsatz_get_old: db_einsatz_get_old, + db_einsatz_count_all: db_einsatz_count_all, db_einsatz_loeschen: db_einsatz_loeschen, db_wache_get_all: db_wache_get_all, db_wache_vorhanden: db_wache_vorhanden, @@ -925,6 +948,7 @@ module.exports = function (db, app_cfg) { db_log_get_5000: db_log_get_5000, db_socket_get_by_id: db_socket_get_by_id, db_socket_get_by_room: db_socket_get_by_room, + db_socket_get_dbrd: db_socket_get_dbrd, db_socket_get_all_to_standby: db_socket_get_all_to_standby, db_user_set_config: db_user_set_config, db_user_get_config: db_user_get_config, diff --git a/server/waip.js b/server/waip.js index b5a2df2..b44e025 100755 --- a/server/waip.js +++ b/server/waip.js @@ -123,6 +123,23 @@ module.exports = function (io, sql, fs, brk, async, app_cfg) { }); }; }); + // Dashboards ermitteln, welche den Einsatz geladen haben + sql.db_socket_get_dbrd(waip_id, function (dbrd_sockets) { + if (dbrd_sockets) { + // Rueckmeldung auslesen + sql.db_rmld_get_by_rmlduuid(rmld_uuid, function (rmld_obj) { + if (rmld_obj) { + // Rückmeldung an Dashboards senden + dbrd_sockets.forEach(function (row) { + var socket = io.of('/dbrd').connected[row.socket_id]; + socket.emit('io.new_rmld', rmld_obj); + sql.db_log('RMLD', 'Rückmeldung ' + rmld_uuid + ' für den Einsatz mit der ID ' + waip_id + ' an Dashboard ' + waip_uuid + ' gesendet.'); + sql.db_log('DEBUG', 'Rückmeldung JSON: ' + JSON.stringify(rmld_obj)); + }); + }; + }); + }; + }); }); };