update Fr 12. Jun 15:01:02 CEST 2020

This commit is contained in:
Robert Richter 2020-06-12 15:01:02 +02:00
parent 7646c8da19
commit 914e0f8335
2 changed files with 68 additions and 73 deletions

View File

@ -853,37 +853,29 @@ module.exports = function (db, uuidv4, app_cfg) {
}; };
function db_export_get_for_rmld(arry_wachen, callback) { function db_export_get_for_rmld(arry_wachen, callback) {
// saubere String-Werte erstellen
arry_wachen = arry_wachen.map(String);
// Wachen-Nummern um Teil-Nummern fuer Kreis und Treager ergaenzen // Wachen-Nummern um Teil-Nummern fuer Kreis und Treager ergaenzen
var kreis = arry_wachen.map(i=> i.substr(0, 2)); var kreis = arry_wachen.map(i => i.substr(0, 2));
var traeger = arry_wachen.map(i=> i.substr(0, 4)); var traeger = arry_wachen.map(i => i.substr(0, 4));
arry_wachen = arry_wachen.concat(kreis); arry_wachen = arry_wachen.concat(kreis);
arry_wachen = arry_wachen.concat(traeger); arry_wachen = arry_wachen.concat(traeger);
// doppelte Elemente aus Array entfernen // doppelte Elemente aus Array entfernen
arry_wachen = arry_wachen.filter((v, i, a) => a.indexOf(v) === i); 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) {
db.each(`select * from waip_export console.log('Export-Liste RMLD: ' + JSON.stringify(arry_wachen));
where irgendwas und filte is null`, [content], };
function (err, row) { // 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) { if (err == null && row) {
callback && callback(row.waip_wachen_ID); callback && callback(row);
} else { } else {
callback && callback(null); callback && callback(null);
}; };
}); });
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
export_typ TEXT,
export_name TEXT,
export_text TEXT,
export_filter TEXT,
export_recipient TEXT)`);
}; };
return { return {
@ -921,7 +913,7 @@ module.exports = function (db, uuidv4, app_cfg) {
db_rmld_loeschen: db_rmld_loeschen, db_rmld_loeschen: db_rmld_loeschen,
db_vmtl_get_list: db_vmtl_get_list, db_vmtl_get_list: db_vmtl_get_list,
db_vmtl_get_tw_account: db_vmtl_get_tw_account, db_vmtl_get_tw_account: db_vmtl_get_tw_account,
db_export_get_list: db_export_get_list db_export_get_for_rmld: db_export_get_for_rmld
}; };
}; };

View File

@ -387,15 +387,18 @@ module.exports = function (io, sql, fs, brk, async, app_cfg, api, proof) {
// FIXME: Rueckmeldung löschen, und vorher ggf. per Mail versenden bzw. Backup speichern // FIXME: Rueckmeldung löschen, und vorher ggf. per Mail versenden bzw. Backup speichern
sql.db_rmld_get_by_waipuuid(waip.uuid, function (full_rmld) { sql.db_rmld_get_by_waipuuid(waip.uuid, function (full_rmld) {
// beteiligte Wachen aus den Einsatz-Rueckmeldungen filtern // 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) {
map wachennummer in jspn, add 0 // db.each
[52,521204,6103] // TODO gesamte CSV oder nur Teil für wache?
export_data.export_name
export_data.export_text
export_data.export_filter
export_data.export_recipient if valide mail-adresse
jetzt exportliste nach passendem mit filter suchen, dabei distinct wachennr übergeben
db.each
jetzt csv erzeugen und versenden jetzt csv erzeugen und versenden
falls kein filter falls kein filter
wenn bkp altiviert, gesamt-csv speichern wenn bkp altiviert, gesamt-csv speichern
@ -406,12 +409,8 @@ module.exports = function (io, sql, fs, brk, async, app_cfg, api, proof) {
// gesamte CSV erstellen, falls aktiviert // gesamte CSV erstellen, falls aktiviert
CREATE TABLE waip_export (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
export_name TEXT,
export_text TEXT,
export_filter TEXT,
export_recipient TEXT)`);
json2csv({data: full_rmld, fields: csv_col}, function(err, csv) { json2csv({data: full_rmld, fields: csv_col}, function(err, csv) {
@ -432,15 +431,19 @@ module.exports = function (io, sql, fs, brk, async, app_cfg, api, proof) {
// Mail-Adressen fuer Wachen zu dieser Einsatz-ID ermitteln, siehe db_vmtl_get_list // Mail-Adressen fuer Wachen zu dieser Einsatz-ID ermitteln, siehe db_vmtl_get_list
// csv an diese Mail-Adressen per Mail senden // csv an diese Mail-Adressen per Mail senden
// wenn app_cfg.global.mail_rmld is true // wenn app_cfg.global.mail_rmld is true
db_rmld_loeschen(waip_uuid)
}); });
// Einsatz löschen // alte Rueckmeldungen loeschen
db_rmld_loeschen(waip_uuid);
});
// alten Einsatz loeschen
sql.db_einsatz_loeschen(waip.id); sql.db_einsatz_loeschen(waip.id);
sql.db_log('WAIP', 'Einsatz-Daten zu Einsatz ' + waip.id + ' gelöscht.'); sql.db_log('WAIP', 'Einsatz-Daten zu Einsatz ' + waip.id + ' gelöscht.');
}; };
}); });
// löschen alter Sounddaten nach alter (15min) und socket-id (nicht mehr verbunden) // loeschen alter Sounddaten nach alter (15min) und socket-id (nicht mehr verbunden)
fs.readdirSync(process.cwd() + app_cfg.global.soundpath).forEach(file => { fs.readdirSync(process.cwd() + app_cfg.global.soundpath).forEach(file => {
// nur die mp3s von alten clients loeschen // nur die mp3s von alten clients loeschen
if (file.substring(0, 4) != 'bell' && file.substring(file.length - 3) == 'mp3' && file.substring(file.length - 8) != '_tmp.mp3') { if (file.substring(0, 4) != 'bell' && file.substring(file.length - 3) == 'mp3' && file.substring(file.length - 8) != '_tmp.mp3') {