update Mo 9. Mär 23:01:01 CET 2020

This commit is contained in:
Robert Richter 2020-03-09 23:01:01 +01:00
parent 32b25095ff
commit fa1291ac4d
6 changed files with 1668 additions and 8 deletions

1646
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,7 @@
"start": "node server.js"
},
"dependencies": {
"@turf/turf": "^5.1.6",
"async": "^3.1.0",
"bcrypt": "^3.0.7",
"body-parser": "^1.19.0",

View File

@ -16,6 +16,7 @@ const bodyParser = require('body-parser');
const bcrypt = require('bcrypt');
const passport = require('passport');
const uuidv4 = require('uuid/v4');
const turf = require('@turf/turf');
// Express-Einstellungen
app.set('views', path.join(__dirname, 'views'));
@ -31,7 +32,7 @@ app.use(bodyParser.urlencoded({
// Scripte einbinden
var app_cfg = require('./server/app_cfg.js');
var sql_cfg = require('./server/sql_cfg')(fs, bcrypt, app_cfg);
var sql = require('./server/sql_qry')(sql_cfg, uuidv4, app_cfg);
var sql = require('./server/sql_qry')(sql_cfg, uuidv4, turf, app_cfg);
var waip = require('./server/waip')(io, sql, async, app_cfg);
var socket = require('./server/socket')(io, sql, app_cfg, waip);
var udp = require('./server/udp')(app_cfg, waip, sql);

View File

@ -98,8 +98,7 @@ module.exports = function (fs, bcrypt, app_cfg) {
arrival_time DATETIME,
wache_id INTEGER,
wache_nr INTEGER,
wache_name TEXT,
FOREIGN KEY (waip_uuid) REFERENCES waip_einsaetze(uuid) ON DELETE CASCADE ON UPDATE CASCADE)`);
wache_name TEXT)`);
// Benutzer-Tabelle erstellen
db.run(`CREATE TABLE waip_users (
id INTEGER PRIMARY KEY AUTOINCREMENT,

View File

@ -1,4 +1,4 @@
module.exports = function(db, uuidv4, app_cfg) {
module.exports = function(db, uuidv4, turf, app_cfg) {
// ermittelt den letzten vorhanden Einsatz zu einer Wache
function db_einsatz_vorhanden(wachen_id, user_id, callback) {
@ -43,10 +43,22 @@ module.exports = function(db, uuidv4, app_cfg) {
if (!content.einsatzdaten.uuid) {
content.einsatzdaten.uuid = uuidv4();
};
// Polygon erzeugen und zuweisen falls nicht vorhanden
if (!content.einsatzdaten.wgs84_area) {
var point = turf.point([content.ortsdaten.wgs84_x, content.ortsdaten.wgs84_y]);
var buffered = turf.buffer(point, 1, {units: 'kilometers', steps: 4});
var bbox = turf.bbox(buffered);
var new_point = turf.randomPoint(1, {bbox: bbox});
content.einsatzdaten.wgs84_area = JSON.stringify(turf.buffer(new_point, 1, {units: 'kilometers', steps: 6}));
};
var point = turf.point([-75.343, 39.984]);
db.serialize(function() {
// Einsatzdaten speichern
db.run(`INSERT OR REPLACE INTO waip_einsaetze (
id, uuid, einsatznummer, alarmzeit, einsatzart, stichwort, sondersignal, besonderheiten, ort, ortsteil, strasse, objekt, objektnr, objektart, wachenfolge, wgs84_x, wgs84_y)
id, uuid, einsatznummer, alarmzeit, einsatzart, stichwort, sondersignal, besonderheiten, ort, ortsteil, strasse, objekt, objektnr, objektart, wachenfolge, wgs84_x, wgs84_y, wgs84_area)
VALUES (
(select ID from waip_einsaetze where einsatznummer like \'` + content.einsatzdaten.nummer + `\'),
\'` + content.einsatzdaten.uuid + `\',
@ -64,7 +76,8 @@ module.exports = function(db, uuidv4, app_cfg) {
\'` + content.ortsdaten.objektart + `\',
\'` + content.ortsdaten.wachfolge + `\',
\'` + content.ortsdaten.wgs84_x + `\',
\'` + content.ortsdaten.wgs84_y + `\')`,
\'` + content.ortsdaten.wgs84_y + `\',
\'` + content.ortsdaten.wgs84_area + `\')`,
function(err) {
if (err == null) {
// Einsatzmittel zum Einsatz speichern
@ -72,7 +85,7 @@ module.exports = function(db, uuidv4, app_cfg) {
function loop_done(waip_id) {
callback && callback(waip_id);
//console.log('all done');
console.log('all done');
};
var itemsProcessed = 0;

View File

@ -16,7 +16,7 @@ block content
.card.border-dark.mb-3.w-100
.card-header Test-Alarm
.card-body.text-dark
form#test_alert1(action="/test_alert", method="POST")
form#test_alert1(action="/adm_run_alert", method="POST")
.form-group
label(for='text_test_alert1') Alarmtext
textarea#text_test_alert1.form-control(rows='5' type='text', name='test_alert') {"einsatzdaten":{"nummer":"0815","alarmzeit":"01.01.19&01:00","art":"Sonstiges","stichwort":"S:Testeinsatz","sondersignal":1,"besonderheiten":"DEMO Wachalarm-IP-Web - Testeinsatz","patient":""},"ortsdaten":{"ort":"Elsterwerda","ortsteil":"Biehla","strasse":"Haidaer Str. 47A","objekt":"","objektnr":"-1","objektart":"","wachfolge":"611302","wgs84_x":"52.471244","wgs84_y":"13.502943"},"alarmdaten":[{"typ":"ALARM","netzadresse":"","wachenname":"EE FW Elsterwerda","einsatzmittel":"FL EE 02/14-01","zeit_a":"18:41","zeit_b":"","zeit_c":""}]}