1. 修改合併電站查詢方式
This commit is contained in:
parent
dc9023cf85
commit
ce14c7c84b
@ -192,57 +192,51 @@ namespace SolarPower.Repository.Implement
|
||||
switch (post.SeacrhType)
|
||||
{
|
||||
case 0:
|
||||
sql = $@"SELECT DATE_FORMAT(ps.TIMESTAMP,'%h %p') AS `Time`,
|
||||
SUM(ps.KWH) AS KWH,
|
||||
SUM(sh.Irradiance) AS Irradiance,
|
||||
AVG(sh.Temperature) AS Temperature
|
||||
FROM power_station_history_hour ps
|
||||
LEFT JOIN sensor_history_hour sh
|
||||
ON sh.TIMESTAMP = ps.TIMESTAMP AND sh.PowerStationId = ps.PowerStationId
|
||||
WHERE ps.PowerStationId IN @ids AND DATE_FORMAT(sh.TIMESTAMP,'%Y-%m-%d') = '{post.Timerange}'
|
||||
GROUP BY ps.TIMESTAMP";
|
||||
sql = $@"SELECT DATE_FORMAT(p.TIMESTAMP,'%h %p') AS `Time`,
|
||||
SUM(p.KWH) AS KWH,
|
||||
SUM(s.Irradiance) AS Irradiance,
|
||||
AVG(s.Temperature) AS Temperature
|
||||
FROM (SELECT * FROM power_station_history_hour ps WHERE ps.PowerStationId IN @ids AND DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') = '{post.Timerange}') p
|
||||
LEFT JOIN (SELECT * FROM sensor_history_hour sh WHERE sh.PowerStationId IN @ids AND DATE_FORMAT(sh.TIMESTAMP,'%Y-%m-%d') = '{post.Timerange}') s
|
||||
ON p.TIMESTAMP = s.TIMESTAMP AND p.PowerStationId = s.PowerStationId
|
||||
GROUP BY p.TIMESTAMP";
|
||||
break;
|
||||
case 1:
|
||||
var time = post.Timerange.Replace(" ","").Split('-');
|
||||
sql = $@"SELECT
|
||||
DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') AS `Time`,
|
||||
SUM(ps.TODAYKWH) AS KWH,
|
||||
SUM(sh.Irradiance) AS Irradiance,
|
||||
AVG(sh.Temperature) AS Temperature
|
||||
FROM power_station_history_day ps
|
||||
LEFT JOIN sensor_history_day sh
|
||||
ON sh.TIMESTAMP = ps.TIMESTAMP
|
||||
WHERE ps.PowerStationId IN @ids AND DATE_FORMAT(sh.TIMESTAMP,'%Y-%m-%d') BETWEEN '{time[0].Replace('/', '-')}' AND '{time[1].Replace('/', '-')}'
|
||||
GROUP BY ps.TIMESTAMP";
|
||||
DATE_FORMAT(p.TIMESTAMP,'%Y-%m-%d') AS `Time`,
|
||||
SUM(p.TODAYKWH) AS KWH,
|
||||
SUM(s.Irradiance) AS Irradiance,
|
||||
AVG(s.Temperature) AS Temperature
|
||||
FROM (SELECT * FROM power_station_history_day ps WHERE ps.PowerStationId IN @ids AND DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') BETWEEN '{time[0].Replace('/', '-')}' AND '{time[1].Replace('/', '-')}') p
|
||||
LEFT JOIN (SELECT * FROM sensor_history_day sh WHERE sh.PowerStationId IN @ids AND DATE_FORMAT(sh.TIMESTAMP,'%Y-%m-%d') BETWEEN '{time[0].Replace('/', '-')}' AND '{time[1].Replace('/', '-')}') s
|
||||
ON s.TIMESTAMP = p.TIMESTAMP AND p.PowerStationId = s.PowerStationId
|
||||
GROUP BY p.TIMESTAMP";
|
||||
break;
|
||||
case 2:
|
||||
sql = $@"SELECT
|
||||
DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') AS `Time`,
|
||||
SUM(ps.TODAYKWH) AS KWH,
|
||||
SUM(sh.Irradiance) AS Irradiance,
|
||||
AVG(sh.Temperature) AS Temperature
|
||||
FROM power_station_history_day ps
|
||||
LEFT JOIN sensor_history_day sh
|
||||
ON sh.TIMESTAMP = ps.TIMESTAMP
|
||||
WHERE ps.PowerStationId IN @ids AND DATE_FORMAT(sh.TIMESTAMP,'%Y-%m') = '{post.Timerange}'
|
||||
GROUP BY ps.TIMESTAMP";
|
||||
DATE_FORMAT(p.TIMESTAMP,'%Y-%m-%d') AS `Time`,
|
||||
SUM(p.TODAYKWH) AS KWH,
|
||||
SUM(s.Irradiance) AS Irradiance,
|
||||
AVG(s.Temperature) AS Temperature
|
||||
FROM (SELECT * FROM power_station_history_day ps WHERE ps.PowerStationId IN @ids AND DATE_FORMAT(ps.TIMESTAMP,'%Y-%m') = '{post.Timerange}') p
|
||||
LEFT JOIN (SELECT * FROM sensor_history_day sh WHERE sh.PowerStationId IN @ids AND DATE_FORMAT(sh.TIMESTAMP,'%Y-%m') = '{post.Timerange}') s
|
||||
ON s.TIMESTAMP = p.TIMESTAMP AND p.PowerStationId = s.PowerStationId
|
||||
GROUP BY p.TIMESTAMP";
|
||||
break;
|
||||
case 3:
|
||||
sql = $@"SELECT
|
||||
DATE_FORMAT(ps.TIMESTAMP,'%Y-%m') AS `Time`,
|
||||
SUM(ps.MONTHKWH) AS KWH,
|
||||
SUM(sh.Irradiance) AS Irradiance,
|
||||
AVG(sh.Temperature) AS Temperature
|
||||
FROM power_station_history_month ps
|
||||
LEFT JOIN sensor_history_month sh
|
||||
ON sh.TIMESTAMP = ps.TIMESTAMP
|
||||
WHERE ps.PowerStationId IN @ids AND DATE_FORMAT(sh.TIMESTAMP,'%Y') = '{post.Timerange}'
|
||||
GROUP BY ps.TIMESTAMP";
|
||||
DATE_FORMAT(p.TIMESTAMP,'%Y-%m') AS `Time`,
|
||||
SUM(p.MONTHKWH) AS KWH,
|
||||
SUM(s.Irradiance) AS Irradiance,
|
||||
AVG(s.Temperature) AS Temperature
|
||||
FROM (SELECT * FROM power_station_history_month ps WHERE ps.PowerStationId IN @ids AND DATE_FORMAT(ps.TIMESTAMP,'%Y') = '{post.Timerange}') p
|
||||
LEFT JOIN (SELECT * FROM sensor_history_month sh WHERE sh.PowerStationId IN @ids AND DATE_FORMAT(sh.TIMESTAMP,'%Y') = '{post.Timerange}') s
|
||||
ON s.TIMESTAMP = p.TIMESTAMP AND p.PowerStationId = s.PowerStationId
|
||||
GROUP BY p.TIMESTAMP";
|
||||
break;
|
||||
}
|
||||
a = (await conn.QueryAsync<Chartoutput>(sql,new { ids = post.StationIds})).ToList();
|
||||
|
||||
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user