update Mi 25. Mär 11:31:01 CET 2020

This commit is contained in:
Robert Richter 2020-03-25 11:31:01 +01:00
parent 272bddb3cc
commit 146aea4d21
4 changed files with 38 additions and 51 deletions

View File

@ -226,7 +226,7 @@ var socket = io.connect();
// Wachen-ID bei Connect an Server senden
socket.on('connect', function() {
socket.emit('wachen_id', wachen_id);
socket.emit('WAIP', wachen_id);
$('#waipModal').modal('hide');
});

View File

@ -3,7 +3,9 @@ module.exports = function(io, sql, app_cfg, waip) {
// Module laden
//client.js
var io_api = require('socket.io-client');
var socket_api = io_api.connect(app_cfg.global.remoteapi, {reconnect: true});
var socket_api = io_api.connect(app_cfg.global.remoteapi, {
reconnect: true
});
// Add a connect listener
socket_api.on('connect', function (socket_api) {
@ -11,16 +13,12 @@ socket_api.on('connect', function (socket_api) {
});
socket_api.emit('CH01', 'me', 'test msg');
// Socket.IO Server
io.on('connection', function (socket) {
sql.db_log('WAIP', 'Anwendung von ' + socket.request.connection.remoteAddress + ' (' + socket.id + ') geoeffnet');
sql.db_log('WAIP', 'Wachalarm von ' + socket.request.connection.remoteAddress + ' (' + socket.id + ') geoeffnet');
//zuerst Server-Version senden, damit der Client diese prueft und die Seite ggf. neu lädt
io.sockets.to(socket.id).emit('io.version', app_cfg.global.app_id);
// disconnect
socket.on('disconnect', function() {
sql.db_log('WAIP', 'Alarmmonitor von ' + socket.request.connection.remoteAddress + ' (' + socket.id + ') geschlossen');
sql.db_client_delete(socket.id);
});
// Aufruf des Alarmmonitors einer bestimmten Wache verarbeiten
socket.on('wachen_id', function (wachen_id) {
sql.db_log('WAIP', 'Alarmmonitor Nr. ' + wachen_id + ' von ' + socket.request.connection.remoteAddress + ' (' + socket.id + ') aufgerufen');
@ -56,22 +54,10 @@ socket_api.emit('CH01', 'me', 'test msg');
};
});
});
//socket.on('response', function(waip_id, responseobj) {
//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, responseobj, function(result){
//waip.reuckmeldung_verteilen(waip_id, result);
//});
//});
// TODO: socket.on(Version) um Server-Version abzugleichen
// disconnect verarbeiten
socket.on('disconnect', function () {
sql.db_log('WAIP', 'Alarmmonitor von ' + socket.request.connection.remoteAddress + ' (' + socket.id + ') geschlossen');
sql.db_client_delete(socket.id);
});
});
//return {
// send_message: send_message
//};
};

View File

@ -39,6 +39,7 @@ module.exports = function(db, uuidv4, turf, app_cfg) {
};
function db_einsatz_speichern(content, callback) {
content = JSON.parse(content);
// uuid erzeugen und zuweisen falls nicht vorhanden
if (!content.einsatzdaten.uuid) {
content.einsatzdaten.uuid = uuidv4();

View File

@ -1,30 +1,30 @@
module.exports = function (io, sql, tw, async, app_cfg) {
// Einsatzmeldung in Datenbank speichern
function einsatz_speichern(message) {
function einsatz_speichern(einsatz_rohdaten) {
// Einsatzmeldung (JSON) speichern
sql.db_einsatz_speichern(JSON.parse(message), function (waip_id) {
sql.db_einsatz_speichern(einsatz_rohdaten, function (waip_id) {
sql.db_log('WAIP', 'DEBUG: Neuer Einsatz mit der ID ' + waip_id);
// nach dem Speichern anhand der waip_id die beteiligten Wachennummern zum Einsatz ermitteln
sql.db_log('WAIP', 'DEBUG: ' + waip_id);
sql.db_get_einsatz_rooms(waip_id, function (data) {
if (data) {
console.log(data);
data.forEach(function (row) {
// fuer jede Wache(row.room) die verbundenen Sockets(Clients) ermitteln und Einsatz verteilen
var room_sockets = io.sockets.adapter.rooms[row.room];
sql.db_get_einsatz_rooms(waip_id, function (socket_rooms) {
if (socket_rooms) {
socket_rooms.forEach(function (rooms) {
// fuer jede Wache(rooms.room) die verbundenen Sockets(Clients) ermitteln und den Einsatz verteilen
//io.to(rooms.room).emit('io.response', rmld);
var room_sockets = io.sockets.adapter.rooms[rooms.room];
//console.log(row);
//console.log(row.room);
//console.log(room_sockets);
//console.log(io.sockets.adapter);
if (typeof room_sockets !== 'undefined') {
Object.keys(room_sockets.sockets).forEach(function (socketId) {
einsatz_verteilen(waip_id, socketId, row.room);
sql.db_log('WAIP', 'Einsatz ' + waip_id + ' wird an ' + socketId + ' (' + row.room + ') gesendet');
einsatz_verteilen(waip_id, socketId, rooms.room);
sql.db_log('WAIP', 'Einsatz ' + waip_id + ' wird an ' + socketId + ' (' + rooms.room + ') gesendet');
});
};
});
} else {
sql.db_log('Fehler-WAIP', 'Fehler: Wache für waip_id ' + waip_id + ' nicht vorhanden!');
sql.db_log('Fehler-WAIP', 'Fehler: Keine Wache für den Einsatz mit der ID ' + waip_id + ' vorhanden!');
};
});
sql.db_get_twitter_list(waip_id, function (twitter_data) {