update Fr 12. Jun 15:01:02 CEST 2020
This commit is contained in:
parent
7646c8da19
commit
914e0f8335
@ -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
|
||||||
if (err == null && row) {
|
db.each(`select * from waip_export where export_typ like \'rmld\' and export_filter IN (` + arry_wachen.join(', ') + ` )`, function (err, row) {
|
||||||
callback && callback(row.waip_wachen_ID);
|
if (err == null && row) {
|
||||||
} else {
|
callback && callback(row);
|
||||||
callback && callback(null);
|
} else {
|
||||||
};
|
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
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -387,60 +387,63 @@ 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
|
|
||||||
|
|
||||||
|
|
||||||
// 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'];
|
||||||
// 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) {
|
|
||||||
if (err) console.log(err);
|
|
||||||
// CSV in Backup-Ordner speichern, falls aktiviert
|
json2csv({data: full_rmld, fields: csv_col}, function(err, csv) {
|
||||||
fs.writeFile('cars.csv', csv, function(err) {
|
if (err) console.log(err);
|
||||||
if (err) throw err;
|
// CSV in Backup-Ordner speichern, falls aktiviert
|
||||||
console.log('cars file saved');
|
fs.writeFile('cars.csv', csv, function(err) {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log('cars file saved');
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
// teil-CSV fuer einzelne Wache erstellen
|
||||||
|
|
||||||
|
|
||||||
|
// CSV per Mail versenden, falls aktiviert
|
||||||
|
// einzelne Wachen
|
||||||
|
// später löschen, wenn app_cfg.global.backup_rmld false
|
||||||
|
// Mail-Adressen fuer Wachen zu dieser Einsatz-ID ermitteln, siehe db_vmtl_get_list
|
||||||
|
// csv an diese Mail-Adressen per Mail senden
|
||||||
|
// wenn app_cfg.global.mail_rmld is true
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
// teil-CSV fuer einzelne Wache erstellen
|
// alte Rueckmeldungen loeschen
|
||||||
|
db_rmld_loeschen(waip_uuid);
|
||||||
|
|
||||||
// CSV per Mail versenden, falls aktiviert
|
|
||||||
// einzelne Wachen
|
|
||||||
// später löschen, wenn app_cfg.global.backup_rmld false
|
|
||||||
// Mail-Adressen fuer Wachen zu dieser Einsatz-ID ermitteln, siehe db_vmtl_get_list
|
|
||||||
// csv an diese Mail-Adressen per Mail senden
|
|
||||||
// wenn app_cfg.global.mail_rmld is true
|
|
||||||
db_rmld_loeschen(waip_uuid)
|
|
||||||
});
|
});
|
||||||
// Einsatz löschen
|
// 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') {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user