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

Fixed searching for moisture sql statement, 42 drying periods now!

parent 66502b87
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,8 @@ package com.application.DB;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
/**
......@@ -44,6 +46,7 @@ public final class Constants {
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;
public static final ArrayList<Integer> VALASEN_VALMETICS_CHAMBER_IDS = new ArrayList<>(Arrays.asList(5,6));
// Winccsensordata
public static final String VALASEN_KWH_NAME = "VariantValue";
......@@ -51,6 +54,7 @@ public final class Constants {
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
public static final ArrayList<Integer> VALASEN_KWH_CHAMBER_IDS = new ArrayList<>(Arrays.asList(51,56));
......@@ -69,15 +73,17 @@ public final class Constants {
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 = 18;
//public static int ARJANG_KILIN_ID = 18554;
public static final int ARJANG_LIMIT = 1000;
public static final ArrayList<Integer> ARJANG_VALMETICS_CHAMBER_IDS = new ArrayList<>(Arrays.asList(17,18));
// Swappconsensordata
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 final int ARJANG_VALUE_ID = 19;
public static final ArrayList<Integer> ARJANG_KWH_CHAMBER_IDS = new ArrayList<>(Arrays.asList(19,19));
......@@ -89,6 +95,7 @@ public final class Constants {
return sawmillInfo;
}
// Valasen
private static HashMap<String, HashMap<String, String>> getValasenTables(){
HashMap<String, HashMap<String, String>> valasenTables = new HashMap<>();
......@@ -110,20 +117,30 @@ public final class Constants {
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("KilinID", String.valueOf(VALASEN_KILIN_ID));
valasenValmeticsParameters.put("Limit", String.valueOf(VALASEN_LIMIT));
return valasenValmeticsParameters;
}
public static ArrayList<Integer> getValasenValmeticsChamberIDS(){
return VALASEN_VALMETICS_CHAMBER_IDS;
}
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));
//valasenWinccsensordataParameters.put("ValueID", String.valueOf(VALASEN_VALUE_ID));
return valasenWinccsensordataParameters;
}
public static ArrayList<Integer> getValasenKwhChamberIDS(){
return VALASEN_KWH_CHAMBER_IDS;
}
// Arjang
private static HashMap<String, HashMap<String, String>> getArjangTables(){
HashMap<String, HashMap<String, String>> arjangTables = new HashMap<>();
......@@ -145,17 +162,25 @@ public final class Constants {
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("KilinID", String.valueOf(ARJANG_KILIN_ID));
arjangValmeticsParameters.put("Limit", String.valueOf(ARJANG_LIMIT));
return arjangValmeticsParameters;
}
public static ArrayList<Integer> getArjangValmeticsChamberIDS(){
return ARJANG_VALMETICS_CHAMBER_IDS;
}
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));
//arjangWinccsensordataParameters.put("ValueID", String.valueOf(ARJANG_VALUE_ID));
return arjangWinccsensordataParameters;
}
public static ArrayList<Integer> getArjangKwhChamberIDS(){
return ARJANG_KWH_CHAMBER_IDS;
}
}
......@@ -127,10 +127,6 @@ public class DB {
}
public static void getData(){
}
public static Map<Integer, Map<String, Number>> setInputParameters() throws Exception {
......@@ -141,6 +137,12 @@ public class DB {
boolean dimensionsRemoved = false;
boolean moistureRemoved = false;
HashMap<java.lang.String, java.lang.String> locationTables = null;
ArrayList<Integer> valmeticsChamberIDS = null;
ArrayList<Integer> kwhChamberIDS = null;
int numberOfChambers;
String extraInputParameter = "";
int locationID;
int index = 0;
......@@ -151,20 +153,20 @@ public class DB {
String moistureGoal = "";
// Valmetics parameters
String nameParameter = "";
String kilinName = "";
int kilinID = 0;
String startDryingTime = "";
String stopDryingTime = "";
String valmeticsTableName = "";
int limit = 0;
String nameParameter;
String kilinName;
int kilinID;
String startDryingTime;
String stopDryingTime;
String valmeticsTableName;
int limit;
// Kwh parameters
String kwhTableName = "";
String KwhName = "";
String timestamp = "";
String valueIDName = "";
int valueID = 0;
String kwhTableName;
String KwhName;
String timestamp;
String valueIDName;
int valueID;
while(true){
......@@ -183,44 +185,35 @@ public class DB {
//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 is Valasen, then the database stores furu as fura, swedish.
if (TREE_SPECIES.equalsIgnoreCase("Furu")) {
TREE_SPECIES = "Fura";
}
locationTables = getValasenTableNames();
valmeticsChamberIDS = getValasenValmeticsChamberIDS();
kwhChamberIDS = getValasenKwhChamberIDS();
}
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"));
locationTables = getArjangTableNames();
valmeticsChamberIDS = getArjangValmeticsChamberIDS();
kwhChamberIDS = getArjangKwhChamberIDS();
}
// If location is Valasen, then the database stores furu as fura, swedish.
if (location.getKey() == 124 && TREE_SPECIES.equalsIgnoreCase("Furu")) {
TREE_SPECIES = "Fura";
}
// Valmetics
valmeticsTableName = locationTables.get("Valmetics");
nameParameter = location.getValue().get(locationTables.get("Valmetics")).get("Name");
startDryingTime = location.getValue().get(locationTables.get("Valmetics")).get("DryingStarted");
stopDryingTime = location.getValue().get(locationTables.get("Valmetics")).get("DryingStopped");
kilinName = location.getValue().get(locationTables.get("Valmetics")).get("KilnName");
//kilinID = Integer.parseInt(location.getValue().get(locationTables.get("Valmetics")).get("KilinID"));
limit = Integer.parseInt(location.getValue().get(locationTables.get("Valmetics")).get("Limit"));
// Kwh
kwhTableName = locationTables.get("Kwh");
KwhName = location.getValue().get(locationTables.get("Kwh")).get("KwhName");
timestamp = location.getValue().get(locationTables.get("Kwh")).get("Timestamp");
valueIDName = location.getValue().get(locationTables.get("Kwh")).get("ValueIDName");
//valueID = Integer.parseInt(location.getValue().get(locationTables.get("Kwh")).get("ValueID"));
System.out.printf("Tree species: \t%s\n", TREE_SPECIES);
......@@ -233,7 +226,7 @@ public class DB {
treeSpecies = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + TREE_SPECIES + "%" + '"' + ") ";
dimensions = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + DIMENSIONS + "%" + '"' + ") ";
sawset = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + SAWSET + "%" + '"' + ") ";
moistureGoal = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + MOISTURE_GOAL + "%" + '"' + ") ";
moistureGoal = "AND LOWER(" + nameParameter + ") LIKE LOWER(" + '"' + "%" + MOISTURE_GOAL + "\\\\%" + "%" + '"' + ") ";
// 1. Checking if user input is empty.
......@@ -255,6 +248,20 @@ public class DB {
System.out.printf("\nExtra parameters:\n %s\n\n", extraInputParameter);
// Sets the lowest number of chambers to iterate through
numberOfChambers = Math.min(valmeticsChamberIDS.size(), kwhChamberIDS.size());
System.out.printf("\nnumberOfChambers: \t%d\n",numberOfChambers);
for (int i = 0; i < numberOfChambers; i++) {
// Sets the kiln number
kilinID = valmeticsChamberIDS.get(i);
valueID = kwhChamberIDS.get(i);
System.out.printf("KilinID: \t%d\n",kilinID);
System.out.printf("valueID: \t%d\n",valueID);
//System.out.println("Før results");
Map<Integer, Map<String, Number>> results = new TreeMap<>(getKwh(getZeroPointDate(locationID, extraInputParameter, nameParameter, kilinName, kilinID, startDryingTime, stopDryingTime, valmeticsTableName, limit),
locationID, kwhTableName, KwhName, timestamp, valueIDName, valueID, index));
......@@ -263,6 +270,7 @@ public class DB {
intermediateHashMap.putAll(results);
index += results.size();
//System.out.println("Etter results");
}
}
......@@ -272,7 +280,7 @@ public class DB {
//results = getKwh(getZeroPointDate(locationID, extraInputParameter, nameParameter, kilinName, kilinID, startDryingTime, stopDryingTime, valmeticsTableName, limit));
// Checks if any dates where found, if not parameters are removed until dates are found
if (intermediateHashMap.size() <= NUMBER_OF_PERIODS) {
if (intermediateHashMap.size() < NUMBER_OF_PERIODS) {
//System.out.println("\nInni if, sletter parameter:\n");
if (extraInputParameter.contains(sawset) && !sawsetRemoved) {
extraInputParameter = extraInputParameter.replace(sawset, "");
......@@ -384,7 +392,7 @@ public class DB {
}
}
System.out.println("\nFinal results size: " + finalResults.size());
System.out.println("\nFinal results size: " + finalResults.size()+"\n\n");
// Defining a treemap to sort the data incrementally
NavigableMap<Integer, Map<String, Number>> sortedFinalResults = new TreeMap<>(finalResults);
......@@ -457,7 +465,7 @@ public class DB {
// Defining variables
String formatedInTidTork = "";
String formatedUtTidTork = "";
String formatedUtTidTork;
System.out.println(row.get("DryingSchedule").getStringValue());
......@@ -537,11 +545,13 @@ public class DB {
NavigableMap<String, String> sortedFinalResults = new TreeMap<>(dates);
System.out.println("\n");
/*
for (Map.Entry<String, String> entry : sortedFinalResults.entrySet()) {
System.out.printf("Intid: \t%s\t\t\tUttid: \t%s\n",entry.getKey(),entry.getValue());
}
*/
System.out.printf("Size of dates: %s\n\n", sortedFinalResults.size());
......
......@@ -55,7 +55,7 @@ public class InputPopUpWindow {
"Furu",
"Gran"
);
ComboBox<String> treeSpeciesList = new ComboBox<String>(treeSpecies);
ComboBox<String> treeSpeciesList = new ComboBox<>(treeSpecies);
treeSpeciesList.setPromptText("Select Tree Species");
treeSpeciesList.setId("inputDropDownBox");
treeSpeciesList.setEditable(true);
......@@ -75,7 +75,7 @@ public class InputPopUpWindow {
"50x225",
"50x250"
);
ComboBox<String> dimensionsList = new ComboBox<String>(dimensions);
ComboBox<String> dimensionsList = new ComboBox<>(dimensions);
dimensionsList.setPromptText("Select Dimensions");
dimensionsList.setId("inputDropDownBox");
dimensionsList.setEditable(true);
......@@ -91,7 +91,7 @@ public class InputPopUpWindow {
"3ex",
"4ex"
);
ComboBox<String> sawsetList = new ComboBox<String>(sawset);
ComboBox<String> sawsetList = new ComboBox<>(sawset);
sawsetList.setPromptText("Select Dimensions");
sawsetList.setId("inputDropDownBox");
sawsetList.setEditable(true);
......@@ -107,10 +107,10 @@ public class InputPopUpWindow {
"18%",
"20%"
);
ComboBox<String> moistureList = new ComboBox<String>(moistureGoal);
ComboBox<String> moistureList = new ComboBox<>(moistureGoal);
moistureList.setPromptText("Select Dimensions");
moistureList.setId("inputDropDownBox");
moistureList.setEditable(true);;
moistureList.setEditable(true);
// Bottom - start button
......@@ -122,7 +122,13 @@ public class InputPopUpWindow {
TREE_SPECIES = treeSpeciesList.getValue();
DIMENSIONS = dimensionsList.getValue();
SAWSET = sawsetList.getValue();
MOISTURE_GOAL = moistureList.getValue();
if(moistureList.getValue() != null && moistureList.getValue().contains("%"))
{
MOISTURE_GOAL = moistureList.getValue().replace("%","");
} else {
MOISTURE_GOAL = moistureList.getValue();
}
// If the input is null, sets the value to be empty
if (treeSpeciesList.getValue() == null) {
......@@ -168,8 +174,8 @@ public class InputPopUpWindow {
try {
getData();
//loadSingleSeries(setInputParameters(false,false,false,false));
//getData();
loadSingleSeries(setInputParameters());
//loadMultipleSeries(setInputParameters());
//loadSingleSeries();
//loadMultipleSeries();
......
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.
Finish editing this message first!
Please register or to comment