diff --git a/server/waip.js b/server/waip.js
index 411d251..218f803 100755
--- a/server/waip.js
+++ b/server/waip.js
@@ -305,22 +305,14 @@ module.exports = function (io, sql, fs, brk, async, app_cfg) {
sql.db_log('WAIP', 'Einsatz mit der ID ' + waip.id + ' ist veraltet und kann gelöscht werden.')
// beteiligte Wachen zum Einsatz ermitteln
sql.db_einsatz_get_rooms(waip.id, function (data) {
- console.log(data);
-
if (data) {
data.forEach(function (row) {
// fuer jede Wache (row.room) die verbundenen Sockets(Clients) ermitteln und Standby senden
var room_sockets = io.nsps['/waip'].adapter.rooms[row.room];
- console.log(row.room);
-
- console.log(room_sockets);
if (typeof room_sockets !== 'undefined') {
- // FIXME gelöschter einsatz wird noch als Wachalarm angezeigt
- console.log('room_sockets');
- console.log(room_sockets.sockets);
Object.keys(room_sockets.sockets).forEach(function (socket_id) {
// Standby senden
- var socket = io.of('/waip').connected[socket_id];
+ var socket = io.of('/waip').connected[socket_id];
sql.db_client_check_waip_id(socket.id, waip.id, function (same_id) {
if (same_id) {
socket.emit('io.standby', null);
@@ -333,108 +325,107 @@ module.exports = function (io, sql, fs, brk, async, app_cfg) {
};
});
};
- });
- sql.db_socket_get_by_room(waip.uuid, function (socket_ids) {
- // Dashboards trennen, deren Einsatz geloescht wurde
- // TODO TEST: Dashboard-Trennen-Funktion testen
- if (socket_ids) {
- socket_ids.forEach(function (row) {
- var socket = io.of('/dbrd').connected[row.socket_id];
- socket.emit('io.deleted', null);
- sql.db_log('DBRD', 'Dashboard mit dem Socket ' + socket.id + ' getrennt, da Einsatz gelöscht.');
- sql.db_client_update_status(socket, null);
- });
- };
- });
- sql.db_rmld_get_for_export(waip.uuid, function (full_rmld) {
- // beteiligte Wachen aus den Einsatz-Rueckmeldungen filtern
- var arry_wachen = full_rmld.map(a => a.wache_nr);
- sql.db_export_get_for_rmld(arry_wachen, function (export_data) {
-
- console.log(arry_wachen)
- // SQL gibt ist eine Schliefe (db.each), fuer jedes Ergebnis wird eine CSV/Mail erstellt
- if (export_data) {
- var part_rmld = full_rmld;
- // FIXME full_rmld.filter(obj => obj.wache_id.startsWith(export_data.export_filter));
- // CSV-Spalten definieren
- var csv_col = ['id', 'einsatznummer', 'waip_uuid', 'rmld_uuid', 'alias', 'einsatzkraft', 'maschinist', 'fuehrungskraft', 'agt', 'set_time', 'arrival_time', 'wache_id', 'wache_nr', 'wache_name'];
- var opts = {
- csv_col
- };
- try {
- var csv = parse(part_rmld, opts);
- // CSV Dateiname und Pfad festlegen
- var csv_filename = export_data.export_name.replace(/[|&;$%@"<>()+,]/g, '');
- csv_filename = csv_filename.replace(/ /g,"_");
- csv_filename = 'einsatz_' + part_rmld[0].einsatznummer + '_export_' + csv_filename + '.csv';
- csv_path = process.cwd() + app_cfg.rmld.backup_path;
- //+ csv_filename;
- console.log(csv_filename);
- // CSV in Backup-Ordner speichern, falls aktiviert
- if (app_cfg.rmld.backup_to_file) {
- // Ordner erstellen
- fs.mkdir(csv_path, {
- recursive: true
- }, function (err) {
- if (err) {
- sql.db_log('EXPORT', 'Fehler beim Erstellen des Backup-Ordners: ' + err);
- };
- // CSV speichern
- fs.writeFile(csv_path + csv_filename, csv, function (err) {
- if (err) {
- console.log(err);
- sql.db_log('EXPORT', 'Fehler beim speichern der Export-CSV: ' + err);
- };
- });
- });
- };
- // CSV per Mail versenden, falls aktiviert
- if (app_cfg.rmld.backup_to_mail) {
- // pruefen ob Mail plausibel ist
- var validmail = /\S+@\S+\.\S+/;
- if (validmail.test(export_data.export_recipient)) {
- // Mail-Server
- var transport = nodemailer.createTransport({
- host: app_cfg.rmld.mailserver_host,
- port: app_cfg.rmld.mailserver_port,
- secure: app_cfg.rmld.secure_mail,
- auth: {
- user: app_cfg.rmld.mail_user,
- pass: app_cfg.rmld.mail_pass
- }
- });
- var mail_message = {
- from: 'Wachalarm-IP-Web' + app_cfg.public.company + ' <' + app_cfg.rmld.mail_from +'>',
- to: export_data.export_recipient,
- subject: 'Automatischer Export Wachalarm-IP-Web - ' + export_data.export_name + ' - Einsatz ' + part_rmld[0].einsatznummer,
- html: 'Hallo,
anbei der automatische Export aller Einsatz-Rückmeldungen für den Einsatz ' + part_rmld[0].einsatznummer + '
Mit freundlichen Grüßen
' + app_cfg.public.company,
- attachments: [{
- filename: csv_filename,
- content: csv
- }]
- };
- transport.sendMail(mail_message, function (err, info) {
- if (err) {
- sql.db_log('EXPORT', 'Fehler beim senden der Export-Mail an ' + export_data.export_recipient + ': ' + err);
- } else {
- sql.db_log('EXPORT', 'Mail an ' + export_data.export_recipient + ' gesendet: ' + JSON.stringify(info));
- }
- });
- } else {
- sql.db_log('EXPORT', 'Fehler beim versenden der Export-Mail an ' + export_data.export_recipient + ' - keine richtige Mail-Adresse!');
- };
- };
- } catch (err) {
- sql.db_log('EXPORT', 'Fehler beim erstellen der Export-CSV: ' + err);
- };
+ sql.db_socket_get_by_room(waip.uuid, function (socket_ids) {
+ // Dashboards trennen, deren Einsatz geloescht wurde
+ // TODO TEST: Dashboard-Trennen-Funktion testen
+ if (socket_ids) {
+ socket_ids.forEach(function (row) {
+ var socket = io.of('/dbrd').connected[row.socket_id];
+ socket.emit('io.deleted', null);
+ sql.db_log('DBRD', 'Dashboard mit dem Socket ' + socket.id + ' getrennt, da Einsatz gelöscht.');
+ sql.db_client_update_status(socket, null);
+ });
};
});
- // alte Rueckmeldungen loeschen
- sql.db_rmld_loeschen(waip.uuid);
+ sql.db_rmld_get_for_export(waip.uuid, function (full_rmld) {
+ // beteiligte Wachen aus den Einsatz-Rueckmeldungen filtern
+ var arry_wachen = full_rmld.map(a => a.wache_nr);
+ sql.db_export_get_for_rmld(arry_wachen, function (export_data) {
+
+ console.log(arry_wachen)
+ // SQL gibt ist eine Schliefe (db.each), fuer jedes Ergebnis wird eine CSV/Mail erstellt
+ if (export_data) {
+ var part_rmld = full_rmld;
+ // FIXME
+ //var part_rmld = full_rmld.filter(obj => String(obj.wache_nr).startsWith(String(export_data.export_filter)));
+ // CSV-Spalten definieren
+ var csv_col = ['id', 'einsatznummer', 'waip_uuid', 'rmld_uuid', 'alias', 'einsatzkraft', 'maschinist', 'fuehrungskraft', 'agt', 'set_time', 'arrival_time', 'wache_id', 'wache_nr', 'wache_name'];
+ var opts = {
+ csv_col
+ };
+ try {
+ var csv = parse(part_rmld, opts);
+ // CSV Dateiname und Pfad festlegen
+ var csv_filename = export_data.export_name.replace(/[|&;$%@"<>()+,]/g, '');
+ csv_filename = csv_filename.replace(/ /g, "_");
+ csv_filename = 'einsatz_' + part_rmld[0].einsatznummer + '_export_' + csv_filename + '.csv';
+ csv_path = process.cwd() + app_cfg.rmld.backup_path;
+ // CSV in Backup-Ordner speichern, falls aktiviert
+ if (app_cfg.rmld.backup_to_file) {
+ // Ordner erstellen
+ fs.mkdir(csv_path, {
+ recursive: true
+ }, function (err) {
+ if (err) {
+ sql.db_log('EXPORT', 'Fehler beim Erstellen des Backup-Ordners: ' + err);
+ };
+ // CSV speichern
+ fs.writeFile(csv_path + csv_filename, csv, function (err) {
+ if (err) {
+ sql.db_log('EXPORT', 'Fehler beim speichern der Export-CSV: ' + err);
+ };
+ });
+ });
+ };
+ // CSV per Mail versenden, falls aktiviert
+ if (app_cfg.rmld.backup_to_mail) {
+ // pruefen ob Mail plausibel ist
+ var validmail = /\S+@\S+\.\S+/;
+ if (validmail.test(export_data.export_recipient)) {
+ // Mail-Server
+ var transport = nodemailer.createTransport({
+ host: app_cfg.rmld.mailserver_host,
+ port: app_cfg.rmld.mailserver_port,
+ secure: app_cfg.rmld.secure_mail,
+ auth: {
+ user: app_cfg.rmld.mail_user,
+ pass: app_cfg.rmld.mail_pass
+ }
+ });
+ var mail_message = {
+ from: 'Wachalarm-IP-Web' + app_cfg.public.company + ' <' + app_cfg.rmld.mail_from + '>',
+ to: export_data.export_recipient,
+ subject: 'Automatischer Export Wachalarm-IP-Web - ' + export_data.export_name + ' - Einsatz ' + part_rmld[0].einsatznummer,
+ html: 'Hallo,
anbei der automatische Export aller Einsatz-Rückmeldungen für den Einsatz ' + part_rmld[0].einsatznummer + '
Mit freundlichen Grüßen
' + app_cfg.public.company,
+ attachments: [{
+ filename: csv_filename,
+ content: csv
+ }]
+ };
+ transport.sendMail(mail_message, function (err, info) {
+ if (err) {
+ sql.db_log('EXPORT', 'Fehler beim senden der Export-Mail an ' + export_data.export_recipient + ': ' + err);
+ } else {
+ sql.db_log('EXPORT', 'Mail an ' + export_data.export_recipient + ' gesendet: ' + JSON.stringify(info));
+ }
+ });
+ } else {
+ sql.db_log('EXPORT', 'Fehler beim versenden der Export-Mail an ' + export_data.export_recipient + ' - keine richtige Mail-Adresse!');
+ };
+ };
+ } catch (err) {
+ sql.db_log('EXPORT', 'Fehler beim erstellen der Export-CSV: ' + err);
+ };
+ };
+ });
+ // alte Rueckmeldungen loeschen
+ sql.db_rmld_loeschen(waip.uuid);
+ });
+ // alten Einsatz loeschen
+ sql.db_einsatz_loeschen(waip.id);
+ sql.db_log('WAIP', 'Einsatz-Daten zu Einsatz ' + waip.id + ' gelöscht.');
});
- // alten Einsatz loeschen
- sql.db_einsatz_loeschen(waip.id);
- sql.db_log('WAIP', 'Einsatz-Daten zu Einsatz ' + waip.id + ' gelöscht.');
+
};
});