From 835745097e3073b2915a92b90f5892dc9a44775f Mon Sep 17 00:00:00 2001 From: emtunhei <emtunhei@stud.ntnu.no> Date: Tue, 8 Mar 2022 15:10:59 +0100 Subject: [PATCH] Retrieved the next date and managed to add extra days to check for --- src/main/java/com/application/DB/DB.java | 45 ++++++++++++++----- src/main/java/com/application/Main.java | 7 +-- target/classes/com/application/DB/DB.class | Bin 7747 -> 9070 bytes target/classes/com/application/DB/Sort.class | Bin 5670 -> 0 bytes target/classes/com/application/Main.class | Bin 7710 -> 7710 bytes 5 files changed, 35 insertions(+), 17 deletions(-) delete mode 100644 target/classes/com/application/DB/Sort.class diff --git a/src/main/java/com/application/DB/DB.java b/src/main/java/com/application/DB/DB.java index 2777ec3..9c4cbfa 100644 --- a/src/main/java/com/application/DB/DB.java +++ b/src/main/java/com/application/DB/DB.java @@ -6,8 +6,13 @@ import com.google.cloud.bigquery.*; import java.io.File; import java.io.FileInputStream; +import java.sql.Timestamp; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.TemporalAccessor; import java.util.*; /** @@ -101,17 +106,15 @@ public class DB { // Initializing the data map to store the results Map<String, Number> data = new HashMap<>(); - List<List<Number>> listOfLists = new ArrayList<List<Number>>(); - // Initializing the date format - DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // Preparing a query statement final String sqlStatement = "SELECT TimeStamp, VariantValue " + "FROM sf-drying-optimization.124.int_sd_winccsensordata " + "WHERE TimeStamp BETWEEN \"2021-01-25 08:51:03\" " + - "AND \"2021-03-04 11:10:09\" ORDER BY TimeStamp"; + "AND \"2021-03-08 11:10:09\" ORDER BY TimeStamp ASC"; // Creates a job configuration queryJob = getJob(QueryJobConfiguration.newBuilder(sqlStatement).build()); @@ -121,20 +124,35 @@ public class DB { System.out.println("InTidTork \t UtTidTork"); for (FieldValueList row : result.iterateAll()) { + // Kwh + int variantValue = row.get("VariantValue").getNumericValue().intValue(); + // Retrieving the wanted data long timeStamp = row.get("TimeStamp").getTimestampValue()/1000; + // Riktig format, men i string String formatedTimeStamp = dateFormat.format(timeStamp); + // Format the date to LocalDateTime datatype + LocalDateTime date = LocalDateTime.parse(formatedTimeStamp, format); + // Creates a future date to compare against + LocalDateTime dateFuture = date.plusDays(1); - int variantValue = row.get("VariantValue").getNumericValue().intValue(); + //System.out.println(date); - System.out.println(timeStamp); + data.put(formatedTimeStamp, variantValue); + } + NavigableMap<String, Number> sortedData = new TreeMap<>(data); - data.put(formatedTimeStamp, variantValue); + for (Map.Entry<String, Number> entry : sortedData.entrySet()) { + String key = entry.getKey(); + String next = sortedData.higherEntry(entry.getKey()).getKey(); // next - listOfLists.add(new ArrayList<Number>()); + System.out.println("NĂ¥: "+key); + System.out.println("Neste: "+next); } - return data; + + + return data; } /** @@ -153,6 +171,8 @@ public class DB { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + + // Preparing a query statement final String sqlStatement = "SELECT Name, CalculatedStart, CalculatedStop FROM `sf-drying-optimization.124.int_dk_valmaticsdryingbatches`" + @@ -176,7 +196,10 @@ public class DB { String formattedCalculatedStart = dateFormat.format(calculatedStart); String formattedCalculatedStop = dateFormat.format(calculatedStop); - System.out.printf("%s\t\t\t%s\t\t\t%s\n",name, formattedCalculatedStart, formattedCalculatedStop); + java.sql.Timestamp timestamp = new Timestamp(calculatedStart); + System.out.println(timestamp); + + //System.out.printf("%s\t\t\t%s\t\t\t%s\n",name, formattedCalculatedStart, formattedCalculatedStop); } //return data; diff --git a/src/main/java/com/application/Main.java b/src/main/java/com/application/Main.java index 55fe158..a21f7f2 100644 --- a/src/main/java/com/application/Main.java +++ b/src/main/java/com/application/Main.java @@ -1,10 +1,9 @@ package com.application; import com.application.DB.DB; -import javafx.application.Application; +import javafx.application.Application; import javafx.scene.chart.LineChart; - import javafx.scene.control.MenuBar; import javafx.scene.control.ToggleButton; import javafx.scene.control.ToggleGroup; @@ -13,14 +12,10 @@ import javafx.scene.image.ImageView; import javafx.scene.layout.*; import javafx.scene.Scene; import javafx.stage.Stage; - - import javafx.scene.chart.CategoryAxis; - import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; - import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; diff --git a/target/classes/com/application/DB/DB.class b/target/classes/com/application/DB/DB.class index cf5b913fe5b25df78e5f87d4e74206b7819a98bb..09e5c74d9286c746e9a1a46b2c1ffd7dcea1c4c9 100644 GIT binary patch delta 3946 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 LFuY<o!ypL&lqi(| delta 2689 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 L8BQ`RXOIK{ZV)J3 diff --git a/target/classes/com/application/DB/Sort.class b/target/classes/com/application/DB/Sort.class deleted file mode 100644 index af7725eabeed8f31bef3c2fa8720615f22f08490..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5670 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 diff --git a/target/classes/com/application/Main.class b/target/classes/com/application/Main.class index 529aafa67273028ab74fc4440d51c6f3ee9d1512..2aba5bd4c21111477289f6aa05bc62773886010e 100644 GIT binary patch delta 364 zcmbPdGtXwjcQHn}$v?zwSalg#81yDviq}e-Gq5mNG4L~3Ge|MmFsL%vG8iz}F<3L$ zZ$2+B#8~gmz`@|dAi&_uAi?0rpuiBwpvDlypwAG@V8IZ=;K&fl;KdNZ5XunAkiZbb zkiihkP{0t!P{EME(8Q3$(8`d^(8rL@Fqa{NVKYM(!%l`Ah64<_496Mr7|t-{GhARO zU}$DwV9;V<VPIgm$k4*j$^Zfv8744HWME|An4BPa$gqlmgQ1#1h@pl-hM|^0ouQ7w zh@pwWoS~V)hM|SQiJ_IjgQ0`Lm!X>>l3_YS4a1Dd!BRgBmoNx2EM-t)Sizvpu#&-) zVGV-~!&(MMhII^{4C@*E88$IQFl=T>VA#r#$*_%~kYUH<TIu_``xrPF_A>}D9AFS* zIK-g9aFjuf;W&df!wCj6hEojo45t~~7|t++Fq~sZU^qXyQ)WNonaQ5A;ha4TEDXI2 M+zfq_SIU+G0LYtCf&c&j delta 364 zcmbPdGtXwjcQHog$v?zwSdAE17>p-diq}foFt9M#Gw?GwFi0^tGN>{*F&Hp7GgvdY zY(6h8#8@A|z`+p6AixmBAi)sKpuiBupvDl+pwAG&V8IZ{;K&fg;KdNj5Xun8kid}0 zkin3|P{5GPP{EMO(8Q3=(8`d((8rL&Fqa{hVKYNM!%l`mh64;m496LY8O|`2FkE0L zWoTw#V9;V<VPIgm$k4*j$^Zfv8744HWME|An4BPa$grM)gQ0;zh@p`|hM|c;ouQe* zh@qXqoS}okhM|+eiJ^<ZgQ1tfmtg`!B*Pqr8iu)(gQb2Nu4E8oSjC{ku$DoaVI6}h z!$t-hhD{8P44WA|8MZL^Gi+ywVA#Qsz_5!UlVLYQA;aFuwbJ)>4>NEu9AOY(ILaW# zaGXJb;S_@!!x;u`hO-Q24Cfi_87?rmF<fK_VYtkYz;I=9r_6rFi<3QN!#O81urN$w M;AWUSd8KSA0M%tw0{{R3 -- GitLab