diff --git a/src/main/java/com/application/DB/Constants.java b/src/main/java/com/application/DB/Constants.java index a52c3f91c3aa9fd112481a4983ac79e93fbb6a58..41b0077781f19bb54b7669fbac4fe71980e3fef5 100644 --- a/src/main/java/com/application/DB/Constants.java +++ b/src/main/java/com/application/DB/Constants.java @@ -1,7 +1,5 @@ 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; @@ -15,14 +13,6 @@ public final class Constants { // Empty constructor } - // Today's date - public static String CURRENT_DATE = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now()); - - public static String TIME_LEFT = ""; - - // Number of manual moisture checks - public static int NUMBER_OF_CHECKS = 1; - // Number of wanted drying periods public static int NUMBER_OF_PERIODS = 2; @@ -32,8 +22,7 @@ public final class Constants { // Confidence interval public static final double CONFIDENCE_INTERVAL = 0.80; - // Non linear regression - public static final double ADJUST_REGRESSION = 5.0; + // Current sawmill settings; public static final String PROJECT_ID = "sf-drying-optimization"; diff --git a/src/main/java/com/application/DB/DB.java b/src/main/java/com/application/DB/DB.java index 513b38d1f0e05ad5af601dada2364a473a63f618..d135083910a61d0b9af04e567e86727798b9815b 100644 --- a/src/main/java/com/application/DB/DB.java +++ b/src/main/java/com/application/DB/DB.java @@ -1,6 +1,5 @@ package com.application.DB; -import com.application.GUI.NotificationPopUp; import com.google.cloud.bigquery.*; import org.joda.time.DateTime; @@ -362,7 +361,7 @@ public class DB { String extraInputParameter = ""; extraInputParameter += extraUserInput; if(locationID == 124){ - extraInputParameter += "AND CalculatedStart BETWEEN \"1990-01-01 00:00:00\" AND \"" + CURRENT_DATE + "\" "; + extraInputParameter += "AND CalculatedStart BETWEEN \"1990-01-01 00:00:00\" AND \"" + HelpingFunctions.CURRENT_DATE + "\" "; } if(locationID == 174){ // KILIN_ID starts at 0 not 1 in the database. @@ -375,8 +374,8 @@ public class DB { "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 \"" + CURRENT_DATE + "\" " + - "AND "+stopDryingTime+" BETWEEN \"1990-01-01 00:00:00\" AND \"" + CURRENT_DATE + "\" " + + "AND "+startDryingTime+" BETWEEN \"1990-01-01 00:00:00\" AND \"" + HelpingFunctions.CURRENT_DATE + "\" " + + "AND "+stopDryingTime+" BETWEEN \"1990-01-01 00:00:00\" AND \"" + HelpingFunctions.CURRENT_DATE + "\" " + extraInputParameter + "AND LOWER(" +nameParameter+ ") NOT LIKE LOWER("+'"'+"%"+ "test" +"%"+'"'+") " + "Group by "+ startDryingTime + " " + @@ -608,7 +607,7 @@ public class DB { // Sqlstatement final String sqlStatement = "INSERT INTO " + PROJECT_ID + "." + LOCATION_ID + "." + MAN_MOISTURE_TABLE + "(moisture,tree_species,dimensions,sawset,moisture_goal,no_moisture_check,start_time,stop_time,finished) " + - "VALUES("+moisture+","+treeSpecies+","+dimensions+","+sawset+","+moistureGoal+","+NUMBER_OF_CHECKS+","+startTime+","+stopTime+","+IS_FINISHED+") "; + "VALUES("+moisture+","+treeSpecies+","+dimensions+","+sawset+","+moistureGoal+","+ HelpingFunctions.NUMBER_OF_CHECKS+","+startTime+","+stopTime+","+IS_FINISHED+") "; System.out.println(sqlStatement); diff --git a/src/main/java/com/application/DB/HelpingFunctions.java b/src/main/java/com/application/DB/HelpingFunctions.java index 7cea97f5b8f146729c7c9136bde59f7dbddc3d39..b2dcc3c13539feefda37e81d4ac80b47bb1eba08 100644 --- a/src/main/java/com/application/DB/HelpingFunctions.java +++ b/src/main/java/com/application/DB/HelpingFunctions.java @@ -27,6 +27,14 @@ public class HelpingFunctions { public static String DIMENSIONS = ""; public static String SAWSET = ""; public static String MOISTURE_GOAL = ""; + + // Number of manual moisture checks + public static int NUMBER_OF_CHECKS = 1; + + // Today's date + public static String CURRENT_DATE = ""; + public static String TIME_LEFT = ""; + static Map<String,String> manMoist = new HashMap<>(); /** diff --git a/src/main/java/com/application/GUI/InputPopUpWindow.java b/src/main/java/com/application/GUI/InputPopUpWindow.java index 5a47e8bbfdc10440a9621c3c23c4bff8f3dd8129..3a2f41dc1865c30dd318e1fa48c1dad0b7ac2276 100644 --- a/src/main/java/com/application/GUI/InputPopUpWindow.java +++ b/src/main/java/com/application/GUI/InputPopUpWindow.java @@ -1,6 +1,5 @@ package com.application.GUI; -import com.application.DB.Constants; import com.application.DB.HelpingFunctions; import javafx.application.Platform; import javafx.collections.FXCollections; @@ -117,8 +116,8 @@ public class InputPopUpWindow { startButton.setOnAction(e -> { // Sets the start time - Constants.CURRENT_DATE = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now()); - HelpingFunctions.START_TIME = CURRENT_DATE; + HelpingFunctions.CURRENT_DATE = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now()); + HelpingFunctions.START_TIME = HelpingFunctions.CURRENT_DATE; // Retrieves the user inputs HelpingFunctions.TREE_SPECIES = treeSpeciesList.getValue(); @@ -134,27 +133,46 @@ public class InputPopUpWindow { // If the input is null, sets the value to be empty if (treeSpeciesList.getValue() == null) { HelpingFunctions.TREE_SPECIES = ""; + err = false; } else if (treeSpeciesList.getValue().length() > 10) { - treeSpeciesList.setPromptText("A maximum of 10 characters is allowed!"); + NotificationPopUp.displayNotificationWindow("Maximum 10 characters is allowed for input parameters!"); + treeSpeciesList.setValue(""); err = true; + } else { + err = false; } + if (dimensionsList.getValue() == null) { HelpingFunctions.DIMENSIONS = ""; + err = false; } else if (dimensionsList.getValue().length() > 10) { - dimensionsList.setPromptText("A maximum of 10 characters is allowed!"); + NotificationPopUp.displayNotificationWindow("Maximum 10 characters is allowed for input parameters!"); + dimensionsList.setValue(""); err = true; + } else { + err = false; } + if (sawsetList.getValue() == null) { HelpingFunctions.SAWSET = ""; + err = false; } else if (sawsetList.getValue().length() > 10) { - sawsetList.setPromptText("A maximum of 10 characters is allowed!"); + NotificationPopUp.displayNotificationWindow("Maximum 10 characters is allowed for input parameters!"); + sawsetList.setValue(""); err = true; + } else { + err = false; } + if (moistureList.getValue() == null) { HelpingFunctions.MOISTURE_GOAL = ""; + err = false; } else if (moistureList.getValue().length() > 10) { - moistureList.setPromptText("A maximum of 10 characters is allowed!"); + NotificationPopUp.displayNotificationWindow("Maximum 10 characters is allowed for input parameters!"); + moistureList.setValue(""); err = true; + } else { + err = false; } diff --git a/src/main/java/com/application/GUI/OutputPopUpWindow.java b/src/main/java/com/application/GUI/OutputPopUpWindow.java index 321ebdc2b1d5900b03b6d7ea4d3404a43e1ff1db..4131d729491dc0468da890ad10bd540ad842072d 100644 --- a/src/main/java/com/application/GUI/OutputPopUpWindow.java +++ b/src/main/java/com/application/GUI/OutputPopUpWindow.java @@ -14,7 +14,6 @@ import javafx.stage.Stage; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import static com.application.DB.Constants.*; import static com.application.DB.HelpingFunctions.IS_FINISHED; public class OutputPopUpWindow { @@ -50,7 +49,7 @@ public class OutputPopUpWindow { !moistureCheckTextField.getCharacters().toString().equals("Please enter a value")) { HelpingFunctions.STOP_TIME = null; DB.pushManMoisture(moistureCheckTextField.getCharacters().toString()); - NUMBER_OF_CHECKS++; + HelpingFunctions.NUMBER_OF_CHECKS++; window.close(); } else { moistureCheckTextField.setPromptText("Please enter a value"); diff --git a/target/classes/com/application/DB/Constants.class b/target/classes/com/application/DB/Constants.class index baab2e803b66b6756e559d63ec15e8f4a94e25b9..c9a5150116d2bbe9927d6a19dc06f82d93019c91 100644 Binary files a/target/classes/com/application/DB/Constants.class and b/target/classes/com/application/DB/Constants.class differ diff --git a/target/classes/com/application/DB/DB.class b/target/classes/com/application/DB/DB.class index 5c58c7b89d7fff8a3e2b14f0002b918b5e5f5fb3..daa82426512533ee83c106d0cf36cbd0358652db 100644 Binary files a/target/classes/com/application/DB/DB.class and b/target/classes/com/application/DB/DB.class differ diff --git a/target/classes/com/application/DB/HelpingFunctions.class b/target/classes/com/application/DB/HelpingFunctions.class index 36d469c1d0ca1685925a9c9f742790f882b7ae9b..bee6c78cab5212aeffc64187947c97e9dfe21377 100644 Binary files a/target/classes/com/application/DB/HelpingFunctions.class and b/target/classes/com/application/DB/HelpingFunctions.class differ diff --git a/target/classes/com/application/GUI/InputPopUpWindow.class b/target/classes/com/application/GUI/InputPopUpWindow.class index 5fe2e775768312ba384e0ac7373115fa70bfc89a..41b8094813fed38f9b19edfe07460b22d908c4fb 100644 Binary files a/target/classes/com/application/GUI/InputPopUpWindow.class and b/target/classes/com/application/GUI/InputPopUpWindow.class differ diff --git a/target/classes/com/application/GUI/OutputPopUpWindow.class b/target/classes/com/application/GUI/OutputPopUpWindow.class index 27d06e89690bd8ca3dda77884ecb9438ad689235..5e7bc108155eb578f19803068244dc324435a7a7 100644 Binary files a/target/classes/com/application/GUI/OutputPopUpWindow.class and b/target/classes/com/application/GUI/OutputPopUpWindow.class differ diff --git a/target/classes/com/application/Main.class b/target/classes/com/application/Main.class index 2b75383dbd81ebb8c9fc02f5601c359dbd49e89a..bb4be3d39984c9a4ca925cc07a09e12c2343f7e0 100644 Binary files a/target/classes/com/application/Main.class and b/target/classes/com/application/Main.class differ