From 7695e3ebe423cbaa67364ea1dd2987053972bb5a Mon Sep 17 00:00:00 2001 From: Tobias Peper Date: Sat, 1 Mar 2025 12:14:32 +0100 Subject: [PATCH] Aktueller Stand --- .settings/org.eclipse.core.resources.prefs | 3 +++ .../info/peper/vz/rest/FillAggregateTableMain.java | 14 ++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index e9441bb..29abf99 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,6 @@ eclipse.preferences.version=1 encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 encoding/=UTF-8 diff --git a/src/main/java/info/peper/vz/rest/FillAggregateTableMain.java b/src/main/java/info/peper/vz/rest/FillAggregateTableMain.java index 4409c5d..d70026b 100644 --- a/src/main/java/info/peper/vz/rest/FillAggregateTableMain.java +++ b/src/main/java/info/peper/vz/rest/FillAggregateTableMain.java @@ -27,13 +27,14 @@ public class FillAggregateTableMain { "vz", getPassword())) { long startTimeStamp = getTimestamp("2022-06-01T00:00:00"); - long endTimeStamp = startTimeStamp + (24*60*60*1000); final long finalEndTimeStamp = getTimestamp("2025-02-24T00:00:00"); + + long endTimeStamp = startTimeStamp + (24*60*60*1000); while (endTimeStamp < finalEndTimeStamp) { for (int channelId : CHANNELS_TO_USE) { + System.out.print(DTF.format(Instant.ofEpochMilli(startTimeStamp)) + ": " + channelId + ": "); final long[] values = getValues(con, startTimeStamp, endTimeStamp, channelId); saveValues(con, startTimeStamp, endTimeStamp, channelId, values); - System.out.println(DTF.format(Instant.ofEpochMilli(startTimeStamp)) + ": " + channelId); } startTimeStamp += 24*60*60*1000; endTimeStamp += 24*60*60*1000; @@ -77,13 +78,17 @@ public class FillAggregateTableMain { long wattMillisecondsPos = 0; long wattMillisecondsNeg = 0; + int numberOfRows = 0; while (currentTimestamp < endTimestamp) { - try (final PreparedStatement stmt = con.prepareStatement("SELECT * FROM volkszaehler.data WHERE channel_id=? AND timestamp>? ORDER BY timestamp;")) { - stmt.setMaxRows(10000); + try (final PreparedStatement stmt = con.prepareStatement("SELECT * FROM volkszaehler.data WHERE channel_id=? AND timestamp>? AND timestamp<=? ORDER BY timestamp;")) { + System.out.print("#"); + stmt.setMaxRows(5000); stmt.setInt(1, channelId); stmt.setLong(2, currentTimestamp); + stmt.setLong(3, currentTimestamp + (864000000)); try (final ResultSet rs = stmt.executeQuery()) { while (rs.next() && currentTimestamp <= endTimestamp) { + numberOfRows++; final long rsTimestamp = rs.getLong("timestamp"); final long rsValue = rs.getLong("value"); final long tsDiff = Math.min(rsTimestamp - currentTimestamp, endTimestamp - currentTimestamp); @@ -97,6 +102,7 @@ public class FillAggregateTableMain { } } } + System.out.println(" " + numberOfRows); return new long[] {wattMillisecondsPos/3600, wattMillisecondsNeg/3600}; }