From 42798065ded32a80c80987e094e8f2df78012e84 Mon Sep 17 00:00:00 2001 From: Richter Date: Wed, 8 May 2019 20:55:46 +0200 Subject: [PATCH] =?UTF-8?q?Funktionen=20f=C3=BCr=20R=C3=BCckmeldefunktion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/waip_io.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/server/waip_io.js b/server/waip_io.js index b278145..85059ad 100644 --- a/server/waip_io.js +++ b/server/waip_io.js @@ -28,6 +28,12 @@ module.exports = function(io, sql, async, app_cfg) { //letzten Einsatz verteilen einsatz_verteilen(result_einsatz[0].waip_einsaetze_ID, socket.id, wachen_id); sql.db_update_client_status(socket, result_einsatz[0].waip_einsaetze_ID); + //vorhanden Rückmeldungen verteilen + sql.db_get_response(result_einsatz[0].waip_einsaetze_ID, function(result){ + if (result) { + reuckmeldung_verteilen(result_einsatz[0].waip_einsaetze_ID, result); + }; + }); } else { sql.db_log('WAIP', 'Kein Einsatz fuer Wache ' + wachen_id + ' vorhanden, Standby'); //oder falls kein Einsatz vorhanden ist, dann @@ -42,6 +48,15 @@ module.exports = function(io, sql, async, app_cfg) { }; }); }); + socket.on('response', function(waip_id, ek, ma, fk, agt) { + var i_ek = ek ? 1 : 0; + var i_ma = ma ? 1 : 0; + var i_fk = fk ? 1 : 0; + var i_agt = agt ? 1 : 0; + sql.db_update_response(waip_id, i_ek, i_ma, i_fk, i_agt, function(result){ + reuckmeldung_verteilen(waip_id, result); + }); + }); // TODO: socket.on(Version) um Server-Version abzugleichen }); @@ -106,6 +121,25 @@ module.exports = function(io, sql, async, app_cfg) { }); }; + function reuckmeldung_verteilen(waip_id, result) { + sql.db_get_einsatzwachen(waip_id, function(data) { + if (data) { + data.forEach(function(row) { + // fuer jede Wache(row.room) die verbundenen Sockets(Clients) ermitteln und Einsatz verteilen + var room_stockets = io.sockets.adapter.rooms[row.room]; + if (typeof room_stockets !== 'undefined') { + Object.keys(room_stockets.sockets).forEach(function(socket_id) { + io.sockets.to(socket_id).emit('io.response', result) + sql.db_log('WAIP', 'Rückmeldung ' + result + ' an Socket ' + socket_id + ' gesendet'); + }); + }; + }); + } else { + sql.db_log('Fehler-WAIP', 'Fehler: Wache für waip_id ' + waip_id + ' nicht vorhanden, Rückmeldung konnte nicht verteilt werden!'); + }; + }); + }; + function tts_erstellen(app_cfg, socket_id, einsatzdaten, callback) { // unnoetige Zeichen aus socket_id entfernen var id = socket_id.replace(/\W/g, '');