update Mi 17. Jun 14:31:01 CEST 2020

This commit is contained in:
Robert Richter 2020-06-17 14:31:01 +02:00
parent 458488c2a2
commit 6b80a81bad
2 changed files with 49 additions and 51 deletions

View File

@ -9,7 +9,7 @@ app_cfg.global = {
database: './database.sqlite3', database: './database.sqlite3',
soundpath: '/public/media/', soundpath: '/public/media/',
mediapath: '/media/', mediapath: '/media/',
time_to_delete_waip: 25, time_to_delete_waip: 1,
default_time_for_standby: 10, default_time_for_standby: 10,
circumcircle: 5, circumcircle: 5,
defaultuser: 'me', defaultuser: 'me',

View File

@ -1,7 +1,7 @@
module.exports = function (io, sql, fs, brk, async, app_cfg) { module.exports = function (io, sql, fs, brk, async, app_cfg) {
// Module laden // Module laden
const json2csv = require('json2csv'); const { parse } = require('json2csv');
const sendmail = require('sendmail')({ const sendmail = require('sendmail')({
silent: true silent: true
}); });
@ -25,6 +25,7 @@ module.exports = function (io, sql, fs, brk, async, app_cfg) {
}; };
}); });
} else { } else {
// FIXME löschen klappt nicht
// wenn kein Raum (keine Wache) in der DB hinterlegt ist, dann Einsatz direkt wieder loeschen // wenn kein Raum (keine Wache) in der DB hinterlegt ist, dann Einsatz direkt wieder loeschen
sql.db_log('Fehler-WAIP', 'Fehler: Keine Wache für den Einsatz mit der ID ' + waip_id + ' vorhanden! Einsatz wird gelöscht!'); sql.db_log('Fehler-WAIP', 'Fehler: Keine Wache für den Einsatz mit der ID ' + waip_id + ' vorhanden! Einsatz wird gelöscht!');
sql.db_einsatz_loeschen(waip_id); sql.db_einsatz_loeschen(waip_id);
@ -343,60 +344,56 @@ module.exports = function (io, sql, fs, brk, async, app_cfg) {
sql.db_export_get_for_rmld(arry_wachen, function (export_data) { sql.db_export_get_for_rmld(arry_wachen, function (export_data) {
// SQL gibt ist eine Schliefe (db.each), fuer jedes Ergebnis wird eine CSV/Mail erstellt // SQL gibt ist eine Schliefe (db.each), fuer jedes Ergebnis wird eine CSV/Mail erstellt
if (export_data) { if (export_data) {
var part_rmld = full_rmld.filter(obj => obj.wache_id.startsWith(export_data.export_filter)); var part_rmld = full_rmld;
// FIXME full_rmld.filter(obj => obj.wache_id.startsWith(export_data.export_filter));
// CSV-Spalten definieren // 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 csv_col = ['id', 'einsatznummer', 'waip_uuid', 'rmld_uuid', 'alias', 'einsatzkraft', 'maschinist', 'fuehrungskraft', 'agt', 'set_time', 'arrival_time', 'wache_id', 'wache_nr', 'wache_name'];
json2csv({ var opts = { csv_col };
data: part_rmld, try {
fields: csv_col var csv = parse(part_rmld, opts);
}, function (err, csv) { // CSV Dateiname und Pfad festlegen
// FIXME TEST: CSV und Mail var csv_filename = part_rmld[0].einsatznummer + '_export_rmld_' + export_data.export_name + '.csv';
if (err) { csv_filename = process.cwd() + app_cfg.rmld.backup_path + csv_filename;
sql.db_log('EXPORT', 'Fehler beim erstellen der Export-CSV: ' + err); // CSV in Backup-Ordner speichern, falls aktiviert
} else { if (app_cfg.rmld.backup_to_file) {
// CSV Dateiname und Pfad festlegen // CSV speichern
var csv_filename = part_rmld[0].einsatznummer + '_export_rmld_' + export_data.export_name + '.csv'; fs.writeFile(csv_filename, csv, function (err) {
csv_filename = process.cwd() + app_cfg.rmld.backup_path + csv_filename; if (err) {
// CSV in Backup-Ordner speichern, falls aktiviert sql.db_log('EXPORT', 'Fehler beim speichern der Export-CSV: ' + err);
if (app_cfg.rmld.backup_to_file) {
// CSV speichern
fs.writeFile(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)) {
var mail_from = 'keineantwort@' + app_cfg.global.url.replace(/(^\w+:|^)\/\//, '');
var mail_subject = 'Automatischer Export Rückmeldungen Wachalarm-IP - ' + export_data.export_name + ' - Einsatz ' + part_rmld[0].einsatznummer;
var mail_html = 'Hallo,<br><br> anbei der automatische Export aller Einsatz-R&uuml;ckmeldungen f&uuml;r den Einsatz ' + part_rmld[0].einsatznummer + '<br><br>Mit freundlichen Gr&uuml;&szlig;en<br><br>' + app_cfg.global.company;
sendmail({
from: mail_from,
to: export_data.export_recipient,
subject: mail_subject,
html: mail_html,
attachments: [{
filename: csv_filename,
content: csv
}]
}, function (err, reply) {
if (!err) {
sql.db_log('EXPORT', 'Mail an ' + export_data.mail_subject + ' gesendet - ' + reply);
} else {
sql.db_log('EXPORT', 'Fehler beim senden der Export-Mail an ' + export_data.mail_subject + ' - ' + err + '; ' + err.stack);
};
})
} else {
sql.db_log('EXPORT', 'Fehler beim versenden der Export-Mail an ' + export_data.mail_subject + ' - keine richtige Mail-Adresse!');
}; };
});
};
// 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)) {
var mail_from = 'keineantwort@' + app_cfg.global.url.replace(/(^\w+:|^)\/\//, '');
var mail_subject = 'Automatischer Export Rückmeldungen Wachalarm-IP - ' + export_data.export_name + ' - Einsatz ' + part_rmld[0].einsatznummer;
var mail_html = 'Hallo,<br><br> anbei der automatische Export aller Einsatz-R&uuml;ckmeldungen f&uuml;r den Einsatz ' + part_rmld[0].einsatznummer + '<br><br>Mit freundlichen Gr&uuml;&szlig;en<br><br>' + app_cfg.global.company;
sendmail({
from: mail_from,
to: export_data.export_recipient,
subject: mail_subject,
html: mail_html,
attachments: [{
filename: csv_filename,
content: csv
}]
}, function (err, reply) {
if (!err) {
sql.db_log('EXPORT', 'Mail an ' + export_data.mail_subject + ' gesendet - ' + reply);
} else {
sql.db_log('EXPORT', 'Fehler beim senden der Export-Mail an ' + export_data.mail_subject + ' - ' + err + '; ' + err.stack);
};
})
} else {
sql.db_log('EXPORT', 'Fehler beim versenden der Export-Mail an ' + export_data.mail_subject + ' - keine richtige Mail-Adresse!');
}; };
}; };
}); } catch (err) {
sql.db_log('EXPORT', 'Fehler beim erstellen der Export-CSV: ' + err);
};
}; };
}); });
// alte Rueckmeldungen loeschen // alte Rueckmeldungen loeschen
@ -404,6 +401,7 @@ module.exports = function (io, sql, fs, brk, async, app_cfg) {
}); });
// alten Einsatz loeschen // alten Einsatz loeschen
sql.db_einsatz_loeschen(waip.id); sql.db_einsatz_loeschen(waip.id);
// FIXME gelöschter einsatz wird noch als Wachalarm angezeigt
sql.db_log('WAIP', 'Einsatz-Daten zu Einsatz ' + waip.id + ' gelöscht.'); sql.db_log('WAIP', 'Einsatz-Daten zu Einsatz ' + waip.id + ' gelöscht.');
}; };
}); });