From a1f9e2b881fc14d5ebb3eee6aa416d331742e8dc Mon Sep 17 00:00:00 2001 From: emtunhei <emtunhei@stud.ntnu.no> Date: Fri, 11 Mar 2022 13:39:16 +0100 Subject: [PATCH] Started implementing the correct dates into kwh function --- src/main/java/com/application/DB/DB.java | 54 +++++++++++++++++---- target/classes/com/application/DB/DB.class | Bin 10708 -> 10720 bytes 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/application/DB/DB.java b/src/main/java/com/application/DB/DB.java index 5defc3d..7e81652 100644 --- a/src/main/java/com/application/DB/DB.java +++ b/src/main/java/com/application/DB/DB.java @@ -48,9 +48,9 @@ public class DB { } public static void main(String[] args) throws Exception { - //getKwh(); + getKwh(); //getName(); - getZeroPointDate(); + //getZeroPointDate(); } @@ -107,21 +107,38 @@ public class DB { */ public static Map<String, Number> getKwh() throws Exception { + /* + for (Map.Entry<String, String> entry : getZeroPointDate().entrySet()) { + //System.out.printf("Intid: \t%s\t\t\tOuttid: \t%s\n",entry.getKey(),entry.getValue()); + + // Preparing a query statement + final String sqlStatement = "SELECT TimeStamp, VariantValue " + + "FROM sf-drying-optimization.124.int_sd_winccsensordata " + + "WHERE TimeStamp BETWEEN " + entry.getKey() + " AND " + entry.getValue() + + "ORDER BY TimeStamp ASC";// Preparing a query statement + + } + + */ + // Initializing the data map to store the results Map<String, Number> data = new HashMap<>(); - // Preparing a query statement + + final String sqlStatement = "SELECT TimeStamp, VariantValue " + "FROM sf-drying-optimization.124.int_sd_winccsensordata " + "WHERE TimeStamp BETWEEN \"2021-01-30 08:51:03\" " + "AND \"2021-02-15 11:10:09\" ORDER BY TimeStamp ASC"; + + // Creates a job configuration queryJob = getJob(QueryJobConfiguration.newBuilder(sqlStatement).build()); // Iterating through the results TableResult result = queryJob.getQueryResults(); - System.out.println("InTidTork \t UtTidTork"); + System.out.println("Timestamp \t KWh"); for (FieldValueList row : result.iterateAll()) { // Kwh @@ -136,8 +153,11 @@ public class DB { data.put(formatedTimeStamp, variantValue); } - //NavigableMap<String, Number> sortedData = new TreeMap<>(data); - return data; + for (Map.Entry<String, Number> entry : data.entrySet()) { + System.out.printf("Timestamp: \t%s\t\t\tKWh: \t%s\n",entry.getKey(),entry.getValue()); + } + + return data; } /** @@ -183,6 +203,18 @@ public class DB { //return data; } + /** + * This function retrieves the intidtork and uttidtork dates from the database. + * This variables are not sorted and thus this function iterates through the data in order to + * find the last intidtork date and the corresponding uttidtork data. + * These values will be used to reset the kwh. + * + * A possible extention of this function could be to limit the number of dring periodes. + * This could be done with counting the number of entries in + * + * @return A hashmap containing the correct intidtork and outtidtork dates + * @throws Exception Throws exception if an error occurs + */ private static Map<String, String> getZeroPointDate() throws Exception{ // Initializing a date format in the data type DateTimeFormatter @@ -232,10 +264,12 @@ public class DB { formatedUtTidTork = ""; } + // Checks if intidtork or outtidtork is empty, if so they are ignored and not added to the list + if (!formatedInTidTork.equals("") && !formatedUtTidTork.equals("")){ + // Adds the data to the dates map + dates.put(formatedInTidTork,formatedUtTidTork); + } //System.out.printf("%s\t\t\t%s\n",formatedInTidTork,formatedUtTidTork); - - // Adds the data to the dates map - dates.put(formatedInTidTork,formatedUtTidTork); } // Defining a treemap to sort through the data @@ -265,7 +299,7 @@ public class DB { // if so the current date is the last intidtork date and // is the one we will use in order to reset the kwh. if(next.compareTo(formatedDateNowPlus) > 0){ - // Storing the dates that will be used for resetting kwh's. + // Storing the dates that will be used for resetting kwh. sortedDates.put(inTid,utTid); } } catch (NullPointerException e){ diff --git a/target/classes/com/application/DB/DB.class b/target/classes/com/application/DB/DB.class index b8c993545329c3ff8fe3fd7b263cd97cde2e4748..ec31148fa1f578a2ce3c089cb84d90f4678287d5 100644 GIT binary patch delta 3592 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 delta 3590 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 UESwBK8NP#PMjl2kh7Syq09FU*y#N3J -- GitLab