update Di 28. Apr 13:31:01 CEST 2020
This commit is contained in:
parent
059c04a7c9
commit
404261ca71
@ -32,8 +32,7 @@ module.exports = function (io, sql, app_cfg, waip) {
|
||||
// Socket-Room beitreiten
|
||||
socket.join(wachen_id, function () {
|
||||
// prüfen ob für diese Wache Einsätze vorhanden sind
|
||||
var user_id = socket.request.user.id;
|
||||
sql.db_einsatz_ermitteln(wachen_id, user_id, function (result_einsatz) {
|
||||
sql.db_einsatz_ermitteln(wachen_id, socket, function (result_einsatz) {
|
||||
if (result_einsatz) {
|
||||
// nur den ersten Einsatz senden, falls mehrere vorhanden sind
|
||||
var waip_id = result_einsatz[0].waip_einsaetze_ID;
|
||||
@ -59,7 +58,7 @@ module.exports = function (io, sql, app_cfg, waip) {
|
||||
});
|
||||
// Disconnect
|
||||
socket.on('disconnect', function () {
|
||||
sql.db_log('DEBUG', 'Alarmmonitor Nr. ' + wachen_id + ' von ' + client_ip + ' (' + socket.id + ') geschlossen.');
|
||||
sql.db_log('DEBUG', 'Alarmmonitor von ' + client_ip + ' (' + socket.id + ') geschlossen.');
|
||||
sql.db_client_delete(socket);
|
||||
});
|
||||
});
|
||||
@ -78,29 +77,15 @@ nsp_dbrd.on('connection', function (socket) {
|
||||
sql.db_log('DEBUG', 'Dashboard ' + uuid + ' von ' + client_ip + ' (' + socket.id + ') aufgerufen.');
|
||||
// prüfen ob Dashboard/Einsatz vorhanden
|
||||
sql.db_einsatz_uuid_vorhanden(uuid, function(dbrd_uuid) {
|
||||
// wenn die Wachennummer vorhanden/plausibel dann weiter
|
||||
if (result) {
|
||||
// wenn die Wachennummer vorhanden dann weiter
|
||||
if (dbrd_uuid) {
|
||||
// Socket-Room beitreiten
|
||||
socket.join(wachen_id, function () {
|
||||
// prüfen ob für diese Wache Einsätze vorhanden sind
|
||||
var user_id = socket.request.user.id;
|
||||
sql.db_einsatz_ermitteln(wachen_id, user_id, function (result_einsatz) {
|
||||
if (result_einsatz) {
|
||||
// nur den ersten Einsatz senden, falls mehrere vorhanden sind
|
||||
var waip_id = result_einsatz[0].waip_einsaetze_ID;
|
||||
sql.db_log('WAIP', 'Einsatz ' + waip_id + ' für Wache ' + wachen_id + ' vorhanden, wird jetzt an Client ' + socket.id + ' gesendet.');
|
||||
socket.join(dbrd_uuid, function () {
|
||||
sql.db_log('DBRD', 'Einsatz ' + dbrd_uuid + ' für Dashboard ' + dbrd_uuid + ' vorhanden, wird jetzt an Client ' + socket.id + ' gesendet.');
|
||||
//letzten Einsatz verteilen
|
||||
waip.einsatz_verteilen(waip_id, socket, wachen_id);
|
||||
//vorhandene Rückmeldungen verteilen
|
||||
waip.rueckmeldung_verteilen_for_client(waip_id, socket, wachen_id);
|
||||
} else {
|
||||
sql.db_log('WAIP', 'Kein Einsatz für Wache ' + wachen_id + ' vorhanden, gehe in Standby');
|
||||
// falls kein Einsatz vorhanden ist, dann Standby senden
|
||||
socket.emit('io.standby', null);
|
||||
};
|
||||
});
|
||||
waip.dbrd_verteilen(dbrd_uuid, socket);
|
||||
// in Statusüberischt speichern
|
||||
sql.db_update_client_status(socket, null);
|
||||
sql.db_update_client_status(socket, dbrd_uuid);
|
||||
});
|
||||
} else {
|
||||
sql.db_log('ERROR', 'Fehler: Dashboard ' + dbrd_uuid + 'nicht (mehr) vorhanden!');
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
module.exports = function (db, uuidv4, turf, app_cfg) {
|
||||
|
||||
// ermittelt den letzten vorhanden Einsatz zu einer Wache
|
||||
function db_einsatz_ermitteln(wachen_id, user_id, callback) {
|
||||
function db_einsatz_ermitteln(wachen_id, socket, callback) {
|
||||
var select_reset_counter;
|
||||
var user_id = socket.request.user.id;
|
||||
var dts = app_cfg.global.default_time_for_standby;
|
||||
// wenn Wachen-ID 0 ist, dann % setzen
|
||||
if (parseInt(wachen_id) == 0) {
|
||||
|
||||
@ -239,8 +239,9 @@ module.exports = function (io, sql, tw, async, app_cfg) {
|
||||
// alle User-Einstellungen prüfen und ggf. Standby senden
|
||||
sql.db_get_sockets_to_standby(function (socket_ids) {
|
||||
if (socket_ids) {
|
||||
console.log()
|
||||
socket_ids.forEach(function (row) {
|
||||
var socket = io.sockets.sockets[row.socket_id];
|
||||
var socket = io.sockets.connected[row.socket_id];
|
||||
socket.emit('io.standby', null);
|
||||
socket.emit('io.stopaudio', null);
|
||||
sql.db_log('WAIP', 'Standby an Socket ' + socket.id + ' gesendet');
|
||||
@ -297,11 +298,38 @@ module.exports = function (io, sql, tw, async, app_cfg) {
|
||||
})
|
||||
}, 10000);
|
||||
|
||||
function dbrd_verteilen(dbrd_uuid, socket) {
|
||||
sql.db_get_einsatzdaten_by_uuid(dbrd_uuid, function(einsatzdaten) {
|
||||
if (einsatzdaten) {
|
||||
sql.db_check_permission(socket.request.user, einsatzdaten.id, function(valid) {
|
||||
if (!valid) {
|
||||
delete einsatzdaten.objekt;
|
||||
delete einsatzdaten.besonderheiten;
|
||||
delete einsatzdaten.strasse;
|
||||
delete einsatzdaten.wgs84_x;
|
||||
delete einsatzdaten.wgs84_y;
|
||||
};
|
||||
socket.emit('io.Einsatz', einsatzdaten);
|
||||
sql.db_log('DBRD', 'Einsatzdaten für Dashboard' + dbrd_uuid + ' an Socket ' + socket.id + ' gesendet');
|
||||
sql.db_update_client_status(socket, waip_id);
|
||||
});
|
||||
} else {
|
||||
var err = new Error('Der angefragte Einsatz ist nicht - oder nicht mehr - vorhanden!');
|
||||
err.status = 404;
|
||||
next(err);
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
// TODO: Funktion um Clients "neuzustarten" (Seite remote neu laden)
|
||||
|
||||
return {
|
||||
einsatz_speichern: einsatz_speichern,
|
||||
einsatz_verteilen: einsatz_verteilen,
|
||||
dbrd_verteilen: dbrd_verteilen,
|
||||
rueckmeldung_verteilen_for_client: rueckmeldung_verteilen_for_client,
|
||||
reuckmeldung_verteilen_by_uuid: reuckmeldung_verteilen_by_uuid
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user