Skip to content
Snippets Groups Projects
Commit 7ca44641 authored by Eilert Tunheim's avatar Eilert Tunheim
Browse files

Combined searching data from multiple sawmills

parent 64c3d23b
No related branches found
No related tags found
No related merge requests found
......@@ -3,22 +3,18 @@ package com.application.DB;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;
/**
* This class contains constants to be used related to database activities
*/
public final class Constants {
// Format for today's date
static DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
private Constants() {
// Empty constructor
}
// Today's date
public static final String TODAYS_DATE = format.format(LocalDateTime.now());
public static final String TODAYS_DATE = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());
// User inputs
public static String TREE_SPECIES = "";
......@@ -27,79 +23,139 @@ public final class Constants {
public static String MOISTURE_GOAL = "";
// Number of wanted drying periods
public static int NUMBER_OF_PERIODS = 1;
// Database ID/name
public static final String PROJECT_ID = "sf-drying-optimization";
// Location Valasen(124)
// Project settings
public static final int LOCATION_ID = 124;
public static final String TABLE_NAME_VALMATICS = "int_dk_valmaticsdryingbatches_v2";
public static final String TABLE_NAME_KWH = "int_sd_winccsensordata";
public static final int VALASEN_LOCATION_ID = 124;
public static final String VALASEN_TABLE_NAME_VALMATICS = "int_dk_valmaticsdryingbatches_v2";
public static final String VALASEN_TABLE_NAME_KWH = "int_sd_winccsensordata";
// Parameters settings
// Valmatics
public static final String NAME_PARAMATERS = "Name";
public static final String START_DRYING_NAME = "DryingStarted";
public static final String STOP_DRYING_NAME = "CalculatedStop";
public static final String KILIN_NAME = "KilnName";
public static int KILIN_ID = 5; // Kammer 5
//public static int KILIN_ID = 6; // Kammer 6
public static final int LIMIT = 1000;
public static final String VALASEN_NAME_PARAMATERS = "Name";
public static final String VALASEN_START_DRYING_NAME = "DryingStarted";
public static final String VALASEN_STOP_DRYING_NAME = "CalculatedStop";
public static final String VALASEN_KILIN_NAME = "KilnName";
public static int VALASEN_KILIN_ID = 5; // Kammer 5
//public static int VALASEN_KILIN_ID = 6; // Kammer 6
public static final int VALASEN_LIMIT = 1000;
// Winccsensordata
public static final String KWH_NAME = "VariantValue";
public static final String TIMESTAMP_NAME = "Timestamp";
public static final String VALUE_ID_NAME = "ValueID";
public static final int VALUE_ID = 51; // Kammer 5
//public static final int VALUE_ID = 56; // Kammer 6
public static final String VALASEN_KWH_NAME = "VariantValue";
public static final String VALASEN_TIMESTAMP_NAME = "Timestamp";
public static final String VALASEN_VALUE_ID_NAME = "ValueID";
public static final int VALASEN_VALUE_ID = 51; // Kammer 5
//public static final int VALASEN_VALUE_ID = 56; // Kammer 6
/*
// Location Arjang(174)
// Project settings
public static final int LOCATION_ID = 174;
public static final String TABLE_NAME_VALMATICS = "int_dk_valmaticsdryingbatches";
public static final String TABLE_NAME_KWH = "int_sd_swappconsensordata";
public static final int ARJANG_LOCATION_ID = 174;
public static final String ARJANG_TABLE_NAME_VALMATICS = "int_dk_valmaticsdryingbatches";
public static final String ARJANG_TABLE_NAME_KWH = "int_sd_swappconsensordata";
// Parameters settings
// Valmatics
public static final String NAME_PARAMATERS = "Name";
public static final String START_DRYING_NAME = "DryingStarted";
public static final String STOP_DRYING_NAME = "DryingCompleted";
public static final String KILIN_NAME = "KilinId";
public static int KILIN_ID = 18;
//public static int KILIN_ID = 18554;
public static final int LIMIT = 1000;
public static final String ARJANG_NAME_PARAMATERS = "Name";
public static final String ARJANG_START_DRYING_NAME = "DryingStarted";
public static final String ARJANG_STOP_DRYING_NAME = "DryingCompleted";
public static final String ARJANG_KILIN_NAME = "KilinId";
public static int ARJANG_KILIN_ID = 18;
//public static int ARJANG_KILIN_ID = 18554;
public static final int ARJANG_LIMIT = 1000;
// Swappconsensordata
public static final String KWH_NAME = "RealValue";
public static final String TIMESTAMP_NAME = "Timestamp";
public static final String VALUE_ID_NAME = "ValueID";
public static final int VALUE_ID = 19;
public static final String ARJANG_KWH_NAME = "RealValue";
public static final String ARJANG_TIMESTAMP_NAME = "Timestamp";
public static final String ARJANG_VALUE_ID_NAME = "ValueID";
public static final int ARJANG_VALUE_ID = 19;
*/
public static HashMap<Integer, HashMap<String, HashMap<String, String>>> getSawmills(){
HashMap<Integer, HashMap<String, HashMap<String, String>>> sawmillInfo = new HashMap<>();
sawmillInfo.put(VALASEN_LOCATION_ID, getValasenTables());
sawmillInfo.put(ARJANG_LOCATION_ID, getArjangTables());
return sawmillInfo;
}
// Valasen
private static HashMap<String, HashMap<String, String>> getValasenTables(){
HashMap<String, HashMap<String, String>> valasenTables = new HashMap<>();
valasenTables.put(getValasenTableNames().get("Valmetics"), getValasenValmeticsParameters());
valasenTables.put(getValasenTableNames().get("Kwh"), getValasenWinccsensordataParameters());
return valasenTables;
}
public static HashMap<String, String> getValasenTableNames(){
HashMap<String, String> valasenTables = new HashMap<>();
valasenTables.put("Valmetics", VALASEN_TABLE_NAME_VALMATICS);
valasenTables.put("Kwh", VALASEN_TABLE_NAME_KWH);
return valasenTables;
}
private static HashMap<String, String> getValasenValmeticsParameters(){
HashMap<String, String> valasenValmeticsParameters = new HashMap<>();
valasenValmeticsParameters.put("Name", VALASEN_NAME_PARAMATERS);
valasenValmeticsParameters.put("DryingStarted", VALASEN_START_DRYING_NAME);
valasenValmeticsParameters.put("DryingStopped", VALASEN_STOP_DRYING_NAME);
valasenValmeticsParameters.put("KilnName", VALASEN_KILIN_NAME);
valasenValmeticsParameters.put("KilinID", String.valueOf(VALASEN_KILIN_ID));
valasenValmeticsParameters.put("Limit", String.valueOf(VALASEN_LIMIT));
return valasenValmeticsParameters;
}
private static HashMap<String, String> getValasenWinccsensordataParameters(){
HashMap<String, String> valasenWinccsensordataParameters = new HashMap<>();
valasenWinccsensordataParameters.put("KwhName", VALASEN_KWH_NAME);
valasenWinccsensordataParameters.put("Timestamp", VALASEN_TIMESTAMP_NAME);
valasenWinccsensordataParameters.put("ValueIDName", VALASEN_VALUE_ID_NAME);
valasenWinccsensordataParameters.put("ValueID", String.valueOf(VALASEN_VALUE_ID));
return valasenWinccsensordataParameters;
}
// Arjang
private static HashMap<String, HashMap<String, String>> getArjangTables(){
HashMap<String, HashMap<String, String>> arjangTables = new HashMap<>();
arjangTables.put(getArjangTableNames().get("Valmetics"), getArjangValmeticsParameters());
arjangTables.put(getArjangTableNames().get("Kwh"), getArjangWinccsensordataParameters());
return arjangTables;
}
public static HashMap<String, String> getArjangTableNames(){
HashMap<String, String> valasenTables = new HashMap<>();
valasenTables.put("Valmetics", ARJANG_TABLE_NAME_VALMATICS);
valasenTables.put("Kwh", ARJANG_TABLE_NAME_KWH);
return valasenTables;
}
private static HashMap<String, String> getArjangValmeticsParameters(){
HashMap<String, String> arjangValmeticsParameters = new HashMap<>();
arjangValmeticsParameters.put("Name", ARJANG_NAME_PARAMATERS);
arjangValmeticsParameters.put("DryingStarted", ARJANG_START_DRYING_NAME);
arjangValmeticsParameters.put("DryingStopped", ARJANG_STOP_DRYING_NAME);
arjangValmeticsParameters.put("KilnName", ARJANG_KILIN_NAME);
arjangValmeticsParameters.put("KilinID", String.valueOf(ARJANG_KILIN_ID));
arjangValmeticsParameters.put("Limit", String.valueOf(ARJANG_LIMIT));
return arjangValmeticsParameters;
}
private static HashMap<String, String> getArjangWinccsensordataParameters(){
HashMap<String, String> arjangWinccsensordataParameters = new HashMap<>();
arjangWinccsensordataParameters.put("KwhName", ARJANG_KWH_NAME);
arjangWinccsensordataParameters.put("Timestamp", ARJANG_TIMESTAMP_NAME);
arjangWinccsensordataParameters.put("ValueIDName", ARJANG_VALUE_ID_NAME);
arjangWinccsensordataParameters.put("ValueID", String.valueOf(ARJANG_VALUE_ID));
return arjangWinccsensordataParameters;
}
}
......@@ -60,6 +60,8 @@ public class DB {
//getKwh();
//getName();
//getZeroPointDate();
System.out.println(setInputParameters());
}
......@@ -125,24 +127,91 @@ public class DB {
}
public static Map<Integer, Map<String, Number>> setInputParameters() throws Exception {
//public static Map<String, String> setInputParameters() throws Exception {
Map<Integer, Map<String, Number>> allDryingPeriods = new TreeMap<>();
String extraInputParameter = "";
int locationID = 0;
int index = 0;
// Valmetics parameters
String nameParameter = "";
String kilinName = "";
int kilinID = 0;
String startDryingTime = "";
String stopDryingTime = "";
String valmeticsTableName = "";
int limit = 0;
// Kwh parameters
String kwhTableName = "";
String KwhName = "";
String timestamp = "";
String valueIDName = "";
int valueID = 0;
for (HashMap.Entry<Integer, HashMap<String, HashMap<String, String>>> location : Constants.getSawmills().entrySet()) {
System.out.printf("\n\nLocation ID: \t%s\t\t\tRest of map: \t%s\n", location.getKey(), location.getValue());
locationID = location.getKey();
//System.out.println(location.getValue());
if (location.getKey() == 124) {
// Valmetics
valmeticsTableName = getValasenTableNames().get("Valmetics");
nameParameter = location.getValue().get(getValasenTableNames().get("Valmetics")).get("Name");
startDryingTime = location.getValue().get(getValasenTableNames().get("Valmetics")).get("DryingStarted");
stopDryingTime = location.getValue().get(getValasenTableNames().get("Valmetics")).get("DryingStopped");
kilinName = location.getValue().get(getValasenTableNames().get("Valmetics")).get("KilnName");
kilinID = Integer.parseInt(location.getValue().get(getValasenTableNames().get("Valmetics")).get("KilinID"));
limit = Integer.parseInt(location.getValue().get(getValasenTableNames().get("Valmetics")).get("Limit"));
// Kwh
kwhTableName = getValasenTableNames().get("Kwh");
KwhName = location.getValue().get(getValasenTableNames().get("Kwh")).get("KwhName");
timestamp = location.getValue().get(getValasenTableNames().get("Kwh")).get("Timestamp");
valueIDName = location.getValue().get(getValasenTableNames().get("Kwh")).get("ValueIDName");
valueID = Integer.parseInt(location.getValue().get(getValasenTableNames().get("Kwh")).get("ValueID"));
}
if (location.getKey() == 174) {
// Valmetics
valmeticsTableName = getArjangTableNames().get("Valmetics");
nameParameter = location.getValue().get(getArjangTableNames().get("Valmetics")).get("Name");
startDryingTime = location.getValue().get(getArjangTableNames().get("Valmetics")).get("DryingStarted");
stopDryingTime = location.getValue().get(getArjangTableNames().get("Valmetics")).get("DryingStopped");
kilinName = location.getValue().get(getArjangTableNames().get("Valmetics")).get("KilnName");
kilinID = Integer.parseInt(location.getValue().get(getArjangTableNames().get("Valmetics")).get("KilinID"));
limit = Integer.parseInt(location.getValue().get(getArjangTableNames().get("Valmetics")).get("Limit"));
// Kwh
kwhTableName = getArjangTableNames().get("Kwh");
KwhName = location.getValue().get(getArjangTableNames().get("Kwh")).get("KwhName");
timestamp = location.getValue().get(getArjangTableNames().get("Kwh")).get("Timestamp");
valueIDName = location.getValue().get(getArjangTableNames().get("Kwh")).get("ValueIDName");
valueID = Integer.parseInt(location.getValue().get(getArjangTableNames().get("Kwh")).get("ValueID"));
}
// If location is Valasen, then the database stores furu as fura, swedish.
if(LOCATION_ID == 124 && TREE_SPECIES.equalsIgnoreCase("Furu")) {
if (location.getKey() == 124 && TREE_SPECIES.equalsIgnoreCase("Furu")) {
TREE_SPECIES = "Fura";
}
/*
System.out.printf("Tree species: \t%s\n", TREE_SPECIES);
System.out.printf("Width: \t\t\t%s\n", DIMENSIONS);
System.out.printf("Sawset: \t\t%s\n", SAWSET);
System.out.printf("Moisture: \t\t%s\n", MOISTURE_GOAL);
String extraInputParameter = "";
String treeSpecies = "AND LOWER(" +NAME_PARAMATERS+ ") LIKE LOWER("+'"'+"%"+ TREE_SPECIES +"%"+'"'+") ";
String dimensions = "AND LOWER(" +NAME_PARAMATERS+ ") LIKE LOWER("+'"'+"%"+ DIMENSIONS +"%"+'"'+") ";
String sawset = "AND LOWER(" +NAME_PARAMATERS+ ") LIKE LOWER("+'"'+"%"+ SAWSET +"%"+'"'+") ";
String moistureGoal = "AND LOWER(" +NAME_PARAMATERS+ ") LIKE LOWER("+'"'+"%"+ MOISTURE_GOAL +"%"+'"'+") ";
*/
String treeSpecies = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + TREE_SPECIES + "%" + '"' + ") ";
String dimensions = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + DIMENSIONS + "%" + '"' + ") ";
String sawset = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + SAWSET + "%" + '"' + ") ";
String moistureGoal = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + MOISTURE_GOAL + "%" + '"' + ") ";
// Input parameters
......@@ -159,13 +228,14 @@ public class DB {
extraInputParameter += moistureGoal;
}
Map<Integer, Map<String, Number>> results = new TreeMap<>();
Map<Integer, Map<String, Number>> results;
while (true) {
System.out.printf("\nExtra parameters:\n %s\n\n", extraInputParameter);
// Retrieves the dates
results = getKwh(getZeroPointDate(extraInputParameter));
//results = getKwh(getZeroPointDate(locationID, extraInputParameter, nameParameter, kilinName, kilinID, startDryingTime, stopDryingTime, valmeticsTableName, limit));
results = getKwh(getZeroPointDate(locationID, extraInputParameter, nameParameter, kilinName, kilinID, startDryingTime, stopDryingTime, valmeticsTableName, limit),
locationID, kwhTableName, KwhName, timestamp,valueIDName, valueID, index);
// Checks if any dates where found, if not parameters are removed until dates are found
if (results.size() < NUMBER_OF_PERIODS) {
......@@ -182,10 +252,17 @@ public class DB {
extraInputParameter = extraInputParameter.replace(moistureGoal, "");
System.out.println("Moisture goal is removed");
} else break;
} else break;
}
allDryingPeriods.putAll(results);
index = results.size();
}
else break;
System.out.println(allDryingPeriods.size());
for (Map.Entry<Integer, Map<String, Number>> entry : allDryingPeriods.entrySet()) {
System.out.printf("Timestamp: \t%s\t\t\tkWh: \t%s\n", entry.getKey(), entry.getValue());
}
return results;
return allDryingPeriods;
}
......@@ -195,13 +272,15 @@ public class DB {
* @return the results
* @throws Exception returns potential error
*/
public static Map<Integer, Map<String, Number>> getKwh(Map<String, String> dates) throws Exception {
public static Map<Integer, Map<String, Number>> getKwh(Map<String, String> dates, int locationID,
String kwhTableName, String KwhName,
String timestamp, String valueIDName,
int valueID, int index) throws Exception {
// Initializing the data map to store the results
Map<Integer, Map<String, Number>> finalResults = new HashMap<>();
int index = 0;
for (Map.Entry<String, String> entry : dates.entrySet()) {
//System.out.printf("Intid: \t%s\t\t\tOuttid: \t%s\n",entry.getKey(),entry.getValue());
......@@ -210,13 +289,13 @@ public class DB {
// Preparing a query statement
// Query statement 124 Valåsen
final String sqlStatement = "SELECT `" + TIMESTAMP_NAME + "`, `"+KWH_NAME+"` " +
"FROM `" + PROJECT_ID + "." + LOCATION_ID + "." + TABLE_NAME_KWH + "` " +
"WHERE " + TIMESTAMP_NAME + " BETWEEN " + '"'+ entry.getKey() + '"' +
final String sqlStatement = "SELECT `" + timestamp + "`, `" + KwhName + "` " +
"FROM `" + PROJECT_ID + "." + locationID + "." + kwhTableName + "` " +
"WHERE " + timestamp + " BETWEEN " + '"' + entry.getKey() + '"' +
" AND " + '"' + entry.getValue() + '"' +
" AND " + VALUE_ID_NAME + " = " + VALUE_ID + " " +
" AND " + KWH_NAME + " <> 0 " +
" ORDER BY " + TIMESTAMP_NAME + " ASC";
" AND " + valueIDName + " = " + valueID + " " +
" AND " + KwhName + " <> 0 " +
" ORDER BY " + timestamp + " ASC";
System.out.println(sqlStatement);
......@@ -230,15 +309,15 @@ public class DB {
// Sets the baseline in order to reset the kWh counter
if (baseline == 0) {
baseline = row.get(""+KWH_NAME+"").getNumericValue().intValue();
baseline = row.get("" + KwhName + "").getNumericValue().intValue();
}
//System.out.println("baseline: "+baseline);
// kWh value
int variantValue = row.get(""+KWH_NAME+"").getNumericValue().intValue()-baseline; //-baseline
int variantValue = row.get("" + KwhName + "").getNumericValue().intValue() - baseline; //-baseline
// Retrieving the wanted data
long timeStamp = row.get(""+TIMESTAMP_NAME+"").getTimestampValue() / 1000;
long timeStamp = row.get("" + timestamp + "").getTimestampValue() / 1000;
// Riktig format, men i string
String formatedTimeStamp = getDateFormat().format(timeStamp);
......@@ -287,59 +366,43 @@ public class DB {
* @return Returns a treemap that sorts the Start- and End time for each drying period incrementally
* @throws Exception Throws exception if an error occurs
*/
private static Map<String, String> getZeroPointDate(String extraUserInput) throws Exception{
private static Map<String, String> getZeroPointDate(int locationID, String extraUserInput, String nameParameter,
String kilinName, int kilinID, String startDryingTime,
String stopDryingTime, String valmeticsTableName, int limit)
throws Exception {
// Initializing the dates map to store the results
Map<String, String> dates = new HashMap<>();
// Preparing a query statement
/*
final String sqlStatement =
"SELECT InTidTork, UtTidTork FROM `sf-drying-optimization.124.int_gs_ds_sipalpackages`" +
"WHERE Tork Like \"%5%\" AND InTidTork BETWEEN \"2021-01-30 08:51:03\" " +
"AND \"2022-03-15 11:10:09\" ORDER BY InTidTork ASC";
*/
// Defining extra parameters if required
String extraInputParameter = "";
extraInputParameter += extraUserInput;
if(LOCATION_ID == 124){
if(locationID == 124){
extraInputParameter += "AND CalculatedStart BETWEEN \"1990-01-01 00:00:00\" AND \"" + TODAYS_DATE + "\" ";
}
if(LOCATION_ID == 174){
if(locationID == 174){
// KILIN_ID starts at 0 not 1 in the database.
KILIN_ID -= 1;
kilinID -= 1;
}
// Sqlstatement for Valåsen(124)
// Sqlstatement
final String sqlStatement =
"SELECT MAX("+ NAME_PARAMATERS +") as DryingSchedule, MAX("+KILIN_NAME+") as Kiln_ID, " + START_DRYING_NAME + ", MAX("+STOP_DRYING_NAME+") as DryingCompleted " +
"FROM `" + PROJECT_ID + "." + LOCATION_ID + "." + TABLE_NAME_VALMATICS + "` " +
"WHERE " + KILIN_NAME + " = " + KILIN_ID + " " +
"AND "+START_DRYING_NAME+" BETWEEN \"1990-01-01 00:00:00\" AND \"" + TODAYS_DATE + "\" " +
"AND "+STOP_DRYING_NAME+" BETWEEN \"1990-01-01 00:00:00\" AND \"" + TODAYS_DATE + "\" " +
"SELECT MAX("+ nameParameter +") as DryingSchedule, MAX("+kilinName+") as Kiln_ID, " + startDryingTime + ", MAX("+stopDryingTime+") as DryingCompleted " +
"FROM `" + PROJECT_ID + "." + locationID + "." + valmeticsTableName + "` " +
"WHERE " + kilinName + " = " + kilinID + " " +
"AND "+startDryingTime+" BETWEEN \"1990-01-01 00:00:00\" AND \"" + TODAYS_DATE + "\" " +
"AND "+stopDryingTime+" BETWEEN \"1990-01-01 00:00:00\" AND \"" + TODAYS_DATE + "\" " +
extraInputParameter +
"AND LOWER(" +NAME_PARAMATERS+ ") NOT LIKE LOWER("+'"'+"%"+ "test" +"%"+'"'+") " +
"Group by "+ START_DRYING_NAME + " " +
"Order by "+ START_DRYING_NAME + " ASC " +
"LIMIT " + LIMIT;
"AND LOWER(" +nameParameter+ ") NOT LIKE LOWER("+'"'+"%"+ "test" +"%"+'"'+") " +
"Group by "+ startDryingTime + " " +
"Order by "+ startDryingTime + " ASC " +
"LIMIT " + limit;
System.out.println(sqlStatement);
/*
// Sqlstatement for Årjang(174)
final String sqlStatement =
"SELECT MAX(Name) as DryingSchedule, MAX(KilinId)+1 as KilnName, DryingStarted, Max(DryingCompleted) as DryingCompleted\n" +
"FROM `" + PROJECT_ID + "." + LOCATION_ID + "." + TABLE_NAME_VALMATICS + "` " +
"WHERE KilinId = 16 \n" +
"AND DATE(DryingStarted) BETWEEN \"1990-08-17\" AND \"2022-08-17\"\n" +
"AND DATE(DryingCompleted) BETWEEN \"1990-08-17\" AND \"2022-08-17\"\n" +
"Group by DryingStarted\n" +
"Order by DryingStarted desc";
*/
// Retrieves the results from the queryjob
TableResult result = createQueryJob(sqlStatement);
......@@ -440,46 +503,5 @@ public class DB {
// Returns a treemap that sorts the dates incrementally
return new TreeMap<>(sortedFinalResults);
/*
// Defining a treemap to sort through the data
NavigableMap<String, String> dataSet = new TreeMap<>(dates);
// Defining a hashmap to store the final sorted data
Map<String, String> sortedDates = new HashMap<>();
// Iterating through the data in order to find and set a zeropoint for the dates.
for (Map.Entry<String, String> entry : dataSet.entrySet()) {
// Retrieving the entry key and value
String inTid = entry.getKey();
String utTid = entry.getValue();
// Format the date to LocalDateTime datatype
LocalDateTime date = LocalDateTime.parse(inTid, format);
// Creates a future date to compare against one day forward in time
LocalDateTime dateNowPlus = date.plusDays(1);
String formatedDateNowPlus = format.format(dateNowPlus);
try {
// Retrieves the next entry in the list
String next = dataSet.higherEntry(entry.getKey()).getKey();
// Checks if the next date is longer than 1 day,
// 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.
sortedDates.put(inTid,utTid);
}
} catch (NullPointerException e){
// Can't find any more iterations, breaks out of the loop.
break;
}
}
// Defining a treemap to sort through the data
return new TreeMap<>(sortedDates);
*/
}
}
......@@ -53,7 +53,6 @@ public class LineChartFunctionality {
for (Map.Entry<Integer, Map<String, Number>> entryKwh : userInput.entrySet()) {
Map data = entryKwh.getValue();
//System.out.println(data.size());
XYChart.Series<String, Number> newSeries = new XYChart.Series<String, Number>();
int index = 0;
for (Object entryData : data.entrySet()) {
......
package com.application;
import com.application.DB.Constants;
import com.application.GUI.InputPopUpWindow;
import com.application.GUI.OutputPopUpWindow;
import com.application.GUI.RingProgressIndicator;
......@@ -121,6 +122,8 @@ public class Main extends Application {
// Displays the input parameters popup window
InputPopUpWindow.display();
System.out.println(Constants.getSawmills());
}
/**
......
No preview for this file type
No preview for this file type
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment