diff --git a/public/js/client_waip.js b/public/js/client_waip.js index e87416c..b7cebf4 100644 --- a/public/js/client_waip.js +++ b/public/js/client_waip.js @@ -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; }; }); diff --git a/server/sql_qry.js b/server/sql_qry.js index 40af2af..676a21a 100755 --- a/server/sql_qry.js +++ b/server/sql_qry.js @@ -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 { diff --git a/server/waip.js b/server/waip.js index ca9e08d..2216655 100755 --- a/server/waip.js +++ b/server/waip.js @@ -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,

anbei der automatische Export aller Einsatz-Rückmeldungen für den Einsatz ' + part_rmld[0].einsatznummer + '

Mit freundlichen Grüßen

' + 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,

anbei der automatische Export aller Einsatz-Rückmeldungen für den Einsatz ' + part_rmld[0].einsatznummer + '

Mit freundlichen Grüßen

' + 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);