błąd zaokrąglania i terminal

main
kry008 2025-01-08 12:09:35 +01:00
parent 226b72121c
commit d4d0956db8
5 changed files with 95 additions and 58 deletions

View File

@ -48,32 +48,40 @@ apiLiczacy.get("/rozlicz", function(req, res) {
apiLiczacy.post("/rozlicz", function(req, res) { apiLiczacy.post("/rozlicz", function(req, res) {
var idWolontariusza = req.body.idWolontariusza; var idWolontariusza = req.body.idWolontariusza;
var terminal = req.body.terminal; if(idWolontariusza == undefined)
var sumaZTerminala = req.body.sumaZTerminala; return res.send(400, {response: "Błąd"});
var gr1 = req.body.gr1; var terminal = req.body.terminal || 0;
var gr2 = req.body.gr2; var sumaZTerminala = req.body.sumaZTerminala || 0;
var gr5 = req.body.gr5; var gr1 = req.body.gr1 || 0;
var gr10 = req.body.gr10; var gr2 = req.body.gr2 || 0;
var gr20 = req.body.gr20; var gr5 = req.body.gr5 || 0;
var gr50 = req.body.gr50; var gr10 = req.body.gr10 || 0;
var zl1 = req.body.zl1; var gr20 = req.body.gr20 || 0;
var zl2 = req.body.zl2; var gr50 = req.body.gr50 || 0;
var zl5 = req.body.zl5; var zl1 = req.body.zl1 || 0;
var zl10 = req.body.zl10; var zl2 = req.body.zl2 || 0;
var zl20 = req.body.zl20; var zl5 = req.body.zl5 || 0;
var zl50 = req.body.zl50; var zl10 = req.body.zl10 || 0;
var zl100 = req.body.zl100; var zl20 = req.body.zl20 || 0;
var zl200 = req.body.zl200; var zl50 = req.body.zl50 || 0;
var zl500 = req.body.zl500; var zl100 = req.body.zl100 || 0;
var walutaObca = req.body.walutaObca; var zl200 = req.body.zl200 || 0;
var daryInne = req.body.daryInne; var zl500 = req.body.zl500 || 0;
var uwagi = req.body.uwagi; var walutaObca = req.body.walutaObca || "";
var daryInne = req.body.daryInne || "";
var uwagi = req.body.uwagi || "";
var sala = req.body.sala || "";
var idLiczacy1 = req.body.idLiczacy1; var idLiczacy1 = req.body.idLiczacy1;
if(idLiczacy1 == undefined)
return res.send(400, {response: "Błąd"});
var idLiczacy2 = req.body.idLiczacy2; var idLiczacy2 = req.body.idLiczacy2;
var idLiczacy3 = req.body.idLiczacy3; if(idLiczacy2 == undefined)
return res.send(400, {response: "Błąd"});
var idLiczacy3 = req.body.idLiczacy3 || null;
var sala = req.body.sala; var sala = req.body.sala;
var sql = "INSERT INTO `rozliczenie` (`id`, `wolontariuszID`, `czasRozliczenia`, `terminal`, `sumaZTerminala`, `1gr`, `2gr`, `5gr`, `10gr`, `20gr`, `50gr`, `1zl`, `2zl`, `5zl`, `10zl`, `20zl`, `50zl`, `100zl`, `200zl`, `500zl`, `walutaObca`, `daryInne`, `uwagi`, `liczacy1`, `liczacy2`, `liczacy3`, `sala`, `weryfikowal`, `wpisaneDoBSS`, `ostatniaZmiana`, `aktywne`) "; var sql = "INSERT INTO `rozliczenie` (`wolontariuszID`, `czasRozliczenia`, `terminal`, `sumaZTerminala`, `1gr`, `2gr`, `5gr`, `10gr`, `20gr`, `50gr`, `1zl`, `2zl`, `5zl`, `10zl`, `20zl`, `50zl`, `100zl`, `200zl`, `500zl`, `walutaObca`, `daryInne`, `uwagi`, `liczacy1`, `liczacy2`, `liczacy3`, `weryfikowal`, `wpisaneDoBSS`, `sala`, `ostatniaZmiana`, `aktywne`) ";
sql += 'VALUES (NULL, ?, CURRENT_TIME(), ?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,CURRENT_TIME(),1)'; sql += 'VALUES (?, CURRENT_TIME(), ?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,?,CURRENT_TIME(),1)';
try {
con.query(sql, [idWolontariusza, terminal, sumaZTerminala, gr1, gr2, gr5, gr10, gr20, gr50, zl1, zl2, zl5, zl10, zl20, zl50, zl100, zl200, zl500, walutaObca, daryInne, uwagi, idLiczacy1, idLiczacy2, idLiczacy3, sala], function(err, result) { con.query(sql, [idWolontariusza, terminal, sumaZTerminala, gr1, gr2, gr5, gr10, gr20, gr50, zl1, zl2, zl5, zl10, zl20, zl50, zl100, zl200, zl500, walutaObca, daryInne, uwagi, idLiczacy1, idLiczacy2, idLiczacy3, sala], function(err, result) {
if (err) throw err; if (err) throw err;
if(process.env.DISCORD == "TAK") if(process.env.DISCORD == "TAK")
@ -93,30 +101,48 @@ apiLiczacy.post("/rozlicz", function(req, res) {
}); });
} }
loger(fs, 'Rozliczono wolontariusza o id: ' + idWolontariusza, 'info'); loger(fs, 'Rozliczono wolontariusza o id: ' + idWolontariusza, 'info');
var res = `Rozliczono wolontariusza o id: ${idWolontariusza}` var resp = `Rozliczono wolontariusza o id: ${idWolontariusza}`
res.send(202, {response: res}); return res.send(202, {response: resp});
}); });
} catch (error) {
loger(fs, 'Błąd: ' + error, 'error');
res.send(400, {response: "Błąd"});
}
}); });
apiLiczacy.get("/wyloguj", function(req, res) { apiLiczacy.get("/wyloguj", function(req, res) {
con.query('UPDATE tokenyLiczacy SET aktywny = 0 WHERE userId = ?', [req.user.id], function(err, result) { con.query('UPDATE tokenyLiczacy SET aktywny = 0 WHERE userId = ?', [req.user.id], function(err, result) {
if (err) throw err; if (err){
loger(fs, 'Błąd: ' + err, 'error');
res.send(400, {response: "Błąd"});
}
res.send(202, {response: "Wylogowano"}); res.send(202, {response: "Wylogowano"});
}); });
}); });
apiLiczacy.get("/top10Liczacy", function(req, res) { apiLiczacy.get("/top10Liczacy", function(req, res) {
con.query("SELECT idLiczacego, imie, nazwisko, sumaPrzeliczona FROM `sumaPrzeliczona` ORDER BY `sumaPrzeliczona`.`sumaPrzeliczona` DESC LIMIT 10;", function(err, result) { con.query("SELECT idLiczacego, imie, nazwisko, sumaPrzeliczona FROM `sumaPrzeliczona` ORDER BY `sumaPrzeliczona`.`sumaPrzeliczona` DESC LIMIT 10;", function(err, result) {
if (err) throw err; if (err){
loger(fs, 'Błąd: ' + err, 'error');
res.send(400, {response: "Błąd"});
}
res.send(result); res.send(result);
}); });
}); });
apiLiczacy.get("/top10Wolontariuszy", function(req, res) { apiLiczacy.get("/top10Wolontariuszy", function(req, res) {
con.query('SELECT numerIdentyfikatora, imie, nazwisko, suma FROM `SumaZebranaPrzezWolontariuszy` ORDER BY `SumaZebranaPrzezWolontariuszy`.`suma` DESC LIMIT 10;', function(err, result) { con.query('SELECT numerIdentyfikatora, imie, nazwisko, suma FROM `SumaZebranaPrzezWolontariuszy` ORDER BY `SumaZebranaPrzezWolontariuszy`.`suma` DESC LIMIT 10;', function(err, result) {
if (err) throw err; if (err){
loger(fs, 'Błąd: ' + err, 'error');
res.send(400, {response: "Błąd"});
}
res.send(result); res.send(result);
}); });
}); });
apiLiczacy.get("/osobyLiczace", function(req, res) {
con.query('SELECT * FROM liczacy', function(err, result) {
res.send(result);
});
});
module.exports = apiLiczacy; module.exports = apiLiczacy;

View File

@ -84,8 +84,13 @@ apiPanel.get("/potwierdzRozliczenie/:id", function(req, res) {
apiPanel.post("/potwierdzRozliczenie/:id", function(req, res) { apiPanel.post("/potwierdzRozliczenie/:id", function(req, res) {
var id = req.params.id; var id = req.params.id;
var idLiczacy = req.body.idLiczacy; if(id == undefined)
con.query('UPDATE rozliczenie SET weryfikowal = 1, idLiczacy = ? WHERE id = ? AND aktywne = 1 AND weryfikowal = 0', [idLiczacy, id], function(err, result) { return res.send(400, {response: "Błąd"});
con.query('UPDATE rozliczenie SET weryfikowal = ? WHERE id = ? AND aktywne = 1 AND weryfikowal = 0', [req.user.id, id], function(err, result) {
if (err){
loger(fs, 'Błąd: ' + err, 'error');
res.send(400, {response: "Błąd"});
}
if(result.affectedRows > 0) { if(result.affectedRows > 0) {
res.send({response: "Potwierdzono"}); res.send({response: "Potwierdzono"});
} else { } else {
@ -97,13 +102,19 @@ apiPanel.post("/potwierdzRozliczenie/:id", function(req, res) {
apiPanel.get("/top10Liczacy", function(req, res) { apiPanel.get("/top10Liczacy", function(req, res) {
con.query("SELECT idLiczacego, imie, nazwisko, sumaPrzeliczona FROM `sumaPrzeliczona` ORDER BY `sumaPrzeliczona`.`sumaPrzeliczona` DESC LIMIT 10;", function(err, result) { con.query("SELECT idLiczacego, imie, nazwisko, sumaPrzeliczona FROM `sumaPrzeliczona` ORDER BY `sumaPrzeliczona`.`sumaPrzeliczona` DESC LIMIT 10;", function(err, result) {
if (err) throw err; if (err){
loger(fs, 'Błąd: ' + err, 'error');
res.send(400, {response: "Błąd"});
}
res.send(result); res.send(result);
}); });
}); });
apiPanel.get("/top10Wolontariuszy", function(req, res) { apiPanel.get("/top10Wolontariuszy", function(req, res) {
con.query('SELECT numerIdentyfikatora, imie, nazwisko, suma FROM `SumaZebranaPrzezWolontariuszy` ORDER BY `SumaZebranaPrzezWolontariuszy`.`suma` DESC LIMIT 10;', function(err, result) { con.query('SELECT numerIdentyfikatora, imie, nazwisko, suma FROM `SumaZebranaPrzezWolontariuszy` ORDER BY `SumaZebranaPrzezWolontariuszy`.`suma` DESC LIMIT 10;', function(err, result) {
if (err) throw err; if (err){
loger(fs, 'Błąd: ' + err, 'error');
res.send(400, {response: "Błąd"});
}
res.send(result); res.send(result);
}); });
}); });

View File

@ -156,4 +156,4 @@ DROP TABLE IF EXISTS `suma_przeliczona2`;
CREATE OR REPLACE VIEW `suma_przeliczona2` AS SELECT coalesce(`r`.`liczacy1`,`r`.`liczacy2`,`r`.`liczacy3`) AS `ID_Liczącego`, `l`.`imie` AS `Imię`, `l`.`nazwisko` AS `Nazwisko`, sum(`r`.`1gr` * 0.01 + `r`.`2gr` * 0.02 + `r`.`5gr` * 0.05 + `r`.`10gr` * 0.1 + `r`.`20gr` * 0.2 + `r`.`50gr` * 0.5 + `r`.`1zl` * 1 + `r`.`2zl` * 2 + `r`.`5zl` * 5 + `r`.`10zl` * 10 + `r`.`20zl` * 20 + `r`.`50zl` * 50 + `r`.`100zl` * 100 + `r`.`200zl` * 200 + `r`.`500zl` * 500) AS `Suma_Przeliczona` FROM (`rozliczenie` `r` join `liczacy` `l` on(coalesce(`r`.`liczacy1`,`r`.`liczacy2`,`r`.`liczacy3`) = `l`.`id`)) GROUP BY coalesce(`r`.`liczacy1`,`r`.`liczacy2`,`r`.`liczacy3`), `l`.`imie`, `l`.`nazwisko` ; CREATE OR REPLACE VIEW `suma_przeliczona2` AS SELECT coalesce(`r`.`liczacy1`,`r`.`liczacy2`,`r`.`liczacy3`) AS `ID_Liczącego`, `l`.`imie` AS `Imię`, `l`.`nazwisko` AS `Nazwisko`, sum(`r`.`1gr` * 0.01 + `r`.`2gr` * 0.02 + `r`.`5gr` * 0.05 + `r`.`10gr` * 0.1 + `r`.`20gr` * 0.2 + `r`.`50gr` * 0.5 + `r`.`1zl` * 1 + `r`.`2zl` * 2 + `r`.`5zl` * 5 + `r`.`10zl` * 10 + `r`.`20zl` * 20 + `r`.`50zl` * 50 + `r`.`100zl` * 100 + `r`.`200zl` * 200 + `r`.`500zl` * 500) AS `Suma_Przeliczona` FROM (`rozliczenie` `r` join `liczacy` `l` on(coalesce(`r`.`liczacy1`,`r`.`liczacy2`,`r`.`liczacy3`) = `l`.`id`)) GROUP BY coalesce(`r`.`liczacy1`,`r`.`liczacy2`,`r`.`liczacy3`), `l`.`imie`, `l`.`nazwisko` ;
DROP TABLE IF EXISTS `sumy`; DROP TABLE IF EXISTS `sumy`;
CREATE OR REPLACE VIEW `sumy` AS SELECT `rozliczenie`.`wolontariuszID` AS `wolontariuszID`, sum(`rozliczenie`.`1gr` * 0.01 + `rozliczenie`.`2gr` * 0.02 + `rozliczenie`.`5gr` * 0.05 + `rozliczenie`.`10gr` * 0.1 + `rozliczenie`.`20gr` * 0.2 + `rozliczenie`.`50gr` * 0.5 + `rozliczenie`.`1zl` + `rozliczenie`.`2zl` * 2 + `rozliczenie`.`5zl` * 5 + `rozliczenie`.`10zl` * 10 + `rozliczenie`.`20zl` * 20 + `rozliczenie`.`50zl` * 50 + `rozliczenie`.`100zl` * 100 + `rozliczenie`.`200zl` * 200 + `rozliczenie`.`500zl` * 500) AS `suma` FROM `rozliczenie` GROUP BY `rozliczenie`.`wolontariuszID` ; CREATE OR REPLACE VIEW `sumy` AS SELECT `rozliczenie`.`wolontariuszID` AS `wolontariuszID`, sum(`rozliczenie`.`1gr` * 0.01 + `rozliczenie`.`2gr` * 0.02 + `rozliczenie`.`5gr` * 0.05 + `rozliczenie`.`10gr` * 0.1 + `rozliczenie`.`20gr` * 0.2 + `rozliczenie`.`50gr` * 0.5 + `rozliczenie`.`1zl` + `rozliczenie`.`2zl` * 2 + `rozliczenie`.`5zl` * 5 + `rozliczenie`.`10zl` * 10 + `rozliczenie`.`20zl` * 20 + `rozliczenie`.`50zl` * 50 + `rozliczenie`.`100zl` * 100 + `rozliczenie`.`200zl` * 200 + `rozliczenie`.`500zl` * 500 + `rozliczenie`.`sumaZTerminala`) AS `suma` FROM `rozliczenie` GROUP BY `rozliczenie`.`wolontariuszID` ;

View File

@ -146,7 +146,7 @@ liczacy.all('/statystyki2', function(req, res) {
con.query('SELECT numerIdentyfikatora, imie, nazwisko, suma FROM `SumaZebranaPrzezWolontariuszy` ORDER BY `SumaZebranaPrzezWolontariuszy`.`suma` ASC LIMIT 10;', function(err, result) { con.query('SELECT numerIdentyfikatora, imie, nazwisko, suma FROM `SumaZebranaPrzezWolontariuszy` ORDER BY `SumaZebranaPrzezWolontariuszy`.`suma` ASC LIMIT 10;', function(err, result) {
if (err) throw err; if (err) throw err;
result.forEach(function(row) { result.forEach(function(row) {
toReturn += '<tr><td>' + row.numerIdentyfikatora + '</td><td>' + row.suma + '</td></tr>'; toReturn += '<tr><td>' + row.numerIdentyfikatora + '</td><td>' + Math.round(row.suma*100)/100 + '</td></tr>';
}); });
toReturn += '</table>'; toReturn += '</table>';
toReturn += '</div>'; toReturn += '</div>';
@ -158,7 +158,7 @@ liczacy.all('/statystyki2', function(req, res) {
con.query("SELECT idLiczacego, imie, nazwisko, sumaPrzeliczona FROM `sumaPrzeliczona` ORDER BY `sumaPrzeliczona`.`sumaPrzeliczona` DESC LIMIT 10;", function(err, result) { con.query("SELECT idLiczacego, imie, nazwisko, sumaPrzeliczona FROM `sumaPrzeliczona` ORDER BY `sumaPrzeliczona`.`sumaPrzeliczona` DESC LIMIT 10;", function(err, result) {
if (err) throw err; if (err) throw err;
result.forEach(function(row) { result.forEach(function(row) {
toReturn += '<tr><td>' + row.idLiczacego + '</td><td>' + row.sumaPrzeliczona + '</td></tr>'; toReturn += '<tr><td>' + row.idLiczacego + '</td><td>' + Math.round(row.sumaPrzeliczona*100)/100 + '</td></tr>';
}); });
toReturn += '</table>'; toReturn += '</table>';
toReturn += '</div>'; toReturn += '</div>';
@ -430,7 +430,7 @@ liczacy.get("/szybkieInfo", function(req, res) {
con.query("SELECT * FROM `rozliczenie`, `wolontariusz` WHERE `rozliczenie`.`wolontariuszID` = `wolontariusz`.`id` AND `rozliczenie`.`aktywne` = 1 ORDER BY `rozliczenie`.`czasRozliczenia` DESC LIMIT 5", function(err, result) { con.query("SELECT * FROM `rozliczenie`, `wolontariusz` WHERE `rozliczenie`.`wolontariuszID` = `wolontariusz`.`id` AND `rozliczenie`.`aktywne` = 1 ORDER BY `rozliczenie`.`czasRozliczenia` DESC LIMIT 5", function(err, result) {
if (err) throw err; if (err) throw err;
result.forEach(function(row) { result.forEach(function(row) {
toReturn += '<tr><td>' + row.numerIdentyfikatora + '</td><td>' + (row['1gr'] + row['2gr'] * 2 + row['5gr'] * 5 + row['10gr'] * 10 + row['20gr'] * 20 + row['50gr'] * 50 + row['1zl'] * 100 + row['2zl'] * 200 + row['5zl'] * 500 + row['10zl'] * 1000 + row['20zl'] * 2000 + row['50zl'] * 5000 + row['100zl'] * 10000 + row['200zl'] * 20000 + row['500zl'] * 50000 + row.sumaZTerminala * 100)/100.0 + ' zł</td></tr>'; toReturn += '<tr><td>' + row.numerIdentyfikatora + '</td><td>' + Math.round((row['1gr'] + row['2gr'] * 2 + row['5gr'] * 5 + row['10gr'] * 10 + row['20gr'] * 20 + row['50gr'] * 50 + row['1zl'] * 100 + row['2zl'] * 200 + row['5zl'] * 500 + row['10zl'] * 1000 + row['20zl'] * 2000 + row['50zl'] * 5000 + row['100zl'] * 10000 + row['200zl'] * 20000 + row['500zl'] * 50000 + row.sumaZTerminala * 100))/100.0 + ' zł</td></tr>';
}); });
toReturn += '</table>'; toReturn += '</table>';
toReturn += '</div>'; toReturn += '</div>';

View File

@ -1278,7 +1278,7 @@ panelRouter.all('/statystyki', function(req, res) {
con.query('SELECT numerIdentyfikatora, imie, nazwisko, suma FROM `SumaZebranaPrzezWolontariuszy` ORDER BY `SumaZebranaPrzezWolontariuszy`.`suma` DESC LIMIT 10;', function(err, result) { con.query('SELECT numerIdentyfikatora, imie, nazwisko, suma FROM `SumaZebranaPrzezWolontariuszy` ORDER BY `SumaZebranaPrzezWolontariuszy`.`suma` DESC LIMIT 10;', function(err, result) {
if (err) throw err; if (err) throw err;
result.forEach(function(row) { result.forEach(function(row) {
toReturn += '<tr><td>' + row.numerIdentyfikatora + '</td><td>' + row.imie + ' ' + row.nazwisko + '</td><td>' + row.suma + '</td></tr>'; toReturn += '<tr><td>' + row.numerIdentyfikatora + '</td><td>' + row.imie + ' ' + row.nazwisko + '</td><td>' + (Math.round(row.suma * 100)/100) + '</td></tr>';
}); });
toReturn += '</table>'; toReturn += '</table>';
toReturn += '</div>'; toReturn += '</div>';
@ -1290,7 +1290,7 @@ panelRouter.all('/statystyki', function(req, res) {
con.query("SELECT idLiczacego, imie, nazwisko, sumaPrzeliczona FROM `sumaPrzeliczona` ORDER BY `sumaPrzeliczona`.`sumaPrzeliczona` DESC LIMIT 10;", function(err, result) { con.query("SELECT idLiczacego, imie, nazwisko, sumaPrzeliczona FROM `sumaPrzeliczona` ORDER BY `sumaPrzeliczona`.`sumaPrzeliczona` DESC LIMIT 10;", function(err, result) {
if (err) throw err; if (err) throw err;
result.forEach(function(row) { result.forEach(function(row) {
toReturn += '<tr><td>' + row.idLiczacego + '</td><td>' + row.imie + ' ' + row.nazwisko + '</td><td>' + row.sumaPrzeliczona + '</td></tr>'; toReturn += '<tr><td>' + row.idLiczacego + '</td><td>' + row.imie + ' ' + row.nazwisko + '</td><td>' + (Math.round(row.sumaPrzeliczona*100)/100) + '</td></tr>';
}); });
toReturn += '</table>'; toReturn += '</table>';
toReturn += '</div>'; toReturn += '</div>';