|
@@ -298,7 +298,7 @@ public class Main : MonoBehaviour
|
298
|
298
|
string message = Encoding.UTF8.GetString(e.Message);
|
299
|
299
|
// 使用 SimpleJSON 解析訊息
|
300
|
300
|
var jsonMessage = JSON.Parse(message);
|
301
|
|
- //Debug.Log(jsonMessage);
|
|
301
|
+ Debug.Log(jsonMessage);
|
302
|
302
|
if (jsonMessage != null && jsonMessage["id"] != null && jsonMessage["data"] != null && jsonMessage["number"] != null)
|
303
|
303
|
{
|
304
|
304
|
if (IDname == jsonMessage["id"] && jsonMessage["message"] == "return") {
|
|
@@ -309,7 +309,7 @@ public class Main : MonoBehaviour
|
309
|
309
|
if (Global.電表即時資料字典.ContainsKey(電表流水號)) {
|
310
|
310
|
Global.電表即時資料字典.Remove(電表流水號);
|
311
|
311
|
}
|
312
|
|
- Global.電表即時資料字典.Add(電表流水號, dataStringArray);
|
|
312
|
+ Global.電表即時資料字典.Add(電表流水號, dataStringArray[(0+47*i) ..(46+47*i)]);
|
313
|
313
|
}
|
314
|
314
|
}
|
315
|
315
|
}
|
|
@@ -353,7 +353,7 @@ public class Main : MonoBehaviour
|
353
|
353
|
}
|
354
|
354
|
Global.載入電表名稱Option = true;
|
355
|
355
|
}
|
356
|
|
- if (Global.資料來源 == "pi" && timer >= 3f && Global.系統選擇 == "電能監控系統" && !電能報表_pl.activeInHierarchy && Global.PHP_Load_End_電表即時路徑){
|
|
356
|
+ if (Global.資料來源 == "pi" && timer >= 5f && Global.系統選擇 == "電能監控系統" && !電能報表_pl.activeInHierarchy && Global.PHP_Load_End_電表即時路徑){
|
357
|
357
|
timer = 0f;
|
358
|
358
|
|
359
|
359
|
電表即時();
|
|
@@ -937,7 +937,22 @@ public class Main : MonoBehaviour
|
937
|
937
|
//Debug.Log(Global.Vavg);Debug.Log(Global.Iavg);
|
938
|
938
|
平均電壓_tb.text = Global.Vavg + " V";
|
939
|
939
|
平均電流_tb.text = Global.Iavg + " A";
|
940
|
|
- 累計用電量_tb.text = Global.Etol + " kWh";
|
|
940
|
+ if(電表編號_tb.text.Contains("小米")){
|
|
941
|
+ string SQL語法;
|
|
942
|
+ string 開始時間=DateTime.Today.ToString().PadLeft(4,'0')+"0100000000";
|
|
943
|
+ string 結束時間=DateTime.Today.ToString().PadLeft(4,'0')+"1232235959";
|
|
944
|
+ SQL語法 = @"SELECT SUM(CAST(EP1_2 AS FLOAT)) AS Expr1
|
|
945
|
+ FROM ["+DateTime.Today.ToString().PadLeft(4,'0')+@"-GCM-SCADA-DATA1].dbo.電表資料表
|
|
946
|
+ WHERE (電表編號 LIKE N'"+電表編號+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+"')";
|
|
947
|
+ SQL_ele_sys.SQL_載入年度電費表格_改(SQL語法);
|
|
948
|
+ if(SQL_Module.dr.Read()){
|
|
949
|
+ 累計用電量_tb.text = SQL_Module.dr[0].ToString() +" kWh";
|
|
950
|
+ }else{
|
|
951
|
+ 累計用電量_tb.text = "0 kWh";
|
|
952
|
+ }
|
|
953
|
+ }else{
|
|
954
|
+ 累計用電量_tb.text = Global.Etol + " kWh";
|
|
955
|
+ }
|
941
|
956
|
if(Global.COSdata <=0){
|
942
|
957
|
Global.功率因素數值 = Global.COSdata+100;
|
943
|
958
|
}else{
|
|
@@ -980,7 +995,23 @@ public class Main : MonoBehaviour
|
980
|
995
|
電表資料(Global.電表ID2,電表編號,電表迴路);
|
981
|
996
|
副平均電壓_tb.text = Global.Vavg + " V";
|
982
|
997
|
副平均電流_tb.text = Global.Iavg + " A";
|
983
|
|
- 副累計用電量_tb.text = Global.Etol + " kWh";
|
|
998
|
+ if(副電表編號_tb.text.Contains("小米")){
|
|
999
|
+ string SQL語法;
|
|
1000
|
+ string 開始時間=DateTime.Today.Year.ToString().PadLeft(4,'0')+"0100000000";
|
|
1001
|
+ string 結束時間=DateTime.Today.Year.ToString().PadLeft(4,'0')+"1232235959";
|
|
1002
|
+ SQL語法 = @"SELECT SUM(CAST(EP1_2 AS FLOAT)) AS Expr1
|
|
1003
|
+ FROM ["+DateTime.Today.Year.ToString().PadLeft(4,'0')+@"-GCM-SCADA-DATA1].dbo.電表資料表
|
|
1004
|
+ WHERE (電表編號 LIKE N'"+電表編號+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+"')";
|
|
1005
|
+ //Debug.Log(SQL語法);
|
|
1006
|
+ SQL_ele_sys.SQL_載入年度電費表格_改(SQL語法);
|
|
1007
|
+ if(SQL_Module.dr.Read()){
|
|
1008
|
+ 副累計用電量_tb.text = SQL_Module.dr[0].ToString() +" kWh";
|
|
1009
|
+ }else{
|
|
1010
|
+ 副累計用電量_tb.text = "0 kWh";
|
|
1011
|
+ }
|
|
1012
|
+ }else{
|
|
1013
|
+ 副累計用電量_tb.text = Global.Etol + " kWh";
|
|
1014
|
+ }
|
984
|
1015
|
if(Global.COSdata <=0){
|
985
|
1016
|
Global.副功率因素數值 = Global.COSdata+100;
|
986
|
1017
|
}else{
|
|
@@ -1134,6 +1165,7 @@ public class Main : MonoBehaviour
|
1134
|
1165
|
}
|
1135
|
1166
|
}
|
1136
|
1167
|
private void 電表資料(int num,string 電表編號,string 電表迴路){
|
|
1168
|
+ Debug.Log(電表編號);
|
1137
|
1169
|
if(Global.資料來源=="PLC" && Global.PHP_Load_End){
|
1138
|
1170
|
int index = num-1;
|
1139
|
1171
|
string[] PLC_data = new string[]{Global.PHP_Report,Global.PHP_Report3,Global.PHP_Report4,Global.PHP_Report5,Global.PHP_Report6,Global.PHP_Report7,Global.PHP_Report8};
|
|
@@ -1663,9 +1695,15 @@ public class Main : MonoBehaviour
|
1663
|
1695
|
GROUP BY CONVERT(VARCHAR(10), 上傳時間, 120)) AS DailyAverages_"+n.ToString()+") AS 總P"+n.ToString()+",";
|
1664
|
1696
|
}else{
|
1665
|
1697
|
string p1,p2;if(電表迴路=="迴路1"){p1="EP1_1";p2="EP1_2";}else{p1="EP2_1";p2="EP2_2";}
|
1666
|
|
- SQL語法+="(SELECT MAX(Expr1) - MIN(Expr1) AS Expr1_Difference FROM (SELECT CAST("+ p1 +" AS FLOAT) * 10000 + CAST("+p2+@" AS FLOAT) AS Expr1
|
|
1698
|
+ if(電表編號.Contains("小米")) {
|
|
1699
|
+ SQL語法+="(SELECT SUM(CAST(" + p2 + @" AS FLOAT)) AS Expr1
|
|
1700
|
+ FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
|
1701
|
+ WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS 總P"+n.ToString()+",";
|
|
1702
|
+ }else{
|
|
1703
|
+ SQL語法+="(SELECT MAX(Expr1) - MIN(Expr1) AS Expr1_Difference FROM (SELECT CAST("+ p1 +" AS FLOAT) * 10000 + CAST("+p2+@" AS FLOAT) AS Expr1
|
1667
|
1704
|
FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
1668
|
1705
|
WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS DailyAverages_"+n.ToString()+") AS 總P"+n.ToString()+",";
|
|
1706
|
+ }
|
1669
|
1707
|
}
|
1670
|
1708
|
}
|
1671
|
1709
|
}
|
|
@@ -1717,8 +1755,7 @@ public class Main : MonoBehaviour
|
1717
|
1755
|
}
|
1718
|
1756
|
}
|
1719
|
1757
|
年用電_chart.GetSerie<Line>(0).itemStyle.color=new Color(0.97f, 0.48f, 0.99f, 1f);
|
1720
|
|
- foreach (var series in 年用電_chart.series)
|
1721
|
|
- {
|
|
1758
|
+ foreach (var series in 年用電_chart.series){
|
1722
|
1759
|
series.symbol.type = SymbolType.Circle;
|
1723
|
1760
|
}
|
1724
|
1761
|
}
|
|
@@ -1791,9 +1828,16 @@ public class Main : MonoBehaviour
|
1791
|
1828
|
GROUP BY CONVERT(VARCHAR(10), 上傳時間, 120)) AS DailyAverages_"+n.ToString()+") AS 總P"+n.ToString()+",";
|
1792
|
1829
|
}else{
|
1793
|
1830
|
string p1,p2;if(電表迴路=="迴路1"){p1="EP1_1";p2="EP1_2";}else{p1="EP2_1";p2="EP2_2";}
|
1794
|
|
- SQL語法+="(SELECT MAX(Expr1) - MIN(Expr1) AS Expr1_Difference FROM (SELECT CAST("+ p1 +" AS FLOAT) * 10000 + CAST("+p2+@" AS FLOAT) AS Expr1
|
1795
|
|
- FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
1796
|
|
- WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS DailyAverages_"+n.ToString()+") AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1831
|
+ if(電表編號.Contains("小米")) {
|
|
1832
|
+ SQL語法+="(SELECT SUM(CAST(" + p2 + @" AS FLOAT)) AS Expr1
|
|
1833
|
+ FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
|
1834
|
+ WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1835
|
+ }else{
|
|
1836
|
+ SQL語法+="(SELECT MAX(Expr1) - MIN(Expr1) AS Expr1_Difference FROM (SELECT CAST("+ p1 +" AS FLOAT) * 10000 + CAST("+p2+@" AS FLOAT) AS Expr1
|
|
1837
|
+ FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
|
1838
|
+ WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS DailyAverages_"+n.ToString()+") AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1839
|
+ }
|
|
1840
|
+
|
1797
|
1841
|
}
|
1798
|
1842
|
}
|
1799
|
1843
|
}
|
|
@@ -1809,9 +1853,16 @@ public class Main : MonoBehaviour
|
1809
|
1853
|
GROUP BY CONVERT(VARCHAR(10), 上傳時間, 120)) AS DailyAverages_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+") AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
1810
|
1854
|
}else{
|
1811
|
1855
|
string p1,p2;if(電表迴路=="迴路1"){p1="EP1_1";p2="EP1_2";}else{p1="EP2_1";p2="EP2_2";}
|
1812
|
|
- SQL語法+="(SELECT MAX(Expr1) - MIN(Expr1) AS Expr1_Difference FROM (SELECT CAST("+ p1 +" AS FLOAT) * 10000 + CAST("+p2+@" AS FLOAT) AS Expr1
|
1813
|
|
- FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
1814
|
|
- WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS DailyAverages_"+n.ToString()+") AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1856
|
+ if(電表編號.Contains("小米")) {
|
|
1857
|
+ SQL語法+="(SELECT SUM(CAST(" + p2 + @" AS FLOAT)) AS Expr1
|
|
1858
|
+ FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
|
1859
|
+ WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1860
|
+ }else{
|
|
1861
|
+ SQL語法+="(SELECT MAX(Expr1) - MIN(Expr1) AS Expr1_Difference FROM (SELECT CAST("+ p1 +" AS FLOAT) * 10000 + CAST("+p2+@" AS FLOAT) AS Expr1
|
|
1862
|
+ FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
|
1863
|
+ WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS DailyAverages_"+n.ToString()+") AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1864
|
+ }
|
|
1865
|
+
|
1815
|
1866
|
}
|
1816
|
1867
|
|
1817
|
1868
|
}
|
|
@@ -1828,35 +1879,24 @@ public class Main : MonoBehaviour
|
1828
|
1879
|
GROUP BY CONVERT(VARCHAR(10), 上傳時間, 120)) AS DailyAverages_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+") AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
1829
|
1880
|
}else{
|
1830
|
1881
|
string p1,p2;if(電表迴路=="迴路1"){p1="EP1_1";p2="EP1_2";}else{p1="EP2_1";p2="EP2_2";}
|
1831
|
|
- SQL語法+="(SELECT MAX(Expr1) - MIN(Expr1) AS Expr1_Difference FROM (SELECT CAST("+ p1 +" AS FLOAT) * 10000 + CAST("+p2+@" AS FLOAT) AS Expr1,上傳時間
|
1832
|
|
- FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
1833
|
|
- WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS DailyAverages_"+n.ToString()+") AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1882
|
+ if(電表編號.Contains("小米")) {
|
|
1883
|
+ SQL語法+="(SELECT SUM(CAST(" + p2 + @" AS FLOAT)) AS Expr1
|
|
1884
|
+ FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
|
1885
|
+ WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1886
|
+ }else{
|
|
1887
|
+ SQL語法+="(SELECT MAX(Expr1) - MIN(Expr1) AS Expr1_Difference FROM (SELECT CAST("+ p1 +" AS FLOAT) * 10000 + CAST("+p2+@" AS FLOAT) AS Expr1,上傳時間
|
|
1888
|
+ FROM ["+清單[j]+"].dbo.電表資料表 AS 電表資料表_"+n.ToString()+@"
|
|
1889
|
+ WHERE (電表編號 LIKE N'"+電表編號改+ "') AND (上傳時間 BETWEEN '"+開始時間+"' AND '"+結束時間+@"')) AS DailyAverages_"+n.ToString()+") AS 總P_"+n.ToString().PadLeft(2,'0')+"_"+j.ToString().PadLeft(2,'0')+",";
|
|
1890
|
+ }
|
1834
|
1891
|
}
|
1835
|
1892
|
}
|
1836
|
1893
|
}
|
1837
|
1894
|
}
|
1838
|
1895
|
|
1839
|
1896
|
SQL語法 = SQL語法[..^",".Length];
|
1840
|
|
- Debug.Log(SQL語法);
|
|
1897
|
+ //Debug.Log(SQL語法);
|
1841
|
1898
|
SQL_ele_sys.SQL_載入區間表格_月_改(SQL語法);
|
1842
|
|
- /*SQL_Module.da.Fill(ds1);
|
1843
|
|
- string EP1_1,EP2_1, EP1_末,EP2_末;
|
1844
|
|
- if (ds1.Tables[0].Rows.Count > 0){
|
1845
|
|
- EP1_1 = ds1.Tables[0].Rows[0][0].ToString();
|
1846
|
|
- EP2_1 = ds1.Tables[0].Rows[0][1].ToString();
|
1847
|
|
- EP1_末 = ds1.Tables[0].Rows[^1][0].ToString();
|
1848
|
|
- EP2_末 = ds1.Tables[0].Rows[^1][1].ToString();
|
1849
|
|
- }else{
|
1850
|
|
- EP1_1 = "0";
|
1851
|
|
- EP2_1 = "0";
|
1852
|
|
- EP1_末 = "0";
|
1853
|
|
- EP2_末 = "0";
|
1854
|
|
- }
|
1855
|
|
- float 電1 = float.Parse(EP1_1) * 10000 + float.Parse(EP2_1);
|
1856
|
|
- float 電2 = float.Parse(EP1_末) * 10000 + float.Parse(EP2_末);
|
1857
|
|
- float 度數 = 電1-電2;
|
1858
|
|
- Global.區間_總和 += 度數;*/
|
1859
|
|
-
|
|
1899
|
+
|
1860
|
1900
|
if(SQL_Module.dr.Read()){
|
1861
|
1901
|
if(Global.電能報表區間時間選擇=="小時"){
|
1862
|
1902
|
for(int n=0;n<=23;n++){
|
|
@@ -1873,11 +1913,6 @@ public class Main : MonoBehaviour
|
1873
|
1913
|
}
|
1874
|
1914
|
Global.區間_總和 += 度數;
|
1875
|
1915
|
row["度數"] = 度數.ToString("#,##0.##");
|
1876
|
|
- /*if(Global.電表功率單位[電表編號_cb.GetComponent<TMP_Dropdown>().value] == "W"){
|
1877
|
|
- row["度數"] = (度數 / 1000).ToString("#,##0.##");
|
1878
|
|
- }else{
|
1879
|
|
- row["度數"] = 度數.ToString("#,##0.##");
|
1880
|
|
- }*/
|
1881
|
1916
|
ds3.Rows.Add(row);
|
1882
|
1917
|
}
|
1883
|
1918
|
}else if(Global.電能報表區間時間選擇=="日"){
|
|
@@ -1895,11 +1930,6 @@ public class Main : MonoBehaviour
|
1895
|
1930
|
}
|
1896
|
1931
|
Global.區間_總和 += 度數;
|
1897
|
1932
|
row["度數"] = 度數.ToString("#,##0.##");
|
1898
|
|
- /*if(Global.電表功率單位[電表編號_cb.GetComponent<TMP_Dropdown>().value] == "W"){
|
1899
|
|
- row["度數"] = (度數 / 1000).ToString("#,##0.##");
|
1900
|
|
- }else{
|
1901
|
|
- row["度數"] = 度數.ToString("#,##0.##");
|
1902
|
|
- }*/
|
1903
|
1933
|
ds3.Rows.Add(row);
|
1904
|
1934
|
}
|
1905
|
1935
|
}else{
|
|
@@ -1917,12 +1947,6 @@ public class Main : MonoBehaviour
|
1917
|
1947
|
}
|
1918
|
1948
|
Global.區間_總和 += 度數;
|
1919
|
1949
|
row["度數"] = 度數.ToString("#,##0.##");
|
1920
|
|
- /*if(Global.電表功率單位[電表編號_cb.GetComponent<TMP_Dropdown>().value] == "W"){
|
1921
|
|
- row["度數"] = (度數 / 1000).ToString("#,##0.##");
|
1922
|
|
-
|
1923
|
|
- }else{
|
1924
|
|
- row["度數"] = 度數.ToString("#,##0.##");
|
1925
|
|
- }*/
|
1926
|
1950
|
ds3.Rows.Add(row);
|
1927
|
1951
|
}
|
1928
|
1952
|
}
|