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