From 787cbadbafa5d4bb46ec1dc835de070322303f84 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Sat, 28 Dec 2019 11:41:27 +0100 Subject: [PATCH] =?UTF-8?q?schleife=20f=C3=BCr=20alarmdaten=20in=20loop=5F?= =?UTF-8?q?done=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/sql_qry.js | 45 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/server/sql_qry.js b/server/sql_qry.js index 1fc17af..fa30be6 100644 --- a/server/sql_qry.js +++ b/server/sql_qry.js @@ -64,7 +64,35 @@ module.exports = function(db, async, app_cfg) { if (err == null) { // Einsatzmittel zum Einsatz speichern var id = this.lastID; - async.forEach(content.alarmdaten, function(item, done) { + + function loop_done(waip_id) { + callback && callback(waip_id); + //console.log('all done'); + } + + var itemsProcessed = 0; + content.alarmdaten.forEach(function (item, index, array) { + db.run(`INSERT OR REPLACE INTO waip_einsatzmittel (id, waip_einsaetze_ID, waip_wachen_ID, wachenname, einsatzmittel, zeitstempel) + VALUES ( + (select ID from waip_einsatzmittel where einsatzmittel like \'` + item.einsatzmittel + `\'), + \'` + id + `\', + (select id from waip_wachen where name_wache like \'` + item.wachenname + `\'), + \'` + item.wachenname + `\', + \'` + item.einsatzmittel + `\', + \'` + item.zeit_a + `\')`, + function(err) { + if (err == null) { + itemsProcessed++; + + if (itemsProcessed === array.length) { + loop_done(id); + }; + } else { + callback && callback(err); + }; + }); + }); + /*async.concat(content.alarmdaten, function(item, done) { db.run(`INSERT OR REPLACE INTO waip_einsatzmittel (id, waip_einsaetze_ID, waip_wachen_ID, wachenname, einsatzmittel, zeitstempel) VALUES ( (select ID from waip_einsatzmittel where einsatzmittel like \'` + item.einsatzmittel + `\'), @@ -75,9 +103,12 @@ module.exports = function(db, async, app_cfg) { \'` + item.zeit_a + `\')`); done(); }, function(err_) { - if (err_) console.error(err_.message); - callback && callback(id); - }); + if (err_) { + console.error(err_.message); + } else { + callback && callback(id); + } + });*/ } else { callback && callback(err); }; @@ -185,9 +216,9 @@ module.exports = function(db, async, app_cfg) { function(err, rows) { if (err == null && rows.length > 0) { // falls einsätze vorhanden, auch die null hinzufuegen - rows.push({ - "room": 0 - }); + //rows.push({ + //"room": 0 + //}); callback && callback(rows); } else { callback && callback(null);