update Mo 15. Jun 00:31:01 CEST 2020

This commit is contained in:
Robert Richter 2020-06-15 00:31:01 +02:00
parent 7d8f72af9e
commit 4106796cdc
3 changed files with 76 additions and 67 deletions

View File

@ -420,6 +420,7 @@ socket.on('io.new_waip', function (data) {
socket.on('io.new_rmld', function (data) {
// DEBUG
console.log(data);
// FIXME Änderung des Funktions-Typ berücksichtigen
// Neue Rueckmeldung hinterlegen
data.forEach(function (arrayItem) {
// HTML festlegen
@ -463,7 +464,12 @@ var counter_rmld = [];
function reset_rmld(p_uuid) {
var bar_uuid = 'bar-' + p_uuid;
$('#pg-ek').children().each(function(i) {
if (!$(this).hasClass(bar_uuid)) {
console.log('ein gefunden');
console.log(this);
if ($(this).hasClass(bar_uuid)) {
console.log('hier');
$(this).remove;
};
});

View File

@ -171,13 +171,13 @@ module.exports = function (db, uuidv4, app_cfg) {
console.log(uuid_em_weitere);
console.log(uuid_einsatzdaten);
// FIXME fertigstellen
// Abfrage ob zu Socket und Waip-ID bereits History-Daten hinterlegt sind
db.get('select * from waip_history where waip_id like ? and socket_id like ?', [waip_id, socket_id], function (err, row) {
if (err == null && row) {
console.log(waip_id);
console.log(socket_id);
console.log(socket_id);
// wenn History-Daten hinterlegt sind, dann pruefen sich etwas verändert hat
if (uuid_einsatzdaten !== row.uuid_einsatz_grunddaten || uuid_em_alarmiert !== row.uuid_em_alarmiert) {
// Grunddaten oder alarmierte Einsatzmittel haben sich verändert, somit History veraltet und neue Alarmierung notwendig
@ -882,20 +882,24 @@ module.exports = function (db, uuidv4, app_cfg) {
arry_wachen = arry_wachen.concat(traeger);
// doppelte Elemente aus Array entfernen
arry_wachen = arry_wachen.filter((v, i, a) => a.indexOf(v) === i);
// Leer-String hinzufuegen, um auch Export-Eintraege ohne Filter zu beruecksichtigen
arry_wachen.push("");
// DEBUG
if (app_cfg.global.development) {
console.log('Export-Liste RMLD: ' + JSON.stringify(arry_wachen));
console.log(arry_wachen.join(', '));
};
// nur weiter machen wenn arry_wachen nicht leer, weil z.b. keine Rueckmeldungen vorhanden sind
if (arry_wachen.length > 0) {
// Export-Liste auslesen
db.each(`select * from waip_export where export_typ like \'rmld\' and (export_filter IN (` + arry_wachen.join(', ') + `) or export_filter like \'\')`, function (err, row) {
if (err == null && row) {
callback && callback(row);
} else {
callback && callback(null);
};
});
} else {
callback && callback(null);
};
// Export-Liste auslesen
db.each(`select * from waip_export where export_typ like \'rmld\' and export_filter IN (` + arry_wachen.join(', ') + ` )`, function (err, row) {
if (err == null && row) {
callback && callback(row);
} else {
callback && callback(null);
};
});
};
return {

View File

@ -369,63 +369,62 @@ module.exports = function (io, sql, fs, brk, async, app_cfg, proof) {
var arry_wachen = full_rmld.map(a => a.wache_nr);
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
console.log('exportfilter');
// FIXME
console.log(export_data);
var part_rmld = 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'];
json2csv({
data: part_rmld,
fields: csv_col
}, function (err, csv) {
// TODO TEST: CSV und Mail
if (err) {
sql.db_log('EXPORT', 'Fehler beim erstellen der Export-CSV: ' + err);
} else {
// CSV Dateiname und Pfad festlegen
var csv_filename = part_rmld[0].einsatznummer + '_export_rmld_' + export_data.export_name + '.csv';
csv_filename = process.cwd() + app_cfg.rmld.backup_path + csv_filename;
// CSV in Backup-Ordner speichern, falls aktiviert
if (app_cfg.rmld.backup_to_file) {
if (export_data) {
var part_rmld = 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'];
json2csv({
data: part_rmld,
fields: csv_col
}, function (err, csv) {
// TODO TEST: CSV und Mail
if (err) {
sql.db_log('EXPORT', 'Fehler beim erstellen der Export-CSV: ' + err);
} else {
// CSV Dateiname und Pfad festlegen
var csv_filename = part_rmld[0].einsatznummer + '_export_rmld_' + export_data.export_name + '.csv';
csv_filename = process.cwd() + app_cfg.rmld.backup_path + csv_filename;
// CSV in Backup-Ordner speichern, falls aktiviert
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);
// CSV speichern
fs.writeFile(csv_filename, csv, function (err) {
if (err) {
sql.db_log('EXPORT', 'Fehler beim speichern der Export-CSV: ' + err);
};
})
} 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!');
};
};
};
};
});
});
};
});
// alte Rueckmeldungen loeschen
sql.db_rmld_loeschen(waip.uuid);