update Do 11. Jun 16:31:01 CEST 2020
This commit is contained in:
parent
f464787157
commit
6e94ac30eb
@ -124,6 +124,15 @@ module.exports = function (fs, bcrypt, app_cfg) {
|
|||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
||||||
einsatzmittel_typ TEXT,
|
einsatzmittel_typ TEXT,
|
||||||
einsatzmittel_rufname TEXT)`);
|
einsatzmittel_rufname TEXT)`);
|
||||||
|
// Vermittlungs-Tabelle erstellen
|
||||||
|
db.run(`CREATE TABLE waip_vmtl (
|
||||||
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
||||||
|
waip_wachen_id INTEGER,
|
||||||
|
vmtl_typ TEXT,
|
||||||
|
vmlt_account_name TEXT,
|
||||||
|
vmlt_account_group TEXT,
|
||||||
|
bkp_recipient TEXT,
|
||||||
|
FOREIGN KEY(waip_wachen_id) REFERENCES waip_wachen(id))`);
|
||||||
// Twitter-Account-Tabelle erstellen
|
// Twitter-Account-Tabelle erstellen
|
||||||
db.run(`CREATE TABLE waip_tw_accounts (
|
db.run(`CREATE TABLE waip_tw_accounts (
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
||||||
@ -132,15 +141,6 @@ module.exports = function (fs, bcrypt, app_cfg) {
|
|||||||
tw_consumer_secret TEXT,
|
tw_consumer_secret TEXT,
|
||||||
tw_access_token_key TEXT,
|
tw_access_token_key TEXT,
|
||||||
tw_access_token_secret TEXT)`);
|
tw_access_token_secret TEXT)`);
|
||||||
// Vermittlungs-Tabelle erstellen
|
|
||||||
db.run(`CREATE TABLE waip_vmtl (
|
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
|
||||||
waip_wachen_id INTEGER,
|
|
||||||
vmtl_typ TEXT,
|
|
||||||
vmlt_account_name TEXT,
|
|
||||||
vmlt_account_list TEXT,
|
|
||||||
bkp_recipient TEXT,
|
|
||||||
FOREIGN KEY(waip_wachen_id) REFERENCES waip_wachen(id))`);
|
|
||||||
// Log erstellen
|
// Log erstellen
|
||||||
db.run(`CREATE TABLE waip_log (
|
db.run(`CREATE TABLE waip_log (
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
||||||
|
|||||||
@ -144,9 +144,8 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// FIXME: Einsatz nur verteilen, falls dieser nicht bereits so angezeigt wurde (Doppelalarmierung vermeiden)
|
|
||||||
function db_einsatz_check_history(waip_id, einsatzdaten, socket_id, callback) {
|
function db_einsatz_check_history(waip_id, einsatzdaten, socket_id, callback) {
|
||||||
// Prüfen ob Wachalarm bereits in dieser Form an diesen Socket gesendet wurde
|
// Prüfen ob Wachalarm bereits in dieser Form an diesen Socket gesendet wurde (Doppelalarmierung vermeiden)
|
||||||
const custom_namespace = '59cc72ec-4ff5-499d-81e2-ec49c1d01252'
|
const custom_namespace = '59cc72ec-4ff5-499d-81e2-ec49c1d01252'
|
||||||
// Einsatzdaten in kuzre UUID-Strings umwandeln, diese UUIDs werden dann verglichen
|
// Einsatzdaten in kuzre UUID-Strings umwandeln, diese UUIDs werden dann verglichen
|
||||||
var uuid_em_alarmiert = uuidv5(JSON.stringify(einsatzdaten.em_alarmiert), custom_namespace);
|
var uuid_em_alarmiert = uuidv5(JSON.stringify(einsatzdaten.em_alarmiert), custom_namespace);
|
||||||
@ -154,26 +153,36 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
var uuid_em_weitere = uuidv5(JSON.stringify(einsatzdaten.em_weitere), custom_namespace);
|
var uuid_em_weitere = uuidv5(JSON.stringify(einsatzdaten.em_weitere), custom_namespace);
|
||||||
delete einsatzdaten.em_weitere;
|
delete einsatzdaten.em_weitere;
|
||||||
var uuid_einsatzdaten = uuidv5(JSON.stringify(einsatzdaten), custom_namespace);
|
var uuid_einsatzdaten = uuidv5(JSON.stringify(einsatzdaten), custom_namespace);
|
||||||
|
// Abfrage ob zu Socket und Waip-ID bereits History-Daten hinterlegt sind
|
||||||
// wenn keine row, dann insert
|
|
||||||
|
|
||||||
db.get('select * from waip_history where waip_id like ? and socket_id like ?', [waip_id, socket_id], function (err, row) {
|
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) {
|
if (err == null && row) {
|
||||||
callback && callback(row);
|
// 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
|
||||||
|
callback && callback(false);
|
||||||
} else {
|
} else {
|
||||||
callback && callback(null);
|
// relevante Daten haben sich nicht geändert
|
||||||
|
callback && callback(true);
|
||||||
|
};
|
||||||
|
// History mit aktuellen Daten aktualsieren
|
||||||
|
db.run(`UPDATE waip_history
|
||||||
|
SET
|
||||||
|
uuid_einsatz_grunddaten=\'` + uuid_einsatzdaten + `\',
|
||||||
|
uuid_em_alarmiert=\'` + uuid_em_alarmiert + `\',
|
||||||
|
uuid_em_weitere=\'` + uuid_em_weitere + `\'
|
||||||
|
WHERE waip_id like \'` + waip_id + `\' and socket_id like \'` + socket_id + `\'`);
|
||||||
|
} else {
|
||||||
|
// wenn keine History-Daten hinterlegt sind, diese speichern
|
||||||
|
db.run(`INSERT INTO waip_history (waip_id, socket_id, uuid_einsatz_grunddaten, uuid_em_alarmiert, uuid_em_weitere)
|
||||||
|
VALUES (
|
||||||
|
\'` + waip_id + `\',
|
||||||
|
\'` + socket_id + `\',
|
||||||
|
\'` + uuid_einsatzdaten + `\',
|
||||||
|
\'` + uuid_em_alarmiert + `\',
|
||||||
|
\'` + uuid_em_weitere + `\')`);
|
||||||
|
// callback History = false
|
||||||
|
callback && callback(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
db.run(`CREATE TABLE waip_history (
|
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
|
||||||
waip_id INTEGER NOT NULL,
|
|
||||||
socket_id TEXT,
|
|
||||||
uuid_einsatz_grunddaten TEXT,
|
|
||||||
uuid_em_alarmiert TEXT,
|
|
||||||
uuid_em_weitere TEXT,`);
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -332,9 +341,11 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
|
|
||||||
function db_einsatz_loeschen(id) {
|
function db_einsatz_loeschen(id) {
|
||||||
// Einsatz loeschen
|
// Einsatz loeschen
|
||||||
// TODO alle Rüueckmeldungen zu dem Einsatz aus db löschen
|
|
||||||
// TODO alle Historys zu dem Einsatz aus db löschen
|
|
||||||
db.run(`DELETE FROM waip_einsaetze WHERE id = ?`, [id]);
|
db.run(`DELETE FROM waip_einsaetze WHERE id = ?`, [id]);
|
||||||
|
// History loeschen
|
||||||
|
db.run(`DELETE FROM waip_history WHERE waip_id = ?`, [id]);
|
||||||
|
// Rueckmeldungen löschen
|
||||||
|
db.run(`DELETE FROM waip_response WHERE waip_uuid = (select uuid from waip_einsaetze where id = ?)`, [id]);
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_wache_get_all(callback) {
|
function db_wache_get_all(callback) {
|
||||||
@ -812,11 +823,11 @@ module.exports = function (db, uuidv4, app_cfg) {
|
|||||||
where v.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 v.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, liste) {
|
where em.waip_einsaetze_ID = ?)`, [waip_id], function (err, liste) {
|
||||||
if (err == null && liste) {
|
if (err == null && liste) {
|
||||||
|
// Falls Liste für Wache hinterlegt, je nach Typ de
|
||||||
// FIXME eee
|
// FIXME eee
|
||||||
v.waip_wachen_id, v.vmlt_typ, v.vmtl_account_name, v.vmtl_account_list
|
v.waip_wachen_id, v.vmlt_typ, v.vmtl_account_name, v.vmtl_account_list
|
||||||
|
|
||||||
// Falls Liste für Wache hinterlegt, je nach Typ de
|
|
||||||
// Falls Account und Liste hinterlegt sind, die Account-Zugangsdaten, Einsatz-UUID, Einsatzart und Wachenname auslesen
|
// Falls Account und Liste hinterlegt sind, 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_tw_accounts tw, waip_einsaetze we, waip_wachen wa
|
from waip_tw_accounts tw, waip_einsaetze we, waip_wachen wa
|
||||||
|
|||||||
@ -85,7 +85,7 @@ module.exports = function (io, sql, brk, async, app_cfg, api, proof) {
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// Log das Einsatz explizit nicht an Client gesendet wurde
|
// Log das Einsatz explizit nicht an Client gesendet wurde
|
||||||
sql.db_log('WAIP', 'Einsatz ' + waip_id + ' fuer Wache ' + wachen_nr + ' nicht an Socket ' + socket.id + ' gesendet, da bereits angezeigt.');
|
sql.db_log('WAIP', 'Einsatz ' + waip_id + ' fuer Wache ' + wachen_nr + ' nicht an Socket ' + socket.id + ' gesendet, da bereits angezeigt (Doppelalarmierung).');
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user