Fehlerbehebungen
This commit is contained in:
parent
f162d70a4d
commit
47e5f6927f
@ -17,17 +17,29 @@ module.exports = function(db, async, app_cfg) {
|
|||||||
reset_counter FROM waip_configs WHERE user_id = ` + user_id + `)`;
|
reset_counter FROM waip_configs WHERE user_id = ` + user_id + `)`;
|
||||||
};
|
};
|
||||||
// Einsätze für die gewählte Wachen_ID ermittel, und Ablaufzeit beachten
|
// Einsätze für die gewählte Wachen_ID ermittel, und Ablaufzeit beachten
|
||||||
|
console.log(`SELECT waip_einsaetze_ID FROM
|
||||||
|
(
|
||||||
|
SELECT em.waip_einsaetze_ID, we.zeitstempel FROM waip_einsatzmittel em
|
||||||
|
LEFT JOIN waip_wachen wa ON wa.id = em.waip_wachen_id
|
||||||
|
LEFT JOIN waip_einsaetze we ON we.id = em.waip_einsaetze_ID
|
||||||
|
WHERE wa.nr_wache LIKE \'` + wachen_id + `\'||\'%\'
|
||||||
|
GROUP BY em.waip_einsaetze_id
|
||||||
|
ORDER BY em.waip_einsaetze_id DESC
|
||||||
|
)
|
||||||
|
WHERE DATETIME(zeitstempel, \'+\' || ` + select_reset_counter + ` || \' minutes\')
|
||||||
|
> DATETIME(\'now\')`);
|
||||||
|
|
||||||
db.all(`SELECT waip_einsaetze_ID FROM
|
db.all(`SELECT waip_einsaetze_ID FROM
|
||||||
(
|
(
|
||||||
SELECT em.waip_einsaetze_id, we.zeitstempel FROM waip_einsatzmittel em
|
SELECT em.waip_einsaetze_ID, we.zeitstempel 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
|
||||||
LEFT JOIN waip_einsaetze we ON we.id = em.waip_einsaetze_ID
|
LEFT JOIN waip_einsaetze we ON we.id = em.waip_einsaetze_ID
|
||||||
WHERE wa.nr_wache LIKE ?||\'%\'
|
WHERE wa.nr_wache LIKE ?||\'%\'
|
||||||
GROUP BY em.waip_einsaetze_id
|
GROUP BY em.waip_einsaetze_id
|
||||||
ORDER BY em.waip_einsaetze_id DESC
|
ORDER BY em.waip_einsaetze_id DESC
|
||||||
)
|
)
|
||||||
WHERE DATETIME(zeitstempel, \'+\' || ? || \' minutes\')
|
WHERE DATETIME(zeitstempel, \'+\' || ` + select_reset_counter + ` || \' minutes\')
|
||||||
> DATETIME(\'now\')`, [wachen_id, select_reset_counter],
|
> DATETIME(\'now\')`, [wachen_id],
|
||||||
function(err, rows) {
|
function(err, rows) {
|
||||||
if (err == null && rows.length > 0) {
|
if (err == null && rows.length > 0) {
|
||||||
//callback && callback(row.waip_einsaetze_ID); ALT
|
//callback && callback(row.waip_einsaetze_ID); ALT
|
||||||
@ -261,7 +273,7 @@ module.exports = function(db, async, app_cfg) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_get_einsatzdaten(waip_id, wachen_nr, callback) {
|
function db_get_einsatzdaten(waip_id, wachen_nr, user_id, callback) {
|
||||||
// vorsichtshalber nochmals id pruefen
|
// vorsichtshalber nochmals id pruefen
|
||||||
if (isNaN(waip_id) || isNaN(wachen_nr)) {
|
if (isNaN(waip_id) || isNaN(wachen_nr)) {
|
||||||
callback && callback(null);
|
callback && callback(null);
|
||||||
@ -274,24 +286,34 @@ module.exports = function(db, async, app_cfg) {
|
|||||||
if (parseInt(wachen_nr) == 0) {
|
if (parseInt(wachen_nr) == 0) {
|
||||||
wachen_nr = '%'
|
wachen_nr = '%'
|
||||||
};
|
};
|
||||||
|
if (isNaN(user_id)) {
|
||||||
|
user_id = app_cfg.global.default_time_for_standby;
|
||||||
|
};
|
||||||
// je nach laenge andere SQL ausfuehren
|
// je nach laenge andere SQL ausfuehren
|
||||||
db.get('SELECT e.EINSATZART, e.STICHWORT, e.SONDERSIGNAL, e.OBJEKT, e.ORT,e.ORTSTEIL, e.STRASSE, e.BESONDERHEITEN, e.wgs84_x, e.wgs84_y, em1.EM_ALARMIERT, em0.EM_WEITERE ' +
|
db.get(`SELECT
|
||||||
'FROM WAIP_EINSAETZE e ' +
|
DATETIME(e.zeitstempel, 'localtime') zeitstempel,
|
||||||
'LEFT JOIN (' +
|
DATETIME(e.zeitstempel, '+' || (
|
||||||
'SELECT waip_einsaetze_id, \'[\' || group_concat(\'{\"name\": \"\' || einsatzmittel || \'\", \"zeit\": \"\' || zeitstempel || \'\"}\') || \']\' AS em_alarmiert ' +
|
SELECT COALESCE(MAX(reset_counter), ?) reset_counter FROM waip_configs WHERE user_id = ?
|
||||||
'FROM WAIP_EINSATZMITTEL WHERE waip_einsaetze_id = ? and waip_wachen_id in ( ' +
|
) || ' minutes', 'localtime') ablaufzeit,
|
||||||
'select id from waip_wachen where nr_wache like ?||\'%\') ' +
|
e.EINSATZART, e.STICHWORT, e.SONDERSIGNAL, e.OBJEKT, e.ORT,e.ORTSTEIL, e.STRASSE,
|
||||||
'GROUP BY waip_einsaetze_id ' +
|
e.BESONDERHEITEN, e.wgs84_x, e.wgs84_y, em1.EM_ALARMIERT, em0.EM_WEITERE
|
||||||
') em1 ON em1.waip_einsaetze_id = e.ID ' +
|
FROM WAIP_EINSAETZE e
|
||||||
'LEFT JOIN (' +
|
LEFT JOIN (
|
||||||
'SELECT waip_einsaetze_id, \'[\' || group_concat(\'{\"name\": \"\' || einsatzmittel || \'\", \"zeit\": \"\' || zeitstempel || \'\"}\') || \']\' AS em_weitere ' +
|
SELECT waip_einsaetze_id, \'[\' || group_concat(\'{\"name\": \"\' || einsatzmittel || \'\", \"zeit\": \"\' || zeitstempel || \'\"}\') || \']\' AS em_alarmiert
|
||||||
'FROM waip_einsatzmittel WHERE waip_einsaetze_id = ? and waip_wachen_id not in ( ' +
|
FROM WAIP_EINSATZMITTEL WHERE waip_einsaetze_id = ? and waip_wachen_id in (
|
||||||
'select id from waip_wachen where nr_wache like ?||\'%\') ' +
|
select id from waip_wachen where nr_wache like ?||\'%\')
|
||||||
'GROUP BY waip_einsaetze_id ' +
|
GROUP BY waip_einsaetze_id
|
||||||
') em0 ON em0.waip_einsaetze_id = e.ID ' +
|
) em1 ON em1.waip_einsaetze_id = e.ID
|
||||||
'WHERE e.id LIKE ? ' +
|
LEFT JOIN (
|
||||||
'ORDER BY e.id DESC LIMIT 1', [waip_id, wachen_nr, waip_id, wachen_nr, waip_id],
|
SELECT waip_einsaetze_id, \'[\' || group_concat(\'{\"name\": \"\' || einsatzmittel || \'\", \"zeit\": \"\' || zeitstempel || \'\"}\') || \']\' AS em_weitere
|
||||||
function(err, row) {
|
FROM waip_einsatzmittel WHERE waip_einsaetze_id = ? and waip_wachen_id not in (
|
||||||
|
select id from waip_wachen where nr_wache like ?||\'%\')
|
||||||
|
GROUP BY waip_einsaetze_id
|
||||||
|
) em0 ON em0.waip_einsaetze_id = e.ID
|
||||||
|
WHERE e.id LIKE ?
|
||||||
|
ORDER BY e.id DESC LIMIT 1`,
|
||||||
|
[app_cfg.global.default_time_for_standby, user_id, waip_id, wachen_nr, waip_id, wachen_nr, waip_id], function(err, row) {
|
||||||
|
console.log(row);
|
||||||
if (err == null && row) {
|
if (err == null && row) {
|
||||||
callback && callback(row);
|
callback && callback(row);
|
||||||
} else {
|
} else {
|
||||||
@ -354,7 +376,7 @@ module.exports = function(db, async, app_cfg) {
|
|||||||
var user_agent = socket.request.headers['user-agent'];
|
var user_agent = socket.request.headers['user-agent'];
|
||||||
var client_ip = socket.request.connection.remoteAddress;
|
var client_ip = socket.request.connection.remoteAddress;
|
||||||
var reset_timestamp = socket.request.user.reset_counter;
|
var reset_timestamp = socket.request.user.reset_counter;
|
||||||
if (isNaN(client_status)) {
|
if (isNaN(client_status) || client_status == null) {
|
||||||
client_status = 'Standby';
|
client_status = 'Standby';
|
||||||
};
|
};
|
||||||
if (typeof user_name === "undefined") {
|
if (typeof user_name === "undefined") {
|
||||||
@ -366,15 +388,14 @@ module.exports = function(db, async, app_cfg) {
|
|||||||
if (typeof reset_timestamp === "undefined") {
|
if (typeof reset_timestamp === "undefined") {
|
||||||
reset_timestamp = app_cfg.global.default_time_for_standby;
|
reset_timestamp = app_cfg.global.default_time_for_standby;
|
||||||
};
|
};
|
||||||
db.run('UPDATE waip_clients ' +
|
db.run(`UPDATE waip_clients
|
||||||
'SET client_status=\'' + client_status + '\', ' +
|
SET client_status=\'` + client_status + `\',
|
||||||
'client_ip=\'' + client_ip + '\', ' +
|
client_ip=\'` + client_ip + `\',
|
||||||
//'room_name=\'' + room_name + '\', ' +
|
user_name=\'` + user_name + `\',
|
||||||
'user_name=\'' + user_name + '\', ' +
|
user_permissions=\'` + user_permissions + `\',
|
||||||
'user_permissions=\'' + user_permissions + '\', ' +
|
user_agent=\'` + user_agent + `\',
|
||||||
'user_agent=\'' + user_agent + '\', ' +
|
reset_timestamp=(select DATETIME(zeitstempel,\'+\' || ` + reset_timestamp + ` || \' minutes\') from waip_einsaetze where id =\'` + client_status + `\')
|
||||||
'reset_timestamp=(select DATETIME(zeitstempel,\'+\' || ' + reset_timestamp + ' || \' minutes\') from waip_einsaetze where id = ' + client_status + ') ' +
|
WHERE socket_id=\'` + socket_id + `\'`);
|
||||||
'WHERE socket_id=\'' + socket_id + '\'');
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function db_check_client_waipid(socketId, waip_id, callback) {
|
function db_check_client_waipid(socketId, waip_id, callback) {
|
||||||
|
|||||||
@ -23,6 +23,7 @@ module.exports = function(io, sql, async, app_cfg) {
|
|||||||
// prüfen ob für diese Wache ein Einsatz vorhanden ist
|
// prüfen ob für diese Wache ein Einsatz vorhanden ist
|
||||||
sql.db_einsatz_vorhanden(wachen_id, socket.request.user.id, function(result_einsatz) {
|
sql.db_einsatz_vorhanden(wachen_id, socket.request.user.id, function(result_einsatz) {
|
||||||
if (result_einsatz) {
|
if (result_einsatz) {
|
||||||
|
console.log(result_einsatz[0].waip_einsaetze_ID);
|
||||||
sql.db_log('WAIP', 'Einsatz ' + result_einsatz[0].waip_einsaetze_ID + ' fuer Wache ' + wachen_id + ' vorhanden');
|
sql.db_log('WAIP', 'Einsatz ' + result_einsatz[0].waip_einsaetze_ID + ' fuer Wache ' + wachen_id + ' vorhanden');
|
||||||
//letzten Einsatz verteilen
|
//letzten Einsatz verteilen
|
||||||
einsatz_verteilen(result_einsatz[0].waip_einsaetze_ID, socket.id, wachen_id);
|
einsatz_verteilen(result_einsatz[0].waip_einsaetze_ID, socket.id, wachen_id);
|
||||||
@ -72,7 +73,7 @@ module.exports = function(io, sql, async, app_cfg) {
|
|||||||
// Einsatz an Client verteilen
|
// Einsatz an Client verteilen
|
||||||
function einsatz_verteilen(waip_id, socket_id, wachen_nr) {
|
function einsatz_verteilen(waip_id, socket_id, wachen_nr) {
|
||||||
// Einsatzdaten für eine Wache aus Datenbank laden
|
// Einsatzdaten für eine Wache aus Datenbank laden
|
||||||
sql.db_get_einsatzdaten(waip_id, wachen_nr, function(einsatzdaten) {
|
sql.db_get_einsatzdaten(waip_id, wachen_nr, io.sockets.sockets[socket_id].request.user.id, function(einsatzdaten) {
|
||||||
if (einsatzdaten) {
|
if (einsatzdaten) {
|
||||||
// Berechtigung ueberpruefen
|
// Berechtigung ueberpruefen
|
||||||
var permissions = io.sockets.sockets[socket_id].request.user.permissions;
|
var permissions = io.sockets.sockets[socket_id].request.user.permissions;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user