Update
This commit is contained in:
parent
45155ce583
commit
2342da9af3
0
misc/hexagon_brb_2km.geojson
Executable file → Normal file
0
misc/hexagon_brb_2km.geojson
Executable file → Normal file
0
public/css/vis-timeline.css
Executable file → Normal file
0
public/css/vis-timeline.css
Executable file → Normal file
0
public/js/client_dbrd.js
Executable file → Normal file
0
public/js/client_dbrd.js
Executable file → Normal file
0
public/js/client_rmld.js
Executable file → Normal file
0
public/js/client_rmld.js
Executable file → Normal file
0
public/js/vis-timeline.min.js
vendored
Executable file → Normal file
0
public/js/vis-timeline.min.js
vendored
Executable file → Normal file
0
server/api.js
Executable file → Normal file
0
server/api.js
Executable file → Normal file
0
server/broker.js
Executable file → Normal file
0
server/broker.js
Executable file → Normal file
0
server/routing.js
Executable file → Normal file
0
server/routing.js
Executable file → Normal file
0
server/socket.js
Executable file → Normal file
0
server/socket.js
Executable file → Normal file
74
server/sql_qry.js
Executable file → Normal file
74
server/sql_qry.js
Executable file → Normal file
@ -484,7 +484,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_log_get_5000(callback) {
|
function db_log_get_5000(callback) {
|
||||||
// letzten 5000 Log-Eintraege
|
// letzten 5000 Log-Eintraege ermitteln
|
||||||
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);
|
||||||
@ -495,6 +495,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_socket_get_by_id(content, callback) {
|
function db_socket_get_by_id(content, callback) {
|
||||||
|
// Client-Eintrag per Socket-ID finden
|
||||||
db.get('select * from waip_clients where socket_id = ? ', [content], function (err, row) {
|
db.get('select * from waip_clients where socket_id = ? ', [content], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
callback && callback(row);
|
callback && callback(row);
|
||||||
@ -505,6 +506,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_socket_get_all_to_standby(callback) {
|
function db_socket_get_all_to_standby(callback) {
|
||||||
|
// alle Sockets/Clients finden, die auf Standby gesetzt werden koennen
|
||||||
db.all(`select socket_id from waip_clients
|
db.all(`select socket_id from waip_clients
|
||||||
where reset_timestamp < DATETIME(\'now\')`, function (err, rows) {
|
where reset_timestamp < DATETIME(\'now\')`, function (err, rows) {
|
||||||
if (err == null && rows) {
|
if (err == null && rows) {
|
||||||
@ -515,11 +517,12 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_user_set_config(user_id, reset_counter, callback) {
|
function db_user_set_config(user_id, reset_counter, callback) {
|
||||||
// reset_counter validieren, ansonsten default setzen
|
// reset_counter validieren, ansonsten default setzen
|
||||||
if (!(reset_counter >= 1 && reset_counter <= app_cfg.global.time_to_delete_waip)) {
|
if (!(reset_counter >= 1 && reset_counter <= app_cfg.global.time_to_delete_waip)) {
|
||||||
reset_counter = app_cfg.global.default_time_for_standby;
|
reset_counter = app_cfg.global.default_time_for_standby;
|
||||||
};
|
};
|
||||||
|
// Benutzer-Einstellungen speichern
|
||||||
db.run((`INSERT OR REPLACE INTO waip_user_config
|
db.run((`INSERT OR REPLACE INTO waip_user_config
|
||||||
(id, user_id, reset_counter)
|
(id, user_id, reset_counter)
|
||||||
VALUES (
|
VALUES (
|
||||||
@ -535,6 +538,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_user_get_config(user_id, callback) {
|
function db_user_get_config(user_id, callback) {
|
||||||
|
// Benutzer-Einstellungen laden
|
||||||
db.get(`SELECT reset_counter FROM waip_user_config
|
db.get(`SELECT reset_counter FROM waip_user_config
|
||||||
WHERE user_id = ?`, [user_id], function (err, row) {
|
WHERE user_id = ?`, [user_id], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
@ -546,6 +550,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_user_get_all(callback) {
|
function db_user_get_all(callback) {
|
||||||
|
// alle Benutzer laden
|
||||||
db.all('SELECT id, user, permissions, ip_address FROM waip_users', function (err, rows) {
|
db.all('SELECT id, user, permissions, ip_address FROM waip_users', function (err, rows) {
|
||||||
if (err == null && rows) {
|
if (err == null && rows) {
|
||||||
callback && callback(rows);
|
callback && callback(rows);
|
||||||
@ -556,17 +561,19 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_user_check_permission(user_obj, waip_id, callback) {
|
function db_user_check_permission(user_obj, waip_id, callback) {
|
||||||
|
// Benutzer-Berechtigung pruefen
|
||||||
if (user_obj && user_obj.permissions) {
|
if (user_obj && user_obj.permissions) {
|
||||||
|
// Admin?
|
||||||
if (user_obj.permissions == 'admin') {
|
if (user_obj.permissions == 'admin') {
|
||||||
callback && callback(true);
|
callback && callback(true);
|
||||||
} else {
|
} else {
|
||||||
//permissions -> 52,62,6690,....
|
// Berechtigungen -> 52,62,6690,....
|
||||||
db.get(`select group_concat(DISTINCT wa.nr_wache) wache from waip_einsatzmittel em
|
db.get(`select group_concat(DISTINCT wa.nr_wache) wache from waip_einsatzmittel em
|
||||||
left join waip_wachen wa on wa.id = em.waip_wachen_ID
|
left join waip_wachen wa on wa.id = em.waip_wachen_ID
|
||||||
where waip_einsaetze_ID = ?`, [waip_id], function (err, row) {
|
where waip_einsaetze_ID = ?`, [waip_id], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
|
// Berechtigung fuer diesen Einsatz (beteilgte Wache) gegeben?
|
||||||
var permission_arr = user_obj.permissions.split(",");
|
var permission_arr = user_obj.permissions.split(",");
|
||||||
var wachen_arr = row.wache.split(",");
|
|
||||||
const found = permission_arr.some(r => row.wache.search(RegExp(',' + r + '|\\b' + r)) >= 0);
|
const found = permission_arr.some(r => row.wache.search(RegExp(',' + r + '|\\b' + r)) >= 0);
|
||||||
if (found) {
|
if (found) {
|
||||||
callback && callback(true);
|
callback && callback(true);
|
||||||
@ -584,8 +591,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_rmld_save(responseobj, callback) {
|
function db_rmld_save(responseobj, callback) {
|
||||||
|
// Rueckmeldung speichern
|
||||||
// Rueckmeldung aufarbeiten
|
|
||||||
var reuckmeldung = {};
|
var reuckmeldung = {};
|
||||||
reuckmeldung.rmld_uuid = responseobj.rmld_uuid;
|
reuckmeldung.rmld_uuid = responseobj.rmld_uuid;
|
||||||
reuckmeldung.waip_uuid = responseobj.waip_uuid;
|
reuckmeldung.waip_uuid = responseobj.waip_uuid;
|
||||||
@ -623,21 +629,18 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
var resp_time = new Date();
|
var resp_time = new Date();
|
||||||
resp_time.setMinutes(resp_time.getMinutes() + parseInt(responseobj.eintreffzeit));
|
resp_time.setMinutes(resp_time.getMinutes() + parseInt(responseobj.eintreffzeit));
|
||||||
reuckmeldung.arrival_time = resp_time;
|
reuckmeldung.arrival_time = resp_time;
|
||||||
// Wache zuordnen
|
// Wache gesetzt?
|
||||||
if (!isNaN(responseobj.wachenauswahl)) {
|
if (!isNaN(responseobj.wachenauswahl)) {
|
||||||
reuckmeldung.wache_id = responseobj.wachenauswahl;
|
reuckmeldung.wache_id = responseobj.wachenauswahl;
|
||||||
} else {
|
} else {
|
||||||
reuckmeldung.wache_id = null;
|
reuckmeldung.wache_id = null;
|
||||||
};
|
};
|
||||||
|
// Rueckmeldung der Wache zuordnen
|
||||||
console.log('reuckmeldung: ' + JSON.stringify(reuckmeldung));
|
|
||||||
console.log('responseobj: ' + JSON.stringify(responseobj));
|
|
||||||
|
|
||||||
db.get(`select name_wache, nr_wache from waip_wachen where id = ?;`, [reuckmeldung.wache_id], function (err, row) {
|
db.get(`select name_wache, nr_wache from waip_wachen where id = ?;`, [reuckmeldung.wache_id], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
reuckmeldung.wache_name = row.name_wache;
|
reuckmeldung.wache_name = row.name_wache;
|
||||||
reuckmeldung.wache_nr = row.nr_wache;
|
reuckmeldung.wache_nr = row.nr_wache;
|
||||||
|
// Rueckmeldung in DB speichern
|
||||||
db.run((`insert or replace into waip_response (id, waip_uuid, rmld_uuid, einsatzkraft, maschinist, fuehrungskraft, agt, set_time, arrival_time, wache_id, wache_nr, wache_name)
|
db.run((`insert or replace into waip_response (id, waip_uuid, rmld_uuid, einsatzkraft, maschinist, fuehrungskraft, agt, set_time, arrival_time, wache_id, wache_nr, wache_name)
|
||||||
values
|
values
|
||||||
((select id from waip_response where rmld_uuid = \'` + reuckmeldung.rmld_uuid + `\'),
|
((select id from waip_response where rmld_uuid = \'` + reuckmeldung.rmld_uuid + `\'),
|
||||||
@ -652,29 +655,23 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
\'` + reuckmeldung.wache_id + `\',
|
\'` + reuckmeldung.wache_id + `\',
|
||||||
\'` + reuckmeldung.wache_nr + `\',
|
\'` + reuckmeldung.wache_nr + `\',
|
||||||
\'` + reuckmeldung.wache_name + `\')`), function (err) {
|
\'` + reuckmeldung.wache_name + `\')`), function (err) {
|
||||||
//console.log(err);
|
|
||||||
if (err == null) {
|
if (err == null) {
|
||||||
// TODO: Rueckmeldung-UUID zurückgeben
|
// Rueckmeldung-UUID zurückgeben
|
||||||
callback && callback('OK');
|
callback && callback(reuckmeldung.rmld_uuid);
|
||||||
} else {
|
} else {
|
||||||
callback && callback(null);
|
callback && callback(null);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
callback && callback(null);
|
callback && callback(null);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_rmld_get_fuer_wache(waip_einsaetze_id, wachen_nr, callback) {
|
function db_rmld_get_fuer_wache(waip_einsaetze_id, wachen_nr, callback) {
|
||||||
|
// Rueckmeldungen fuer eine Wache auslesen
|
||||||
db.all(`SELECT * FROM waip_response WHERE waip_uuid = (select uuid from waip_einsaetze where id = ?)`, [waip_einsaetze_id], function (err, rows) {
|
db.all(`SELECT * FROM waip_response WHERE waip_uuid = (select uuid from waip_einsaetze where id = ?)`, [waip_einsaetze_id], function (err, rows) {
|
||||||
if (err == null && rows) {
|
if (err == null && rows) {
|
||||||
|
|
||||||
// temporaere Variablen
|
// temporaere Variablen
|
||||||
var itemsProcessed = 0;
|
var itemsProcessed = 0;
|
||||||
var all_responses = [];
|
var all_responses = [];
|
||||||
@ -682,13 +679,9 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
function loop_done(all_responses) {
|
function loop_done(all_responses) {
|
||||||
callback && callback(all_responses);
|
callback && callback(all_responses);
|
||||||
};
|
};
|
||||||
// Zeilen einzelnen durchgehen
|
// summiertes JSON-Rueckmeldeobjekt für die angeforderte Wachennummer erstellen
|
||||||
console.log('rows: ' + JSON.stringify(rows));
|
rows.forEach(function (item, index, array) {
|
||||||
rows.forEach(function (item, index, array) {
|
|
||||||
// summiertes JSON-Rueckmeldeobjekt für die angeforderte Wachennummer erstellen
|
|
||||||
var tmp = JSON.stringify(item.wache_nr);
|
var tmp = JSON.stringify(item.wache_nr);
|
||||||
|
|
||||||
|
|
||||||
if (tmp.startsWith(wachen_nr) || wachen_nr == 0) {
|
if (tmp.startsWith(wachen_nr) || wachen_nr == 0) {
|
||||||
if (item.einsatzkraft == 1) {
|
if (item.einsatzkraft == 1) {
|
||||||
item.einsatzkraft = true;
|
item.einsatzkraft = true;
|
||||||
@ -710,16 +703,12 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
} else {
|
} else {
|
||||||
item.agt = false;
|
item.agt = false;
|
||||||
};
|
};
|
||||||
// response_wache aufsummieren
|
// Rueckmeldeobjekt aufsummieren
|
||||||
all_responses.push(item)
|
all_responses.push(item)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Schleife ggf. beenden
|
// Schleife ggf. beenden
|
||||||
itemsProcessed++;
|
itemsProcessed++;
|
||||||
if (itemsProcessed === array.length) {
|
if (itemsProcessed === array.length) {
|
||||||
console.log('get_response_wache: ' + JSON.stringify(all_responses));
|
|
||||||
loop_done(all_responses);
|
loop_done(all_responses);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@ -730,9 +719,9 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_rmld_get_by_rmlduuid(rmld_uuid, callback) {
|
function db_rmld_get_by_rmlduuid(rmld_uuid, callback) {
|
||||||
|
// einzelne Rueckmeldung fuer eine Rueckmelde-UUID
|
||||||
db.all(`SELECT * FROM waip_response WHERE rmld_uuid like ?`, [rmld_uuid], function (err, row) {
|
db.all(`SELECT * FROM waip_response WHERE rmld_uuid like ?`, [rmld_uuid], function (err, row) {
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
console.log('single_rmld_uuid ' + row);
|
|
||||||
if (row.einsatzkraft == 1) {
|
if (row.einsatzkraft == 1) {
|
||||||
row.einsatzkraft = true;
|
row.einsatzkraft = true;
|
||||||
} else {
|
} else {
|
||||||
@ -753,9 +742,7 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
} else {
|
} else {
|
||||||
row.agt = false;
|
row.agt = false;
|
||||||
};
|
};
|
||||||
// response_wache aufsummieren
|
|
||||||
callback && callback(row);
|
callback && callback(row);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
callback && callback(null);
|
callback && callback(null);
|
||||||
};
|
};
|
||||||
@ -763,22 +750,19 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function db_vmtl_get_list(waip_id, callback) {
|
function db_vmtl_get_list(waip_id, callback) {
|
||||||
// Pruefen ob fuer eine Wache in diesem Einsatz ein Twitter-Account mit Liste hinterlegt ist
|
// Pruefen ob fuer eine Wache im Einsatz ein Verteilerliste hinterlegt ist
|
||||||
db.get(`select t.waip_wachen_id, t.tw_account_id, t.tw_account_list from waip_vmlt_tw_wachen t
|
db.get(`select t.waip_wachen_id, t.tw_account_id, t.tw_account_list from waip_vmlt_tw_wachen t
|
||||||
where waip_wachen_id = (select distinct w.id wachen_id from waip_wachen w left join waip_einsatzmittel em on em.wachenname = w.name_wache
|
where waip_wachen_id = (select distinct w.id wachen_id from waip_wachen w left join waip_einsatzmittel em on em.wachenname = w.name_wache
|
||||||
where em.waip_einsaetze_ID = ?)`, [waip_id], function (err, twitter_liste) {
|
where em.waip_einsaetze_ID = ?)`, [waip_id], function (err, twitter_liste) {
|
||||||
if (err == null && twitter_liste) {
|
if (err == null && twitter_liste) {
|
||||||
console.log(twitter_liste);
|
// Falls Account und Liste hinterlegt sind, die Account-Zugangsdaten, Einsatz-UUID, Einsatzart und Wachenname auslesen
|
||||||
// Falls Account und Liste hinterlegt ist, die Account-Zugangsdaten, Einsatz-UUID, Einsatzart und Wachenname auslesen
|
|
||||||
db.get(`select tw.tw_screen_name, tw_consumer_key, tw.tw_consumer_secret, tw.tw_access_token_key, tw.tw_access_token_secret, we.uuid, we.einsatzart, wa.name_wache
|
db.get(`select tw.tw_screen_name, tw_consumer_key, tw.tw_consumer_secret, tw.tw_access_token_key, tw.tw_access_token_secret, we.uuid, we.einsatzart, wa.name_wache
|
||||||
from waip_twitter_accounts tw, waip_einsaetze we, waip_wachen wa
|
from waip_twitter_accounts tw, waip_einsaetze we, waip_wachen wa
|
||||||
where tw.id = ? AND we.id = ? AND wa.id = ?`, [twitter_liste.tw_account_id, waip_id, twitter_liste.waip_wachen_id], function (err, twitter_daten) {
|
where tw.id = ? AND we.id = ? AND wa.id = ?`, [twitter_liste.tw_account_id, waip_id, twitter_liste.waip_wachen_id], function (err, vmtl_daten) {
|
||||||
console.log(twitter_daten);
|
if (err == null && vmtl_daten) {
|
||||||
console.log(err);
|
// Listen-Name zur Daten hinzufuegen
|
||||||
if (err == null && twitter_daten) {
|
vmtl_daten.list = twitter_liste.tw_account_list;
|
||||||
// liste zu SQL-Select hinzufuegen
|
callback && callback(vmtl_daten);
|
||||||
twitter_daten.list = twitter_liste.tw_account_list;
|
|
||||||
callback && callback(twitter_daten);
|
|
||||||
} else {
|
} else {
|
||||||
callback && callback(null);
|
callback && callback(null);
|
||||||
};
|
};
|
||||||
|
|||||||
0
server/waip.js
Executable file → Normal file
0
server/waip.js
Executable file → Normal file
0
views/dbrd.pug
Executable file → Normal file
0
views/dbrd.pug
Executable file → Normal file
0
views/imprint.pug
Executable file → Normal file
0
views/imprint.pug
Executable file → Normal file
0
views/includes/master_dashboard.pug
Executable file → Normal file
0
views/includes/master_dashboard.pug
Executable file → Normal file
0
views/includes/master_rueckmeldung.pug
Executable file → Normal file
0
views/includes/master_rueckmeldung.pug
Executable file → Normal file
0
views/overviews/overview_dbrd.pug
Executable file → Normal file
0
views/overviews/overview_dbrd.pug
Executable file → Normal file
0
views/overviews/overview_waip.pug
Executable file → Normal file
0
views/overviews/overview_waip.pug
Executable file → Normal file
0
views/privacy.pug
Executable file → Normal file
0
views/privacy.pug
Executable file → Normal file
0
views/rmld.pug
Executable file → Normal file
0
views/rmld.pug
Executable file → Normal file
0
views/tests/test_dashboard.pug
Executable file → Normal file
0
views/tests/test_dashboard.pug
Executable file → Normal file
0
views/tests/test_rueckmeldung.pug
Executable file → Normal file
0
views/tests/test_rueckmeldung.pug
Executable file → Normal file
Loading…
Reference in New Issue
Block a user