waste zone/type/city info on device page

This commit is contained in:
lukas-heiligenbrunner
2020-01-18 08:42:08 +01:00
parent ce44ee5d17
commit fa16d1206b
12 changed files with 191 additions and 152 deletions

View File

@ -2,7 +2,7 @@ package com.wasteinformationserver.website.datarequests;
import com.wasteinformationserver.basicutils.Info;
import com.wasteinformationserver.basicutils.Log;
import com.wasteinformationserver.db.JDCB;
import com.wasteinformationserver.db.JDBC;
import com.wasteinformationserver.website.basicrequest.PostRequest;
import java.io.IOException;
@ -20,9 +20,9 @@ public class DataRequest extends PostRequest {
ResultSet set = null;
int status = -1;
JDCB jdcb;
JDBC jdbc;
try {
jdcb = JDCB.getInstance();
jdbc = JDBC.getInstance();
} catch (IOException e) {
Log.error("no connection to db");
return "{\"query\" : \"nodbconn\"}";
@ -35,7 +35,7 @@ public class DataRequest extends PostRequest {
// check if wastezone and wasteregion already exists
Log.debug(params.get("cityname") + params.get("wastetype") + params.get("wastezone"));
set = jdcb.executeQuery("select * from `cities` where `name`='" + params.get("cityname") + "' AND `wastetype`='" + params.get("wastetype") + "' AND `zone`='" + params.get("wastezone") + "'");
set = jdbc.executeQuery("select * from `cities` where `name`='" + params.get("cityname") + "' AND `wastetype`='" + params.get("wastetype") + "' AND `zone`='" + params.get("wastezone") + "'");
int size = 0;
try {
if (set != null) {
@ -48,7 +48,7 @@ public class DataRequest extends PostRequest {
if (size == 0) {
//doesnt exist
try {
status = jdcb.executeUpdate("INSERT INTO `cities`(`userid`, `name`, `wastetype`, `zone`) VALUES ('0','" + params.get("cityname") + "','" + params.get("wastetype") + "','" + params.get("wastezone") + "');");
status = jdbc.executeUpdate("INSERT INTO `cities`(`userid`, `name`, `wastetype`, `zone`) VALUES ('0','" + params.get("cityname") + "','" + params.get("wastetype") + "','" + params.get("wastezone") + "');");
} catch (SQLException e) {
e.printStackTrace();
}
@ -71,7 +71,7 @@ public class DataRequest extends PostRequest {
sb.append("}");
break;
case "getAllCities":
set = jdcb.executeQuery("select * from cities");
set = jdbc.executeQuery("select * from cities");
Log.debug(set.toString());
sb.append("{\"data\":[");
try {
@ -95,7 +95,7 @@ public class DataRequest extends PostRequest {
//DELETE FROM `cities` WHERE `id`=0
sb.append("{");
try {
status = jdcb.executeUpdate("DELETE FROM `cities` WHERE `id`='" + params.get("id") + "'");
status = jdbc.executeUpdate("DELETE FROM `cities` WHERE `id`='" + params.get("id") + "'");
if (status == 1) {
//success
sb.append("\"status\" : \"success\"");
@ -117,7 +117,7 @@ public class DataRequest extends PostRequest {
break;
case "getAllDates":
set = jdcb.executeQuery("SELECT pickupdates.id,pickupdates.pickupdate,cities.userid,cities.name,cities.wastetype,cities.zone " +
set = jdbc.executeQuery("SELECT pickupdates.id,pickupdates.pickupdate,cities.userid,cities.name,cities.wastetype,cities.zone " +
"FROM `pickupdates` INNER JOIN `cities` ON pickupdates.citywastezoneid = cities.id");
sb.append("{\"data\":[");
try {
@ -141,7 +141,7 @@ public class DataRequest extends PostRequest {
case "deletedate":
sb.append("{");
try {
status = jdcb.executeUpdate("DELETE FROM `pickupdates` WHERE `id`='" + params.get("id") + "'");
status = jdbc.executeUpdate("DELETE FROM `pickupdates` WHERE `id`='" + params.get("id") + "'");
if (status == 1) {
//success
sb.append("\"status\" : \"success\"");
@ -176,7 +176,7 @@ public class DataRequest extends PostRequest {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String time = sdf.format(date);
set = jdcb.executeQuery("SELECT * FROM `pickupdates` WHERE `pickupdate` BETWEEN '0000-12-27' AND '"+time+"'");
set = jdbc.executeQuery("SELECT * FROM `pickupdates` WHERE `pickupdate` BETWEEN '0000-12-27' AND '"+time+"'");
set.last();
sb.append("\"finshedcollections\":\"" + set.getRow() + "\"");
@ -185,15 +185,15 @@ public class DataRequest extends PostRequest {
date = new Date(date.getTime()+1 * 24 * 60 * 60 * 1000);
time = sdf.format(date);
set = jdcb.executeQuery("SELECT * FROM `pickupdates` WHERE `pickupdate` BETWEEN '"+time+"' AND '2222-12-27'");
set = jdbc.executeQuery("SELECT * FROM `pickupdates` WHERE `pickupdate` BETWEEN '"+time+"' AND '2222-12-27'");
set.last();
sb.append(",\"futurecollections\":\"" + set.getRow() + "\"");
set = jdcb.executeQuery("select * from pickupdates");
set = jdbc.executeQuery("select * from pickupdates");
set.last();
sb.append(",\"collectionnumber\":\"" + set.getRow() + "\"");
set = jdcb.executeQuery("select * from `cities`");
set = jdbc.executeQuery("select * from `cities`");
set.last();
sb.append(",\"citynumber\":\"" + set.getRow() + "\"");
} catch (SQLException e) {

View File

@ -1,7 +1,7 @@
package com.wasteinformationserver.website.datarequests;
import com.wasteinformationserver.basicutils.Log;
import com.wasteinformationserver.db.JDCB;
import com.wasteinformationserver.db.JDBC;
import com.wasteinformationserver.website.basicrequest.PostRequest;
import java.io.IOException;
@ -13,9 +13,9 @@ public class DeviceRequest extends PostRequest {
@Override
public String request(HashMap<String, String> params) {
JDCB jdcb = null;
JDBC jdbc = null;
try {
jdcb = JDCB.getInstance();
jdbc = jdbc.getInstance();
} catch (IOException e) {
e.printStackTrace();
}
@ -23,48 +23,68 @@ public class DeviceRequest extends PostRequest {
StringBuilder sb = new StringBuilder();
switch (params.get("action")) {
case "getdevices":
ResultSet set = jdcb.executeQuery("SELECT * from devices");
ResultSet setunconfigured = jdbc.executeQuery("SELECT * FROM `devices` WHERE `CityID`=-1");
ResultSet setconfigured = jdbc.executeQuery("SELECT * FROM `devices` INNER JOIN `cities` ON devices.CityID = cities.id");
sb.append("{\"data\":[");
try {
while (set.next()) {
int deviceid = set.getInt("DeviceID");
int cityid = set.getInt("CityID");
if (cityid == -1) {
//not configured
sb.append("{\"deviceid\":\"" + deviceid + "\",\"cityid\":\"" + cityid + "\"}");
} else {
String devicename = set.getString("DeviceName");
String devicelocation = set.getString("DeviceLocation");
setconfigured.last();
int configsize = setconfigured.getRow();
System.out.println(configsize);
setconfigured.first();
setconfigured.previous();
sb.append("{\"deviceid\":\"" + deviceid + "\",\"cityid\":\"" + cityid + "\",\"devicename\":\"" + devicename + "\",\"devicelocation\":\"" + devicelocation + "\"}");
}
while (setunconfigured.next()) {
int deviceid = setunconfigured.getInt("DeviceID");
int cityid = setunconfigured.getInt("CityID");
if (!set.isLast()) {
sb.append("{\"deviceid\":\"" + deviceid + "\",\"cityid\":\"" + cityid + "\"}");
if (!(setunconfigured.isLast() && configsize==0)) {
sb.append(",");
}
}
while (setconfigured.next()) {
int deviceid = setconfigured.getInt("DeviceID");
int cityid = setconfigured.getInt("CityID");
String devicename = setconfigured.getString("DeviceName");
String devicelocation = setconfigured.getString("DeviceLocation");
String cityname = setconfigured.getString("name");
String wastetype = setconfigured.getString("wastetype");
String zone = setconfigured.getString("zone");
sb.append("{\"deviceid\":\"" + deviceid + "\",\"cityid\":\"" + cityid + "\",\"devicename\":\"" + devicename + "\",\"devicelocation\":\"" + devicelocation + "\",\"cityname\":\"" + cityname + "\",\"wastetype\":\"" + wastetype + "\",\"zone\":\"" + zone + "\"}");
if (!setconfigured.isLast()) {
sb.append(",");
}
}
sb.append("]}");
System.out.println(sb.toString());
} catch (SQLException e) {
e.printStackTrace();
}
break;
case "getCitynames":
set = jdcb.executeQuery("select * from cities");
Log.debug(set.toString());
setunconfigured = jdbc.executeQuery("select * from cities");
Log.debug(setunconfigured.toString());
sb.append("{");
try {
String prev = "";
while (set.next()) {
if (prev.equals(set.getString("name"))) {
while (setunconfigured.next()) {
if (prev.equals(setunconfigured.getString("name"))) {
} else {
if (!set.isFirst()) {
if (!setunconfigured.isFirst()) {
sb.append(",");
}
sb.append("\"" + set.getString("name") + "\":\"" + set.getString("name") + "\"");
sb.append("\"" + setunconfigured.getString("name") + "\":\"" + setunconfigured.getString("name") + "\"");
}
prev = set.getString("name");
prev = setunconfigured.getString("name");
}
} catch (SQLException e) {
e.printStackTrace();
@ -73,21 +93,21 @@ public class DeviceRequest extends PostRequest {
Log.debug(sb.toString());
break;
case "getzones":
set = jdcb.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' ORDER BY zone ASC");
Log.debug(set.toString());
setunconfigured = jdbc.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' ORDER BY zone ASC");
Log.debug(setunconfigured.toString());
sb.append("{");
try {
int prev = 42;
while (set.next()) {
if (prev == set.getInt("zone")) {
while (setunconfigured.next()) {
if (prev == setunconfigured.getInt("zone")) {
} else {
sb.append("\"" + set.getInt("zone") + "\":\"" + set.getInt("zone") + "\"");
if (!set.isLast()) {
sb.append("\"" + setunconfigured.getInt("zone") + "\":\"" + setunconfigured.getInt("zone") + "\"");
if (!setunconfigured.isLast()) {
sb.append(",");
}
}
prev = set.getInt("zone");
prev = setunconfigured.getInt("zone");
}
} catch (SQLException e) {
e.printStackTrace();
@ -95,21 +115,21 @@ public class DeviceRequest extends PostRequest {
sb.append("}");
break;
case "gettypes":
set = jdcb.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' AND `zone`='" + params.get("zonename") + "' ORDER BY zone ASC");
Log.debug(set.toString());
setunconfigured = jdbc.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' AND `zone`='" + params.get("zonename") + "' ORDER BY zone ASC");
Log.debug(setunconfigured.toString());
sb.append("{");
try {
String prev = "42";
while (set.next()) {
if (prev == set.getString("wastetype")) {
while (setunconfigured.next()) {
if (prev == setunconfigured.getString("wastetype")) {
} else {
sb.append("\"" + set.getString("wastetype") + "\":\"" + set.getString("wastetype") + "\"");
if (!set.isLast()) {
sb.append("\"" + setunconfigured.getString("wastetype") + "\":\"" + setunconfigured.getString("wastetype") + "\"");
if (!setunconfigured.isLast()) {
sb.append(",");
}
}
prev = set.getString("wastetype");
prev = setunconfigured.getString("wastetype");
}
} catch (SQLException e) {
e.printStackTrace();
@ -117,21 +137,27 @@ public class DeviceRequest extends PostRequest {
sb.append("}");
break;
case "savetodb":
set = jdcb.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' AND `zone`='" + params.get("zonename") + "' AND `wastetype`='" + params.get("wastetype") + "'");
setunconfigured = jdbc.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' AND `zone`='" + params.get("zonename") + "' AND `wastetype`='" + params.get("wastetype") + "'");
try {
set.last();
if (set.getRow() != 1) {
//error
setunconfigured.last();
if (setunconfigured.getRow() != 1) {
// TODO: 17.01.20 error handling
} else {
int id = set.getInt("id");
jdcb.executeUpdate("UPDATE devices SET `CityID`='" + id + "',`DeviceName`='" + params.get("devicename") + "',`DeviceLocation`='" + params.get("devicelocation") + "' WHERE `DeviceID`='" + params.get("deviceid") + "'");
int id = setunconfigured.getInt("id");
jdbc.executeUpdate("UPDATE devices SET `CityID`='" + id + "',`DeviceName`='" + params.get("devicename") + "',`DeviceLocation`='" + params.get("devicelocation") + "' WHERE `DeviceID`='" + params.get("deviceid") + "'");
sb.append("{\"success\":\"true\"}");
}
} catch (SQLException e) {
e.printStackTrace();
}
//'action=savetodb&cityname=' + cityname + '&zonename=' + zone+'&wastetype='+wastetype+'&devicename='+devicename+'&devicelocation='+devicelocation
break;
case "deleteDevice":
try {
int res = jdbc.executeUpdate("DELETE FROM devices WHERE `DeviceID`='" + params.get("id") + "'");
} catch (SQLException e) {
e.printStackTrace();
}
sb.append("{\"status\":\"success\"}");
break;
}
return sb.toString();

View File

@ -1,7 +1,7 @@
package com.wasteinformationserver.website.datarequests;
import com.wasteinformationserver.basicutils.Log;
import com.wasteinformationserver.db.JDCB;
import com.wasteinformationserver.db.JDBC;
import com.wasteinformationserver.website.basicrequest.PostRequest;
import java.io.IOException;
@ -13,17 +13,17 @@ public class NewDateRequest extends PostRequest {
@Override
public String request(HashMap<String, String> params) {
StringBuilder sb = new StringBuilder();
JDCB jdcb;
JDBC jdbc;
ResultSet set;
try {
jdcb = JDCB.getInstance();
jdbc = JDBC.getInstance();
} catch (IOException e) {
Log.error("no connection to db");
return "{\"query\" : \"nodbconn\"}";
}
switch (params.get("action")) {
case "getCitynames":
set = jdcb.executeQuery("select * from cities");
set = jdbc.executeQuery("select * from cities");
Log.debug(set.toString());
sb.append("{\"data\":[");
try {
@ -48,7 +48,7 @@ public class NewDateRequest extends PostRequest {
Log.debug(sb.toString());
break;
case "getzones":
set = jdcb.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' ORDER BY zone ASC");
set = jdbc.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' ORDER BY zone ASC");
Log.debug(set.toString());
sb.append("{\"data\":[");
try {
@ -72,7 +72,7 @@ public class NewDateRequest extends PostRequest {
sb.append("}");
break;
case "gettypes":
set = jdcb.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' AND `zone`='"+params.get("zonename")+"' ORDER BY zone ASC");
set = jdbc.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' AND `zone`='"+params.get("zonename")+"' ORDER BY zone ASC");
Log.debug(set.toString());
sb.append("{\"data\":[");
try {
@ -98,13 +98,13 @@ public class NewDateRequest extends PostRequest {
case "newdate":
sb.append("{");
Log.debug(params);
set = jdcb.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' AND `zone`='" + params.get("zone") + "' AND `wastetype`='" + params.get("wastetype") + "'");
set = jdbc.executeQuery("select * from cities WHERE `name`='" + params.get("cityname") + "' AND `zone`='" + params.get("zone") + "' AND `wastetype`='" + params.get("wastetype") + "'");
try {
set.last();
if (set.getRow() == 1) {
Log.debug(set.getInt("id"));
int status = jdcb.executeUpdate("INSERT INTO `pickupdates`(`citywastezoneid`, `pickupdate`) VALUES ('" + set.getInt("id") + "','" + params.get("date") + "')");
int status = jdbc.executeUpdate("INSERT INTO `pickupdates`(`citywastezoneid`, `pickupdate`) VALUES ('" + set.getInt("id") + "','" + params.get("date") + "')");
if (status == 1) {
sb.append("\"status\" : \"success\"");
} else {

View File

@ -1,7 +1,7 @@
package com.wasteinformationserver.website.datarequests;
import com.wasteinformationserver.basicutils.Log;
import com.wasteinformationserver.db.JDCB;
import com.wasteinformationserver.db.JDBC;
import com.wasteinformationserver.website.HttpTools;
import com.wasteinformationserver.website.basicrequest.PostRequest;
@ -16,9 +16,9 @@ public class RegisterRequest extends PostRequest {
String passhash = HttpTools.StringToMD5(params.get("password"));
JDCB myjd = null;
JDBC myjd = null;
try {
myjd = JDCB.getInstance();
myjd = JDBC.getInstance();
} catch (IOException e) {
e.printStackTrace();
}

View File

@ -1,7 +1,7 @@
package com.wasteinformationserver.website.datarequests.login;
import com.wasteinformationserver.basicutils.Log;
import com.wasteinformationserver.db.JDCB;
import com.wasteinformationserver.db.JDBC;
import com.wasteinformationserver.website.HttpTools;
import com.wasteinformationserver.website.basicrequest.PostRequest;
@ -19,16 +19,16 @@ public class LoginRequest extends PostRequest {
String password = params.get("password");
String username = params.get("username");
JDCB jdcb;
JDBC jdbc;
try {
jdcb = JDCB.getInstance();
jdbc = JDBC.getInstance();
} catch (IOException e) {
Log.error("no connection to db");
return "{\"status\" : \"nodbconn\"}";
}
ResultSet s = jdcb.executeQuery("select * from user where username ='" + username + "'");
;
ResultSet s = jdbc.executeQuery("select * from user where username ='" + username + "'");
//new JDCB("users", "kOpaIJUjkgb9ur6S", "wasteinformation").executeQuery("select * from user where username ='" + username + "'");
Log.debug("successfully logged in to db");
String response = "{\"accept\": false}";