From 201ef521515ec0893d446290a3e97d8035414d50 Mon Sep 17 00:00:00 2001 From: b110212000 Date: Fri, 1 Oct 2021 11:11:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E4=BD=B5=E9=9B=BB=E7=AB=99--=E6=97=A5?= =?UTF-8?q?=E7=85=A7=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SolarPower/Models/AnalysisStationCombine.cs | 2 + .../AnalysisStationCombineRepository.cs | 88 ++++++++++++++++--- .../Views/AnalysisStationCombine/Index.cshtml | 25 +++++- SolarPower/Views/MapOverview/Index.cshtml | 10 +-- SolarPower/Views/StationOverview/Index.cshtml | 2 +- .../Views/StationOverview/_UpToDate.cshtml | 2 +- 6 files changed, 107 insertions(+), 22 deletions(-) diff --git a/SolarPower/Models/AnalysisStationCombine.cs b/SolarPower/Models/AnalysisStationCombine.cs index d78b9f0..174d1b3 100644 --- a/SolarPower/Models/AnalysisStationCombine.cs +++ b/SolarPower/Models/AnalysisStationCombine.cs @@ -17,6 +17,8 @@ namespace SolarPower.Models public double All_PR { get; set; }//總平均PR public double Now_Carbon { get; set; }//現減炭 public double All_Carbon { get; set; }//總減炭 + public double All_irradiance { get; set; } + public double Now_irradiance { get; set; } } public class ChartInput { diff --git a/SolarPower/Repository/Implement/AnalysisStationCombineRepository.cs b/SolarPower/Repository/Implement/AnalysisStationCombineRepository.cs index 7b40134..d6e6847 100644 --- a/SolarPower/Repository/Implement/AnalysisStationCombineRepository.cs +++ b/SolarPower/Repository/Implement/AnalysisStationCombineRepository.cs @@ -17,6 +17,8 @@ namespace SolarPower.Repository.Implement tableName = "power_station"; } + + public async Task GetPowerStationInfoList(ChartInput post) { var a = new AnalysisStationCombine(); @@ -32,7 +34,26 @@ namespace SolarPower.Repository.Implement { case 0: string timerange = Convert.ToDateTime(post.Timerange).ToString("yyyy-MM-dd"); - sql = $@"SELECT m.*,n.*,o.* FROM + var today = ""; + if(timerange == DateTime.Now.ToString("yyyy-MM-dd")) + { + today = @$" SELECT + AVG(a.today_irradiance) AS Now_irradiance + FROM + power_station a + WHERE a.Id IN @ids "; + } + else + { + today = $@" SELECT + AVG(a.Irradiance) AS Now_irradiance + FROM + sensor_history_day a + WHERE a.PowerStationId IN @ids AND DATE_FORMAT(a.TIMESTAMP,'%Y-%m-%d') = '{timerange}'"; + } + + + sql = $@"SELECT m.*,n.*,o.*,p.* FROM ( SELECT SUM(TOTALMONEY) AS All_money, @@ -60,15 +81,40 @@ namespace SolarPower.Repository.Implement ( SELECT AVG(avg_kwhkwp) AS All_KWH_KWP, - AVG(avg_PR) AS All_PR + AVG(avg_PR) AS All_PR, + AVG(avg_irradiance) as All_irradiance from power_station WHERE Id IN @ids ) - AS o"; + AS o, + ( + {today} + ) AS p"; break; case 1: var time = post.Timerange.Split('-'); - sql = $@"SELECT m.*,n.*,o.* FROM + var ttot = ""; + if(time[1].Replace(" ","") == DateTime.Now.ToString("yyyy/MM/dd")) + { + ttot = @$"SELECT + AVG(c.Now_irradiance) AS Now_irradiance + FROM + (SELECT AVG(a.today_irradiance) AS Now_irradiance FROM power_station a WHERE a.Id IN (1) + UNION + SELECT AVG(b.Irradiance) AS Now_irradiance FROM sensor_history_day b + WHERE b.PowerStationId IN (1) AND DATE_FORMAT(b.TIMESTAMP, '%Y/%m/%d') BETWEEN '{time[0].Replace(" ", "")}' AND '{Convert.ToDateTime(time[1].Replace(" ", "")).AddDays(-1).ToString("yyyy/MM/dd")}') c"; + } + else + { + ttot = @$" SELECT + AVG(a.Irradiance) AS Now_irradiance + FROM + sensor_history_day a + WHERE a.PowerStationId IN @ids AND DATE_FORMAT(a.TIMESTAMP, '%Y/%m/%d') BETWEEN '{time[0].Replace(" ", "")}' AND '{time[1].Replace(" ", "")}'"; + } + + + sql = $@"SELECT m.*,n.*,o.*,p.* FROM ( SELECT SUM(TOTALMONEY) AS All_money, @@ -92,14 +138,18 @@ namespace SolarPower.Repository.Implement ( SELECT AVG(avg_kwhkwp) AS All_KWH_KWP, - AVG(avg_PR) AS All_PR + AVG(avg_PR) AS All_PR, + AVG(avg_irradiance) as All_irradiance from power_station WHERE Id IN @ids ) - AS o"; + AS o, + ( + {ttot} + ) AS p"; break; case 2: - sql = $@"SELECT m.*,n.*,o.* FROM + sql = $@"SELECT m.*,n.*,o.*,p.* FROM ( SELECT SUM(TOTALMONEY) AS All_money, @@ -123,14 +173,21 @@ namespace SolarPower.Repository.Implement ( SELECT AVG(avg_kwhkwp) AS All_KWH_KWP, - AVG(avg_PR) AS All_PR + AVG(avg_PR) AS All_PR, + AVG(avg_irradiance) as All_irradiance from power_station WHERE Id IN @ids ) - AS o"; + AS o, + ( + SELECT + AVG(a.Irradiance) AS Now_irradiance + from sensor_history_month a + WHERE PowerStationId IN @ids AND DATE_FORMAT(TIMESTAMP, '%Y-%m') = '{post.Timerange}' + ) AS p"; break; case 3: - sql = $@"SELECT m.*,n.*,o.* FROM + sql = $@"SELECT m.*,n.*,o.*,p.* FROM ( SELECT SUM(TOTALMONEY) AS All_money, @@ -155,11 +212,18 @@ namespace SolarPower.Repository.Implement ( SELECT AVG(avg_kwhkwp) AS All_KWH_KWP, - AVG(avg_PR) AS All_PR + AVG(avg_PR) AS All_PR, + AVG(avg_irradiance) as All_irradiance from power_station WHERE Id IN @ids ) - AS o"; + AS o, + ( + SELECT + AVG(a.Irradiance) AS Now_irradiance + from sensor_history_month a + WHERE PowerStationId IN @ids AND DATE_FORMAT(TIMESTAMP, '%Y') = '{post.Timerange}' + ) AS p"; break; } diff --git a/SolarPower/Views/AnalysisStationCombine/Index.cshtml b/SolarPower/Views/AnalysisStationCombine/Index.cshtml index 5a5907b..bcde727 100644 --- a/SolarPower/Views/AnalysisStationCombine/Index.cshtml +++ b/SolarPower/Views/AnalysisStationCombine/Index.cshtml @@ -111,6 +111,25 @@ } + else + { +
+
+

日照度

+
k W/m2
+
+
+
+

當日日照度

+

0.00

+
+
+

平均日照度(30天)

+

0.00

+
+
+
+ }

PR值

@@ -309,7 +328,7 @@ $("#today_kwhkwp_label").html(timename + "有效日照時數"); $("#today_PR_label").html(timename + "PR值"); $("#today_carbon_label").html(timename + "減碳量"); - + $("#today_irradiance_label").html(timename + "日照度"); if (type == 1) { timerange = $('#DateGettext').val(); @@ -411,7 +430,7 @@ $('#total_kwhkwp').html(rel.data.all_KWH_KWP.toFixed(2)); $('#total_PR').html(rel.data.all_PR.toFixed(2)); $('#total_carbon').html(rel.data.all_Carbon.toFixed(2)); - $('#total_irradiance').html(rel.data.all_Carbon.toFixed(2)); + $('#total_irradiance').html(rel.data.all_irradiance.toFixed(2)); $('#today_kwh').html(rel.data.now_kwh.toFixed(2)); @@ -419,7 +438,7 @@ $('#today_kwhkwp').html(rel.data.now_KWH_KWP.toFixed(2)); $('#today_PR').html(rel.data.now_PR.toFixed(2)); $('#today_carbon').html(rel.data.now_Carbon.toFixed(2)); - $('#today_irradiance').html(rel.data.now_Carbon.toFixed(2)); + $('#today_irradiance').html(rel.data.now_irradiance.toFixed(2)); chart(); }) diff --git a/SolarPower/Views/MapOverview/Index.cshtml b/SolarPower/Views/MapOverview/Index.cshtml index 95e0bcb..79aea0f 100644 --- a/SolarPower/Views/MapOverview/Index.cshtml +++ b/SolarPower/Views/MapOverview/Index.cshtml @@ -36,7 +36,7 @@
-

即時平均日照度

+

即時日照度

0.00

@@ -52,7 +52,7 @@
-

即時平均 PR 值

+

今日 PR 值

0.00

@@ -68,7 +68,7 @@
-

即時平均有效日照時數

+

今日有效日照時數(kwh/kwp)

0.00

@@ -279,8 +279,8 @@ '
' + '
' + '
今日發電量(kW h):' + item.today_kWh + '
'+ - '
今日日照度(k W/m2):' + item.today_irradiance + '
'+ - '
今日發電小時(hr):' + item.solarHour + '
' + + '
即時日照度(k W/m2):' + item.today_irradiance + '
'+ + '
有效日照時數(kwh/kwp):' + item.today_kwhkwp.toFixed(2) + '
' + '
裝置容量(kWp):' + item.generatingCapacity.toFixed(3) + '
' + '
掛錶日期:' + item.electricityMeterAt + '
' + '
天氣:' + item.wx + '
'+ diff --git a/SolarPower/Views/StationOverview/Index.cshtml b/SolarPower/Views/StationOverview/Index.cshtml index b36ee6b..ede80d0 100644 --- a/SolarPower/Views/StationOverview/Index.cshtml +++ b/SolarPower/Views/StationOverview/Index.cshtml @@ -94,7 +94,7 @@
-

即時平均日照度

+

即時日照度

0.00

diff --git a/SolarPower/Views/StationOverview/_UpToDate.cshtml b/SolarPower/Views/StationOverview/_UpToDate.cshtml index d7e902a..0002ad9 100644 --- a/SolarPower/Views/StationOverview/_UpToDate.cshtml +++ b/SolarPower/Views/StationOverview/_UpToDate.cshtml @@ -39,7 +39,7 @@
-

即時平均日照度

+

即時日照度

0.00