diff --git a/.idea/misc.xml b/.idea/misc.xml index 6619eb6..5cd2caa 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/src/java/com/wasteinformationserver/main.java b/src/java/com/wasteinformationserver/main.java index 10cd3c9..0884382 100644 --- a/src/java/com/wasteinformationserver/main.java +++ b/src/java/com/wasteinformationserver/main.java @@ -5,6 +5,7 @@ import com.wasteinformationserver.basicutils.Log; import com.wasteinformationserver.db.JDCB; import com.wasteinformationserver.mqtt.mqtt; import com.wasteinformationserver.website.Webserver; + import java.io.IOException; public class main { @@ -26,15 +27,15 @@ public class main { })); Info.init(); - Log.info("Server version: "+Info.getVersion()); - Log.debug("Build date: "+Info.getBuilddate()); + Log.info("Server version: " + Info.getVersion()); + Log.debug("Build date: " + Info.getBuilddate()); //initial connect to db Log.message("initial login to db"); new Thread(() -> { try { - JDCB.init("ingproject", "Kb9Dxklumt76ieq6", "ingproject", "db.power4future.at", 3306); - //JDCB.init("users", "kOpaIJUjkgb9ur6S", "wasteinformation", "192.168.65.15", 3306); + //JDCB.init("users", "admin0", "wasteinformation", "192.168.65.15", 1883); + JDCB.init("users", "kOpaIJUjkgb9ur6S", "wasteinformation", "192.168.65.15", 3306); } catch (IOException e) { //e.printStackTrace(); Log.error("no connection to db"); diff --git a/src/java/com/wasteinformationserver/mqtt/mqtt.java b/src/java/com/wasteinformationserver/mqtt/mqtt.java index b016eb0..c1873b5 100644 --- a/src/java/com/wasteinformationserver/mqtt/mqtt.java +++ b/src/java/com/wasteinformationserver/mqtt/mqtt.java @@ -43,7 +43,8 @@ public class mqtt { String temp = e.getActionCommand(); String[] split = temp.split(","); - getDatabasedata("SELECT pickupdates.pickupdate FROM pickupdates WHERE pickupdates.citywastezoneid=(SELECT cities.zone FROM cities WHERE cities.name='" + split[1] + "' AND cities.wastetype='" + split[2] + "' AND cities.zone=" + split[3] + ")", split[2], Integer.parseInt(split[0])); + String wastetyp = getTyp(Integer.parseInt(split[2])); + getDatabasedata("SELECT pickupdates.pickupdate FROM pickupdates WHERE pickupdates.citywastezoneid=(SELECT cities.zone FROM cities WHERE cities.name='" + split[1] + "' AND cities.wastetype='" + wastetyp + "' AND cities.zone=" + split[3] + ")", wastetyp, Integer.parseInt(split[0])); } }); mr.getmessage(); @@ -52,49 +53,41 @@ public class mqtt { public void getDatabasedata(String message, String wastetyp, int clientidentify) { Log.debug(message); + Log.debug(wastetyp); + Log.debug(clientidentify); JDCB Database = null; try { Database = JDCB.getInstance(); } catch (IOException e) { Log.error("No Connection to the databank"); } + int wastenumber = getIntTyp(wastetyp); //new JDCB("placeuser", "eaL956R6yFItQVBl", "wasteinformation"); ResultSet result = Database.executeQuery(message); try { - if (!result.isBeforeFirst()) { - int abholtag = 0; - transmitmessageAbfallart(clientidentify + "," + wastetyp + "," + abholtag); - } else { - while (result.next()) { - String temptime = String.valueOf(result.getString("pickupdate")); - - GregorianCalendar now = new GregorianCalendar(); - DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG); - String date = df.format(now.getTime()); - String[] parts = temptime.split("-"); - String tempyear = parts[0]; - String[] yearsplit = tempyear.split("0"); - String tempyearnew = yearsplit[1]; - String newDate = parts[2] + "." + parts[1] + ".20" + tempyearnew; - String[] partstwo = date.split(" "); - String Datetomorrow = nexDayDate(); + while (result.next()) { + String temptime = String.valueOf(result.getString("pickupdate")); - int abholtag; - if (partstwo[0].contains(newDate) || partstwo[0].contains(Datetomorrow)) { - abholtag = 1; - transmitmessageAbfallart(clientidentify + "," + wastetyp + "," + abholtag); - } else { - abholtag = 0; - transmitmessageAbfallart(clientidentify + "," + wastetyp + "," + abholtag); - } + String newDate = getDate(temptime); + GregorianCalendar now = new GregorianCalendar(); + DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG); + String date = df.format(now.getTime()); + String[] partstwo = date.split(","); + String Datetomorrow = nexDayDate(); + int abholtag; + if (partstwo[0].equals(newDate) || partstwo[0].equals(Datetomorrow)) { + abholtag = 1; + transmitmessageAbfallart(clientidentify + "," + wastenumber + "," + abholtag); + } else { + abholtag = 0; + transmitmessageAbfallart(clientidentify + "," + wastenumber + "," + abholtag); } } } catch (SQLException e) { Log.error("No data from database"); } - } @@ -120,4 +113,41 @@ public class mqtt { String newDate = split[2] + "." + split[1] + "." + split[0]; return newDate; } + + private String getTyp(int number) { + if (number == 1) { + return "Plastic"; + } else if (number == 2) { + return "Metal"; + } else if (number == 3) { + return "Residual waste"; + } else if (number == 4) { + return "Biowaste"; + } + return null; + } + + private int getIntTyp(String temp) { + int number = 0; + if (temp.equals("Plastic")) { + number = 1; + } else if (temp.equals("Metal")) { + number = 2; + } else if (temp.equals("Residual waste")) { + number = 3; + } else if (temp.equals("Biowaste")) { + number = 4; + } + return number; + } + + private String getDate(String temptime) { + GregorianCalendar now = new GregorianCalendar(); + DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG); + String[] parts = temptime.split("-"); + String tempyear = parts[0]; + String[] yearsplit = tempyear.split("0"); + String tempyearnew = yearsplit[1]; + return parts[2] + "." + parts[1] + "." + tempyearnew; + } } \ No newline at end of file