From 12a76b6baadabddf4bdeb0618b145a27352fc91d Mon Sep 17 00:00:00 2001 From: Eilert Tunheim <emtunhei@stud.ntnu.no> Date: Fri, 22 Apr 2022 15:00:48 +0200 Subject: [PATCH] Started implementing adjustment for moisture graphs --- Bachelor_application.iml | 1 + pom.xml | 6 +- src/main/java/com/application/DB/DB.java | 88 ++++++++++++++++-- .../com/application/GUI/InputPopUpWindow.java | 1 + .../GUI/LineChartFunctionality.java | 7 +- target/classes/com/application/DB/DB.class | Bin 17110 -> 18760 bytes .../application/GUI/InputPopUpWindow.class | Bin 7139 -> 7910 bytes .../GUI/LineChartFunctionality.class | Bin 9859 -> 9781 bytes 8 files changed, 91 insertions(+), 12 deletions(-) diff --git a/Bachelor_application.iml b/Bachelor_application.iml index cde0e4e..06a8fa9 100644 --- a/Bachelor_application.iml +++ b/Bachelor_application.iml @@ -53,5 +53,6 @@ <orderEntry type="library" name="Maven: com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1" level="project" /> <orderEntry type="library" name="Maven: com.google.auto.value:auto-value-annotations:1.9" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" /> + <orderEntry type="library" name="Maven: joda-time:joda-time:2.10.14" level="project" /> </component> </module> \ No newline at end of file diff --git a/pom.xml b/pom.xml index 014584e..51648b1 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,11 @@ <artifactId>commons-math3</artifactId> <version>3.6.1</version> </dependency> - + <dependency> + <groupId>joda-time</groupId> + <artifactId>joda-time</artifactId> + <version>2.10.14</version> + </dependency> </dependencies> <properties> diff --git a/src/main/java/com/application/DB/DB.java b/src/main/java/com/application/DB/DB.java index 5bd3abf..19a5f0b 100644 --- a/src/main/java/com/application/DB/DB.java +++ b/src/main/java/com/application/DB/DB.java @@ -3,6 +3,7 @@ package com.application.DB; import com.google.auth.oauth2.GoogleCredentials; import com.google.auth.oauth2.ServiceAccountCredentials; import com.google.cloud.bigquery.*; +import org.joda.time.DateTime; import java.io.File; import java.io.FileInputStream; @@ -468,6 +469,19 @@ public class DB { String stopDryingTime, String valmeticsTableName, int limit) throws Exception { + // Defining variables to be used later + String treeSort = ""; + String thickness = ""; + String width = ""; + String sawSet = ""; + + String moistureGoal = ""; + String moistureMeasured = ""; + + String formatedInTidTork = ""; + String formatedUtTidTork = ""; + String formatedUtTidTorkPlussDays = ""; + // Initializing the dates map to store the results Map<String, String> dates = new HashMap<>(); @@ -508,11 +522,28 @@ public class DB { // Iterating through the results for (FieldValueList row : result.iterateAll()) { - // Defining variables - String formatedInTidTork = ""; - String formatedUtTidTork; - + // Gets parameters from DryingSchedule System.out.println(row.get("DryingSchedule").getStringValue()); + if(!row.get("DryingSchedule").isNull()){ + String[] nameParameters = row.get("DryingSchedule").getValue().toString().split(" "); + + for (int i = 0; i < nameParameters.length; i++) { + if (nameParameters[i].contains("Fur")) { + treeSort = "F"; + } + if (nameParameters[i].contains("Gran")) { + treeSort = "G"; + } + if (nameParameters[i].matches("\\d{2}x\\d{3}")) { + String[] dimensions = nameParameters[i].split("x"); + width = dimensions[0]; + thickness = dimensions[1]; + } + if (nameParameters[i].matches("\\d{1}ex")) { + sawSet = nameParameters[i]; + } + } + } //System.out.println("Start: "+row.get("DryingStarted").getTimestampValue()); @@ -586,16 +617,61 @@ public class DB { //System.out.printf("%s\t\t\t%s\n",formatedInTidTork,formatedUtTidTork); } + + // Adding days to search between + DateTime addedDays = new DateTime(formatedUtTidTork.split(" ")[0]); + formatedUtTidTorkPlussDays = addedDays.plusDays(2).toString(); + formatedUtTidTorkPlussDays = formatedUtTidTorkPlussDays.split("T")[0]; + + + // Getting manual measurement + // Sqlstatement + final String manMeasurement = "SELECT Tork, Dato ,Treslag, Tykkelse, Bredde, Planketype, Malfukt, GjeFukt " + + "FROM `sf-drying-optimization.174.int_ds_manfuktreg` " + + "WHERE Tork LIKE " + kilinID + " " + + "AND Treslag = " + treeSort + " " + + "AND Tykkelse = " + thickness + " " + + "AND Bredde = " + width + " " + + "AND Planketype = " + sawSet + " " + + "AND Dato BETWEEN \""+ formatedUtTidTork.split(" ")[0] +"\" AND \"" + formatedUtTidTorkPlussDays + "\" " + + "ORDER BY Dato"; + + System.out.println(manMeasurement); + + + + // Retrieves the results from the queryjob + TableResult resultManMeasurement = createQueryJob(manMeasurement); + + //System.out.println("InTidTork\t\t\tUtTidTork"); + // Iterating through the results + for (FieldValueList row : resultManMeasurement.iterateAll()) { + + System.out.println(row); + + moistureGoal = row.get("Malfukt").getValue().toString(); + moistureMeasured = row.get("GjeFukt").getValue().toString(); + + } + + + System.out.println("moistureGoal: " + moistureGoal); + System.out.println("moistureMeasured: " + moistureMeasured); + + + + + // Defining a treemap to sort the data incrementally 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()); diff --git a/src/main/java/com/application/GUI/InputPopUpWindow.java b/src/main/java/com/application/GUI/InputPopUpWindow.java index a6f477a..94297a6 100644 --- a/src/main/java/com/application/GUI/InputPopUpWindow.java +++ b/src/main/java/com/application/GUI/InputPopUpWindow.java @@ -238,6 +238,7 @@ public class InputPopUpWindow { ex.printStackTrace(); } }); + thread.interrupt(); thread.start(); } catch (Exception ex) { diff --git a/src/main/java/com/application/GUI/LineChartFunctionality.java b/src/main/java/com/application/GUI/LineChartFunctionality.java index 52057b8..3352b3e 100644 --- a/src/main/java/com/application/GUI/LineChartFunctionality.java +++ b/src/main/java/com/application/GUI/LineChartFunctionality.java @@ -1,6 +1,5 @@ package com.application.GUI; -import javafx.collections.ObservableList; import javafx.scene.chart.CategoryAxis; import javafx.scene.chart.LineChart; import javafx.scene.chart.NumberAxis; @@ -10,7 +9,6 @@ import org.apache.commons.math3.distribution.TDistribution; import org.apache.commons.math3.exception.MathIllegalArgumentException; import org.apache.commons.math3.stat.descriptive.SummaryStatistics; import org.apache.commons.math3.stat.regression.SimpleRegression; -import org.apache.commons.math3.*; import java.util.*; @@ -90,8 +88,7 @@ public class LineChartFunctionality { public static LineChart<String, Number> loadSingleSeries(Map<Integer, Map<String, Number>> userInput) throws Exception { - //clearLineChart(); - //newSeries.setData(null); + clearLineChart(); Map<Integer, ArrayList<Double>> multiMap = new HashMap<>(); @@ -179,7 +176,7 @@ public class LineChartFunctionality { SimpleRegression simpleRegression = new SimpleRegression(); simpleRegression.addData(data); - simpleRegression.regress(); + //simpleRegression.regress(); for (double[] datum : data) { diff --git a/target/classes/com/application/DB/DB.class b/target/classes/com/application/DB/DB.class index 626788e2c4562b7b4c26dd01f166ef51a86fc495..5c2ab763856c43e76f0e6f0ffa7360923171a59e 100644 GIT binary patch delta 7390 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 NOs`>F#W;yU5&*~N1eE{) delta 5628 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 BOaK4? diff --git a/target/classes/com/application/GUI/InputPopUpWindow.class b/target/classes/com/application/GUI/InputPopUpWindow.class index 367d24f34bd804ecee1736d019c8420e3225f4b9..97e79c931083ef8b641e3b95cce2a7cdfd346f8d 100644 GIT binary patch delta 2787 zcmaEC{>--i)W2Q(7#J8#7-w-Y6ftaKXV}cez{IeLi(w1HRv`ukhF#nYyBYSdGwkJJ zU}xCG$*_-MKZtdJgW({EKE%#&n1kU67XvTDQ4WS<Ao@55!wC+CR(6Jy91N#87*2CB zoMAZ2&Tx*4L4x5t2g3yreUXFV5{N#|%*7xvalLFk2g6+shI<?g_c<6Ia4<aNV0gsA z@R)<)2?xVd4u)qO49__jUT`qH<Y0Kk!SI@$;SC4FTP_B3ke%;9^l>2uMutxy)@OEx zFKiAf3}C>;V8`$kM0{gs_|DDngW)G9!!L&4Adx@p41d`inht=~vDG`&JAheS4DJm7 zK*WD`Mg|T>MlMDsMrJNX7DiTXh98V<Tny}t>>z@Ji$Q{slarB)ksCztfCyd=Mm{bE z5k`IvMgb5l2oe<HViaZ+0TH4gLJUNRgG`WMXOt9TU}BWvVn}ARl?9P<AVQv<QGtsg zgHe%-QHfDmh=G|=m5Wi0QJsrXgHe+e>_`U2FCdj#TntQ%+U$%vn|Ct$u&^34GOX2@ ztjH=hS%Gba3|mP?QEFleBZH7nR$^JAeokUux_$^)%zE-RwtzSVMh4!T#N4EmM3ubK zoE#M+Mh2FY#F9it27ZW+(vr*^ec!|aYet4hR1q5p7i^?wUP)?tYLPWW2&Tto@_%93 z$<oZc$|!aiGBOBhpsKXi44cf(-o{+aP%?P}yEdCH52GHV{^Wz~VnGH1jE4Mdj7B_+ z#*8NHjHWz{W{l>H3_>9Pq*dq_mn5dA>IZ{Jc18;xMoUI39!6_M8%72J&%A=t5`}=o zqQu<PlGLJN9!6V6J4Obn$p=|QC);uG3m1d99GM_xA^8P7jP{InlM^_MI30Kx9T}Y% z8Du9PWR+#*VJK#Fp1hYsLfQqSUI47#r6|9^CBHn+DZhe;(Us9{^9K%YMj>~8HbxHt zMo%6_FGg=3MjuAs$-G>$!NrVzJdFN~0gMcSFjpt1=B4WU<)@^wGY0Z71~CS+GluXm zhBAinForWmAbAh0Fc?IF+!4vc7zHv%Wilg^%H)My8uigUj4_O{?2K_djPZ;KJdBBq zNj!|nj43>fsSG7NjA@L9?2PF=j2VoXJd9Z&BAYRjk%3W_hcSmSmyv;ihcS;apNFx4 zF_WFKkcY8|(T<0)7(|qSh*A(y#!$k@AOLbXa{3WqDB)*g6fNgrtYEAJxvh$au^MD$ z4MWLfdu|E6T80vK#yTFxdd3ERHpWJfx+ZqUW*){C#wvEkRvyMS#&#aY4#rL%#xBOB z$?4qX%-xJVlOJ+RGxl!&%k9X-*tgl9&zU8ei@}evpOJyNs5Fm}K}<svl61i7E~qpw zFEJ@6)tZq(9Gaw1#Wlki88|cZN>Yo8N()LD8CZ);5{pV08Tbo|GV@A;OA?c_Ly8iU zCpQW?MS|>^z{sEqH3*i9t#Mc=4GNL83jM@_f}G6c#FEVXJpF*2#FDi9qFhD>j-t{$ zpTv^XB1Q(S$&5@QlWz&dPL2_llA6fFIEir@55ro9bvz7n8RqdYEN3X;VOY(uW^$Xb zDdUXEdxT%I%w%LxoqSP5Zt`&vUB4o5c4uc`WGH4RVPIq^Wnf^?XJBMtWME)m)!NR$ zxRHT@fr+7vfq{VyEGWZJ&cMLH17@=_R4`OBFfed3R54UDFfo))b`sU{1gYg?U}j)o zkZ0gvP-GBiP>1W`U=U=eVW?$bV5ozd0uiZaU|?tf+tkRw$<PFG%I2-2Hca&(<2Etq zFfcG^GjK5IGVn9#F^Do4GRQL+F{m<_G3YaxGng`1Ft{_=Fa$E#GDI-gF~l?2Go&&& zF%&R3Gn6y9Fl=WCU^v7O$Z(P&h~WZ5FvB&52!@9Ykqj>wq8M2j5*P&-5*fuAk{IO} zk{MMP(irs_(izPdG8p3+3hEg%844K-7>XFn8HyQe8Oj+u7%CY18LAi;F?utuWAtJC z#OTNPi!p$Sn=z0{fiZ|ljWL)>i!lW3=QRw13>-|#49yHJpzvVgVQ6J&V_;;^XZ*v^ z&d|od#Nf{OgrS3>lYyBbknt8n7ehA#3qt|pZiXI)HU?IP?Tqy$4807U3~UUC7&96A z7`hqQ86GlvG4wOEF>o-lGO965VCZDvWE5bOW|+v(&A`Q|&+vy~5<?pUH)9;bS%%3B zoeVsTnGA;*rZ99f@G^EVEM}O>FpYtaaUDY~!*qrj4E#*o3<?Z08D=pEfFmV{fdlHO z*&s(nfn7C+frVi^BgiSU;ZB*uzz%i5Y`6pFFmOSwoej5k4g;?M7brDCk{9D<24)6! z1_p*hlTS#_uiwp(9Jz}jg@Iu^L#h><B-=KIG!T)#oPi6%&D_Yq$S|K_JHsx93<hR! zO3Y%AVqjpXVc=q@We{PgV~}I0XE0%CWbj~UW(Z>FV2EVsWQb$vW=Lh|VaQ_WV<=?k zXDDNs$WY5LiJ^&MDnkduG=@Hg=?qgCX4EsxVwlA+pWzY1T857dn;1SZY-jk!u#4df z!ybmO3<nv$gQF1?CTkhE80Ir9U|?g|!@$b0kYN!68^{yjC<A4pL*Uo}<(os`m|z0S zf<hgX6%K)u01H@bF~brDR)(bv3=I4X^&Gz$JUF?zxw*^P8J4jLaDj3xB%l~tq4`j3 z2Sb*()-Hx@28JCBIm;P1ytTG5fP;mBftNvmA%lSh94t~`7d>TQVR**C%kZ8-fZ;8J zAj3NbQHBp-Ux+a<F|aUjGOS=&$-uxM$iTv|kfDANQeK2eu3}&SJC2=!DS(|}8H)fH zr~rYwDV>3l0pv42tsM-x;ma8~e6-<iVP)WeN0Ar<s3Gx!ftBGk0|&!P22O@o47?0) z;O^iA+rEgQ9u#1FP$z+cgq?xO18VD9hIODqg@J*=m4OLd;0TK_<n3T6(AvR}wSysd z8$)3@;|6f40V*UQWsVX98-p@~AcG3nDjtY7XqmH~fq{XAff4LTh`x;uj8hpH7`PZ1 z87DJNXPm+y$*_%qfk6wD+!>e|b};N@*uk)!ftlew!v}_sAQqz(qco!wl%>Kb1po>+ BLpcBd delta 2142 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 diff --git a/target/classes/com/application/GUI/LineChartFunctionality.class b/target/classes/com/application/GUI/LineChartFunctionality.class index 07809ca136bbd886e5a43251d3b4cf697a129c50..5af8d726187d02dc53af7c8a0c5c4932f7360d17 100644 GIT binary patch delta 1744 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 YjDd+!hJl$;mQjvT9?UXjG-EUe0C=N}rT_o{ delta 1789 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 QSw=ZVc`(a_(Uj2)05t=cuK)l5 -- GitLab