update Do 28. Mai 21:31:01 CEST 2020
This commit is contained in:
parent
e06496834d
commit
d062bbf04a
@ -282,7 +282,7 @@ module.exports = function (app, sql, uuidv4, app_cfg, passport, auth, waip, udp)
|
|||||||
|
|
||||||
// Logdatei
|
// Logdatei
|
||||||
app.get('/adm_show_log', auth.ensureAdmin, function (req, res) {
|
app.get('/adm_show_log', auth.ensureAdmin, function (req, res) {
|
||||||
sql.db_log_get_all(function (data) {
|
sql.db_log_get_5000(function (data) {
|
||||||
res.render('admin/adm_show_log', {
|
res.render('admin/adm_show_log', {
|
||||||
public: app_cfg.public,
|
public: app_cfg.public,
|
||||||
title: 'Log-Datei',
|
title: 'Log-Datei',
|
||||||
|
|||||||
@ -233,6 +233,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_einsatz_get_waipid_by_uuid(waip_uuid, callback) {
|
function db_einsatz_get_waipid_by_uuid(waip_uuid, callback) {
|
||||||
|
// mit uuid die zugehoerige id des Einsatzes finden
|
||||||
db.get(`SELECT id FROM WAIP_EINSAETZE WHERE uuid like ?`, [waip_uuid], function (err, row) {
|
db.get(`SELECT id FROM WAIP_EINSAETZE WHERE uuid like ?`, [waip_uuid], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
callback && callback(row.id);
|
callback && callback(row.id);
|
||||||
@ -243,6 +244,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_einsatz_get_active(callback) {
|
function db_einsatz_get_active(callback) {
|
||||||
|
// alle aktivieren Einsaetze finden
|
||||||
db.all(`select we.uuid, we.einsatzart, we.stichwort, we.ort, we.ortsteil, we.wgs84_area,
|
db.all(`select we.uuid, we.einsatzart, we.stichwort, we.ort, we.ortsteil, we.wgs84_area,
|
||||||
GROUP_concat(DISTINCT substr( wa.nr_wache, 0, 3 )) a,
|
GROUP_concat(DISTINCT substr( wa.nr_wache, 0, 3 )) a,
|
||||||
GROUP_concat(DISTINCT substr( wa.nr_wache, 0, 5 )) b,
|
GROUP_concat(DISTINCT substr( wa.nr_wache, 0, 5 )) b,
|
||||||
@ -261,6 +263,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_einsatz_get_rooms(waip_id, callback) {
|
function db_einsatz_get_rooms(waip_id, callback) {
|
||||||
|
// alle potenziellen Socket-Rooms fuer einen Einsatz finden
|
||||||
db.all(`select '0' room
|
db.all(`select '0' room
|
||||||
union all
|
union all
|
||||||
select w.nr_kreis room from waip_wachen w
|
select w.nr_kreis room from waip_wachen w
|
||||||
@ -284,6 +287,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_einsatz_get_old(minuten, callback) {
|
function db_einsatz_get_old(minuten, callback) {
|
||||||
|
// veraltete Einsaetze finden
|
||||||
db.each('SELECT id FROM waip_einsaetze WHERE zeitstempel <= datetime(\'now\',\'-' + minuten + ' minutes\')', function (err, row) {
|
db.each('SELECT id FROM waip_einsaetze WHERE zeitstempel <= datetime(\'now\',\'-' + minuten + ' minutes\')', function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
callback && callback(row.id);
|
callback && callback(row.id);
|
||||||
@ -294,6 +298,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_einsatz_loeschen(id) {
|
function db_einsatz_loeschen(id) {
|
||||||
|
// Einsatz loeschen
|
||||||
db.run(`DELETE FROM waip_einsaetze WHERE id = ?`, [id]);
|
db.run(`DELETE FROM waip_einsaetze WHERE id = ?`, [id]);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -312,21 +317,21 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_wache_vorhanden(content, callback) {
|
function db_wache_vorhanden(wachen_nr, callback) {
|
||||||
// wenn content keine Nummer ist, abbrechen
|
// Prueffunktion um zu erkennen ob wachen_nr valide ist
|
||||||
if (isNaN(content)) {
|
if (isNaN(wachen_nr)) {
|
||||||
// Fehler: Wachennummer nicht korrekt.
|
// Fehler: Wachennummer nicht korrekt.
|
||||||
callback && callback(null);
|
callback && callback(null);
|
||||||
} else {
|
} else {
|
||||||
var len = content.toString().length
|
var len = wachen_nr.toString().length
|
||||||
// content muss 2, 4 oder 6 Zeichen lang sein
|
// wachen_nr muss 2, 4 oder 6 Zeichen lang sein
|
||||||
if (parseInt(content) != 0 && len != 2 && len != 4 && len != 6) {
|
if (parseInt(wachen_nr) != 0 && len != 2 && len != 4 && len != 6) {
|
||||||
// Fehler: Wachennummer nicht plausibel.
|
// Fehler: Wachennummer nicht plausibel.
|
||||||
callback && callback(null);
|
callback && callback(null);
|
||||||
} else {
|
} else {
|
||||||
// je nach laenge andere SQL ausfuehren
|
// je nach laenge andere SQL ausfuehren
|
||||||
if (parseInt(content) == 0) {
|
if (parseInt(wachen_nr) == 0) {
|
||||||
db.get('select \'1\' length, nr_wache nr, name_wache name from waip_wachen where nr_wache like ?', [content], function (err, row) {
|
db.get('select \'1\' length, nr_wache nr, name_wache name from waip_wachen where nr_wache like ?', [wachen_nr], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
callback && callback(row);
|
callback && callback(row);
|
||||||
} else {
|
} else {
|
||||||
@ -335,7 +340,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
if (len == 2) {
|
if (len == 2) {
|
||||||
db.get('select \'2\' length, nr_kreis nr, name_kreis name from waip_wachen where nr_kreis like SUBSTR(?,-2, 2) group by name_kreis LIMIT 1', [content], function (err, row) {
|
db.get('select \'2\' length, nr_kreis nr, name_kreis name from waip_wachen where nr_kreis like SUBSTR(?,-2, 2) group by name_kreis LIMIT 1', [wachen_nr], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
callback && callback(row);
|
callback && callback(row);
|
||||||
} else {
|
} else {
|
||||||
@ -353,7 +358,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
if (len == 6) {
|
if (len == 6) {
|
||||||
db.get('select \'6\' length, nr_wache nr, name_wache name from waip_wachen where nr_wache like ?', [content], function (err, row) {
|
db.get('select \'6\' length, nr_wache nr, name_wache name from waip_wachen where nr_wache like ?', [wachen_nr], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
callback && callback(row);
|
callback && callback(row);
|
||||||
} else {
|
} else {
|
||||||
@ -366,17 +371,20 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_tts_einsatzmittel(einsatzmittel, callback) {
|
function db_tts_einsatzmittel(einsatzmittel, callback) {
|
||||||
//{"name": "FL CB 16/23-01", "zeit": "17:16"},{"name": "FL CB 16/11-01", "zeit": "17:16"},{"name": "FL CB 16/11-01", "zeit": "17:16"},{"name": "FL CB 16/11-01", "zeit": "17:16"},{"name": "FL CB 16/11-01", "zeit": "17:16"},{"name": "FL CB 16/11-01", "zeit": "17:16"},{"name": "FL CB 16/11-01", "zeit": "17:16"}
|
// Funkkenner der Einsatzmittel in gesprochen Text umwandeln, wenn Nomierung mit xx xx 00/00-00
|
||||||
var tmp = einsatzmittel.name.match(/(\d\d\-\d\d)/g);
|
var tmp = einsatzmittel.name.match(/(\d\d\-\d\d)/g);
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
|
// Einsatzmittel-Typ ermitteln
|
||||||
var typ = tmp.toString().substring(0, 2);
|
var typ = tmp.toString().substring(0, 2);
|
||||||
|
// Einsatzmittel-Nr ermitteln
|
||||||
var nr = tmp.toString().slice(4);
|
var nr = tmp.toString().slice(4);
|
||||||
nr = nr.toString().replace(/^0+/, '');
|
nr = nr.toString().replace(/^0+/, '');
|
||||||
|
// hinterlegte Ersetzungen finden
|
||||||
db.get('SELECT einsatzmittel_rufname name FROM waip_ttsreplace WHERE einsatzmittel_typ = ?', [typ], function (err, row) {
|
db.get('SELECT einsatzmittel_rufname name FROM waip_ttsreplace WHERE einsatzmittel_typ = ?', [typ], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
callback(null, row.name + ' ' + nr);
|
callback(null, row.name + ' ' + nr);
|
||||||
} else {
|
} else {
|
||||||
callback(null, einsatzmittel.name); // + err + typ + nr + '_ ' + tmp);
|
callback(null, einsatzmittel.name);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@ -385,25 +393,29 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_client_update_status(socket, client_status) {
|
function db_client_update_status(socket, client_status) {
|
||||||
//console.log(socket);
|
// Client-Status aktualisieren / speichern
|
||||||
var user_name = socket.request.user.user;
|
var user_name = socket.request.user.user;
|
||||||
var user_permissions = socket.request.user.permissions;
|
var user_permissions = socket.request.user.permissions;
|
||||||
var user_agent = socket.request.headers['user-agent'];
|
var user_agent = socket.request.headers['user-agent'];
|
||||||
var client_ip = socket.handshake.headers["x-real-ip"] || socket.handshake.headers['x-forwarded-for'] || socket.request.connection.remoteAddress;
|
var client_ip = socket.handshake.headers["x-real-ip"] || socket.handshake.headers['x-forwarded-for'] || socket.request.connection.remoteAddress;
|
||||||
var reset_timestamp = socket.request.user.reset_counter;
|
var reset_timestamp = socket.request.user.reset_counter;
|
||||||
|
// Standby wenn Client-Status keine Nummer oder Null
|
||||||
if (isNaN(client_status) || client_status == null) {
|
if (isNaN(client_status) || client_status == null) {
|
||||||
client_status = 'Standby';
|
client_status = 'Standby';
|
||||||
};
|
};
|
||||||
|
// wenn User-Name nicht bekannt
|
||||||
if (typeof user_name === "undefined") {
|
if (typeof user_name === "undefined") {
|
||||||
user_name = '';
|
user_name = '';
|
||||||
};
|
};
|
||||||
|
// wenn User-Berechtigung nicht bekannt
|
||||||
if (typeof user_permissions === "undefined") {
|
if (typeof user_permissions === "undefined") {
|
||||||
user_permissions = '';
|
user_permissions = '';
|
||||||
};
|
};
|
||||||
|
// wenn Anzeigezeit nicht bekannt, Wert aus App-Cfg setzen
|
||||||
if ((typeof reset_timestamp === "undefined") || (reset_timestamp == null)) {
|
if ((typeof reset_timestamp === "undefined") || (reset_timestamp == null)) {
|
||||||
reset_timestamp = app_cfg.global.default_time_for_standby;
|
reset_timestamp = app_cfg.global.default_time_for_standby;
|
||||||
};
|
};
|
||||||
|
// Daten speichern
|
||||||
db.run(`insert or replace into waip_clients
|
db.run(`insert or replace into waip_clients
|
||||||
(id, socket_id, client_ip, room_name, client_status, user_name, user_permissions, user_agent, reset_timestamp ) values (
|
(id, socket_id, client_ip, room_name, client_status, user_name, user_permissions, user_agent, reset_timestamp ) values (
|
||||||
(select id from waip_clients where socket_id = \'` + socket.id + `\'),
|
(select id from waip_clients where socket_id = \'` + socket.id + `\'),
|
||||||
@ -415,18 +427,10 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
\'` + user_permissions + `\',
|
\'` + user_permissions + `\',
|
||||||
\'` + user_agent + `\',
|
\'` + user_agent + `\',
|
||||||
(select DATETIME(zeitstempel,\'+\' || ` + reset_timestamp + ` || \' minutes\') from waip_einsaetze where id =\'` + client_status + `\'));`);
|
(select DATETIME(zeitstempel,\'+\' || ` + reset_timestamp + ` || \' minutes\') from waip_einsaetze where id =\'` + client_status + `\'));`);
|
||||||
|
|
||||||
/*db.run(`UPDATE waip_clients
|
|
||||||
SET client_status=\'` + client_status + `\',
|
|
||||||
client_ip=\'` + client_ip + `\',
|
|
||||||
user_name=\'` + user_name + `\',
|
|
||||||
user_permissions=\'` + user_permissions + `\',
|
|
||||||
user_agent=\'` + user_agent + `\',
|
|
||||||
reset_timestamp=(select DATETIME(zeitstempel,\'+\' || ` + reset_timestamp + ` || \' minutes\') from waip_einsaetze where id =\'` + client_status + `\')
|
|
||||||
WHERE socket_id=\'` + socket_id + `\'`);*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_client_get_connected(callback) {
|
function db_client_get_connected(callback) {
|
||||||
|
// Verbunden Clients ermitteln
|
||||||
db.all(`select * from waip_clients`, function (err, rows) {
|
db.all(`select * from waip_clients`, function (err, rows) {
|
||||||
if (err == null && rows) {
|
if (err == null && rows) {
|
||||||
callback && callback(rows);
|
callback && callback(rows);
|
||||||
@ -437,11 +441,13 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_client_delete(socket) {
|
function db_client_delete(socket) {
|
||||||
|
// Client aus Liste entfernen
|
||||||
db.run('DELETE FROM waip_clients ' +
|
db.run('DELETE FROM waip_clients ' +
|
||||||
'WHERE socket_id = ?', socket.id);
|
'WHERE socket_id = ?', socket.id);
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_client_check_waip_id(socketId, waip_id, callback) {
|
function db_client_check_waip_id(socketId, waip_id, callback) {
|
||||||
|
// Pruefen ob fuer Client eine Einsatz vorhanden ist
|
||||||
db.get('SELECT client_status id from waip_clients where socket_id like ?', [socketId], function (err, row) {
|
db.get('SELECT client_status id from waip_clients where socket_id like ?', [socketId], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
if (row.id == waip_id) {
|
if (row.id == waip_id) {
|
||||||
@ -463,21 +469,22 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
} else {
|
} else {
|
||||||
do_log = app_cfg.global.development;
|
do_log = app_cfg.global.development;
|
||||||
};
|
};
|
||||||
// Log-Eintrag
|
// Log-Eintrag schreiben
|
||||||
if (do_log) {
|
if (do_log) {
|
||||||
db.run(`INSERT INTO waip_log (log_typ, log_text)
|
db.run(`INSERT INTO waip_log (log_typ, log_text)
|
||||||
VALUES (
|
VALUES (
|
||||||
\'` + typ + `\',
|
\'` + typ + `\',
|
||||||
\'` + text + `\')`);
|
\'` + text + `\')`);
|
||||||
};
|
};
|
||||||
// Log auf 50.000 Datensätze begrenzen
|
// Log auf 50.000 Datensätze begrenzen um Speicherplatz der DB zu begrenzen
|
||||||
db.run(`DELETE FROM waip_log WHERE id IN
|
db.run(`DELETE FROM waip_log WHERE id IN
|
||||||
(
|
(
|
||||||
SELECT id FROM waip_log ORDER BY id DESC LIMIT 50000, 100
|
SELECT id FROM waip_log ORDER BY id DESC LIMIT 50000, 100
|
||||||
)`);
|
)`);
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_log_get_all(callback) {
|
function db_log_get_5000(callback) {
|
||||||
|
// letzten 5000 Log-Eintraege
|
||||||
db.all(`select * from waip_log order by id desc LIMIT 5000`, function (err, rows) {
|
db.all(`select * from waip_log order by id desc LIMIT 5000`, function (err, rows) {
|
||||||
if (err == null && rows) {
|
if (err == null && rows) {
|
||||||
callback && callback(rows);
|
callback && callback(rows);
|
||||||
@ -801,7 +808,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
db_client_delete: db_client_delete,
|
db_client_delete: db_client_delete,
|
||||||
db_client_check_waip_id: db_client_check_waip_id,
|
db_client_check_waip_id: db_client_check_waip_id,
|
||||||
db_log: db_log,
|
db_log: db_log,
|
||||||
db_log_get_all: db_log_get_all,
|
db_log_get_5000: db_log_get_5000,
|
||||||
db_socket_get_by_id: db_socket_get_by_id,
|
db_socket_get_by_id: db_socket_get_by_id,
|
||||||
db_socket_get_all_to_standby: db_socket_get_all_to_standby,
|
db_socket_get_all_to_standby: db_socket_get_all_to_standby,
|
||||||
db_user_set_config: db_user_set_config,
|
db_user_set_config: db_user_set_config,
|
||||||
@ -978,5 +985,14 @@ db_list_wachen: db_list_wachen,
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
db.run(`UPDATE waip_clients
|
||||||
|
SET client_status=\'` + client_status + `\',
|
||||||
|
client_ip=\'` + client_ip + `\',
|
||||||
|
user_name=\'` + user_name + `\',
|
||||||
|
user_permissions=\'` + user_permissions + `\',
|
||||||
|
user_agent=\'` + user_agent + `\',
|
||||||
|
reset_timestamp=(select DATETIME(zeitstempel,\'+\' || ` + reset_timestamp + ` || \' minutes\') from waip_einsaetze where id =\'` + client_status + `\')
|
||||||
|
WHERE socket_id=\'` + socket_id + `\'`);
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
Loading…
Reference in New Issue
Block a user