電站報表-新增欄位、更改檔名(公司名)
This commit is contained in:
parent
0e62bc8062
commit
b7456ab29e
@ -928,7 +928,15 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
else if(postObject.FormType == 1)
|
else if(postObject.FormType == 1)
|
||||||
{
|
{
|
||||||
name = "月";
|
if(postObject.SearchType == 2)
|
||||||
|
{
|
||||||
|
name = "月";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
name = "區間";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (postObject.FormType == 3)
|
else if (postObject.FormType == 3)
|
||||||
{
|
{
|
||||||
@ -939,11 +947,12 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
AllowClose = false
|
AllowClose = false
|
||||||
};
|
};
|
||||||
|
string companyName = postObject.PowerStation[0].Name;
|
||||||
workbook.Write(ms);
|
workbook.Write(ms);
|
||||||
ms.Flush();
|
ms.Flush();
|
||||||
ms.Seek(0, SeekOrigin.Begin);
|
ms.Seek(0, SeekOrigin.Begin);
|
||||||
var Datename = postObject.Time.Replace("-", "");
|
var Datename = postObject.Time.Replace("-", "");
|
||||||
return File(ms, "application/vnd.ms-excel", "FIC太陽能監控平台" + "_" + name + "報表" + "_" + postObject.Userid + Datename + ".xlsx");
|
return File(ms, "application/vnd.ms-excel", companyName + "_" + name + "報表" + "_" + postObject.Userid + Datename + ".xlsx");
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Checknull(string a)
|
public string Checknull(string a)
|
||||||
@ -1513,7 +1522,14 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
name = "月";
|
if(postObject.SearchType == 2)
|
||||||
|
{
|
||||||
|
name = "月";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
name = "區間";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var Datename = postObject.Time.Replace("-", "");
|
var Datename = postObject.Time.Replace("-", "");
|
||||||
|
|
||||||
@ -1527,11 +1543,12 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "report", Datename));
|
Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "report", Datename));
|
||||||
}
|
}
|
||||||
var n = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "report", Datename, "FIC太陽能監控平台" + "_" + name + "報表" + "_" + postObject.Userid + Datename + ".xlsx");
|
string companyName = postObject.PowerStation[0].Name;
|
||||||
|
var n = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "report", Datename, companyName + "_" + name + "報表" + "_" + postObject.Userid + Datename + ".xlsx");
|
||||||
FileStream FS = new FileStream(n, FileMode.Create, FileAccess.Write);
|
FileStream FS = new FileStream(n, FileMode.Create, FileAccess.Write);
|
||||||
workbook.Write(FS);
|
workbook.Write(FS);
|
||||||
FS.Close();
|
FS.Close();
|
||||||
return Path.Combine("\\" + "upload" ,"report", Datename, "FIC太陽能監控平台" + "_" + name + "報表" + "_" + postObject.Userid+ Datename + ".xlsx");
|
return Path.Combine("\\" + "upload" ,"report", Datename, companyName + "_" + name + "報表" + "_" + postObject.Userid+ Datename + ".xlsx");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ApiResult<List<MaxFormbody>>> GetMaxForm(Select_table2 post)
|
public async Task<ApiResult<List<MaxFormbody>>> GetMaxForm(Select_table2 post)
|
||||||
@ -1645,7 +1662,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
index++;
|
index++;
|
||||||
cell = row.CreateCell(index);
|
cell = row.CreateCell(index);
|
||||||
cell.SetCellValue(Math.Round(form.AvgIrradiance,2));
|
cell.SetCellValue(Math.Round(form.Irradiance,2));
|
||||||
cell.CellStyle = styleLine12;
|
cell.CellStyle = styleLine12;
|
||||||
|
|
||||||
index++;
|
index++;
|
||||||
@ -1893,11 +1910,12 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
AllowClose = false
|
AllowClose = false
|
||||||
};
|
};
|
||||||
|
string companyName = postObject.PowerStation[0].Name;
|
||||||
workbook.Write(ms);
|
workbook.Write(ms);
|
||||||
ms.Flush();
|
ms.Flush();
|
||||||
ms.Seek(0, SeekOrigin.Begin);
|
ms.Seek(0, SeekOrigin.Begin);
|
||||||
var Datename = postObject.Time.Replace("-", "");
|
var Datename = postObject.Time.Replace("-", "");
|
||||||
return File(ms, "application/vnd.ms-excel", "FIC太陽能監控平台" + "_" + "綜合比較" + "_" + postObject.Userid + Datename + ".xlsx");
|
return File(ms, "application/vnd.ms-excel", companyName + "_" + "綜合比較" + "_" + postObject.Userid + Datename + ".xlsx");
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ExportExcelmaxtableBackDownload(string post)
|
public string ExportExcelmaxtableBackDownload(string post)
|
||||||
@ -1992,7 +2010,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
index++;
|
index++;
|
||||||
cell = row.CreateCell(index);
|
cell = row.CreateCell(index);
|
||||||
cell.SetCellValue(Math.Round(form.AvgIrradiance, 2));
|
cell.SetCellValue(Math.Round(form.Irradiance, 2));
|
||||||
cell.CellStyle = styleLine12;
|
cell.CellStyle = styleLine12;
|
||||||
|
|
||||||
index++;
|
index++;
|
||||||
@ -2244,12 +2262,13 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "report", Datename));
|
Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "report", Datename));
|
||||||
}
|
}
|
||||||
var n = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "report", Datename, "FIC太陽能監控平台" + "_" + "綜合比較" + "_" + postObject.Userid + Datename + ".xlsx");
|
string companyName = postObject.PowerStation[0].Name;
|
||||||
|
var n = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "upload", "report", Datename, companyName + "_" + "綜合比較" + "_" + postObject.Userid + Datename + ".xlsx");
|
||||||
FileStream FS = new FileStream(n, FileMode.Create, FileAccess.Write);
|
FileStream FS = new FileStream(n, FileMode.Create, FileAccess.Write);
|
||||||
workbook.Write(FS);
|
workbook.Write(FS);
|
||||||
FS.Close();
|
FS.Close();
|
||||||
|
|
||||||
return Path.Combine("\\" + "upload", "report", Datename, "FIC太陽能監控平台" + "_" + "綜合比較" + "_" + postObject.Userid + Datename + ".xlsx");
|
return Path.Combine("\\" + "upload", "report", Datename, companyName + "_" + "綜合比較" + "_" + postObject.Userid + Datename + ".xlsx");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ApiResult<List<string>>> CheckExcel(Select_table2 post)
|
public async Task<ApiResult<List<string>>> CheckExcel(Select_table2 post)
|
||||||
|
|||||||
@ -86,18 +86,24 @@ namespace SolarPower.Models
|
|||||||
public string PowerstationName { get; set; }
|
public string PowerstationName { get; set; }
|
||||||
public int PowerstationId { get; set; }
|
public int PowerstationId { get; set; }
|
||||||
public int PowerstationType { get; set; }
|
public int PowerstationType { get; set; }
|
||||||
|
public int Days { get; set; }
|
||||||
public double Kwh { get; set; }
|
public double Kwh { get; set; }
|
||||||
public string PowerstationDB { get; set; }
|
public string PowerstationDB { get; set; }
|
||||||
public double SolarHour { get; set; }
|
public double SolarHour { get; set; }
|
||||||
public double AvgIrradiance { get; set; }
|
public double Irradiance { get; set; }
|
||||||
public double AvgPR { get; set; }
|
public double AvgPR { get; set; }
|
||||||
public double AvgKWHKWP { get; set; }
|
public double AvgKWHKWP { get; set; }
|
||||||
public double TodayMoney { get; set; }
|
public double TodayMoney { get; set; }
|
||||||
|
public double PowerRate { get; set; }
|
||||||
|
public double GeneratingCapacity { get; set; }
|
||||||
|
public double TotalKWH { get; set; }
|
||||||
|
|
||||||
private string mintime;
|
private string mintime;
|
||||||
private string maxtime;
|
private string maxtime;
|
||||||
|
private string electricityMeterAt;
|
||||||
public string Maxtime { get { return Convert.ToDateTime(maxtime).ToString("yyyy/MM/dd"); } set { maxtime = value; } }
|
public string Maxtime { get { return Convert.ToDateTime(maxtime).ToString("yyyy/MM/dd"); } set { maxtime = value; } }
|
||||||
public string Mintime { get { return Convert.ToDateTime(mintime).ToString("yyyy/MM/dd"); } set { mintime = value; } }
|
public string Mintime { get { return Convert.ToDateTime(mintime).ToString("yyyy/MM/dd"); } set { mintime = value; } }
|
||||||
|
public string ElectricityMeterAt { get { return Convert.ToDateTime(electricityMeterAt).ToString("yyyy/MM/dd"); } set { electricityMeterAt = value; } }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CityArray
|
public class CityArray
|
||||||
@ -107,6 +113,7 @@ namespace SolarPower.Models
|
|||||||
public double SolarHour { get; set; }
|
public double SolarHour { get; set; }
|
||||||
public int Count { get; set; }
|
public int Count { get; set; }
|
||||||
public double Kwhkwp { get; set; }
|
public double Kwhkwp { get; set; }
|
||||||
|
public double GeneratingCapacity { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@ using System.Collections.Generic;
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
namespace SolarPower.Repository.Implement
|
namespace SolarPower.Repository.Implement
|
||||||
{
|
{
|
||||||
@ -79,12 +80,23 @@ namespace SolarPower.Repository.Implement
|
|||||||
)z on a.PowerStationID = z.id
|
)z on a.PowerStationID = z.id
|
||||||
where DATE_FORMAT(a.report_date,''%Y-%m-%d'') = ''{post.Time}'' and a.PowerStationID = {post.PowerStation}
|
where DATE_FORMAT(a.report_date,''%Y-%m-%d'') = ''{post.Time}'' and a.PowerStationID = {post.PowerStation}
|
||||||
GROUP BY DATE_FORMAT(a.report_date,''%Y-%m-%d %H:%i'')
|
GROUP BY DATE_FORMAT(a.report_date,''%Y-%m-%d %H:%i'')
|
||||||
order by DATE_FORMAT(a.report_date,''%Y-%m-%d %H:%i'') ');
|
order by DATE_FORMAT(a.report_date,''%Y-%m-%d %H:%i'') ;
|
||||||
|
-- step 2
|
||||||
#select @sql as 'mySelect'; #顯示動態語法
|
create TEMPORARY TABLE temp_inv2 as
|
||||||
|
select * from temp_inv;
|
||||||
|
-- step 3
|
||||||
|
select * from temp_inv
|
||||||
|
union
|
||||||
|
SELECT ''總計'' report_date, ', @SQL,
|
||||||
|
', round(sum(hourKWH), 2) hourKWH, round(sum(hourKWHp), 2) hourKWHp, round(sum(irradiance), 2) irradiance,
|
||||||
|
avg(temperature) temperature, round(sum(hourmoney), 2) hourmoney, avg(totKWH) totKWH, avg(totKWHKWP) totKWHKWP, avg(totmoney) totmoney, ''電站名稱'' stationName,
|
||||||
|
avg(daymoney) daymoney, avg(tothour) tothour, avg(pr) pr, avg(GeneratingCapacity) GeneratingCapacity
|
||||||
|
from temp_inv2');
|
||||||
|
#select @sql as 'mySelect'; #顯示動態語法
|
||||||
PREPARE stmt FROM @sql;
|
PREPARE stmt FROM @sql;
|
||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;";
|
DEALLOCATE PREPARE stmt;";
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if(post.SearchType == 2)
|
if(post.SearchType == 2)
|
||||||
@ -131,7 +143,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
# select @sql as 'mySelect'; #顯示動態語法
|
# select @sql as 'mySelect'; #顯示動態語法
|
||||||
PREPARE stmt FROM @sql;
|
PREPARE stmt FROM @sql;
|
||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;";
|
DEALLOCATE PREPARE stmt;";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -180,7 +192,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
# select @sql as 'mySelect'; #顯示動態語法
|
# select @sql as 'mySelect'; #顯示動態語法
|
||||||
PREPARE stmt FROM @sql;
|
PREPARE stmt FROM @sql;
|
||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;";
|
DEALLOCATE PREPARE stmt;";
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -193,7 +205,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
) INTO @sql
|
) INTO @sql
|
||||||
FROM inverter_history_month where powerstationId = {post.PowerStation} and DATE_FORMAT(`TIMESTAMP`,'%Y') = '{post.Time}';
|
FROM inverter_history_month where powerstationId = {post.PowerStation} and DATE_FORMAT(`TIMESTAMP`,'%Y') = '{post.Time}';
|
||||||
SET @sql = CONCAT('SELECT DATE_FORMAT(a.TIMESTAMP,''%Y/%m'') report_date, ', @sql,
|
SET @sql = CONCAT('SELECT DATE_FORMAT(a.TIMESTAMP,''%Y/%m'') report_date, ', @sql,
|
||||||
',b.todayKWH ''dayKWH'', round((b.todayKWH / c.monthKWH)*100,2) ''dayKWHp'', b.SOLARHOUR ''tothour'', b.KWHKWP ''KWHKWP'', b.PR,
|
',b.todayKWH ''dayKWH'', round((b.todayKWH / c.monthKWH)*100,2) ''dayKWHp'', b.SOLARHOUR ''tothour'', b.KWHKWP ''KWHKWP'', b.PR,z.GeneratingCapacity,
|
||||||
d.irradiance ''irradiance'', d.Temperature ''temperature'', b.money ''soldmoney'',
|
d.irradiance ''irradiance'', d.Temperature ''temperature'', b.money ''soldmoney'',
|
||||||
c.monthKWH ''monthKWH'', c.money ''monthmoney'', stationName, powerRate ''monthmoneyone'',SolarType,SiteDB
|
c.monthKWH ''monthKWH'', c.money ''monthmoney'', stationName, powerRate ''monthmoneyone'',SolarType,SiteDB
|
||||||
FROM inverter_history_month a left join
|
FROM inverter_history_month a left join
|
||||||
@ -218,7 +230,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
) d on a.powerStationid = d.powerStationid and DATE_FORMAT(a.TIMESTAMP,''%Y-%m'') = d.report_date
|
) d on a.powerStationid = d.powerStationid and DATE_FORMAT(a.TIMESTAMP,''%Y-%m'') = d.report_date
|
||||||
join
|
join
|
||||||
(
|
(
|
||||||
select id, name stationName, powerRate,SolarType,SiteDB from power_station where id = {post.PowerStation}
|
select id, name stationName, powerRate,SolarType,SiteDB,GeneratingCapacity from power_station where id = {post.PowerStation}
|
||||||
)z on a.powerstationid = z.id
|
)z on a.powerstationid = z.id
|
||||||
where DATE_FORMAT(a.TIMESTAMP,''%Y'') = ''{post.Time}''
|
where DATE_FORMAT(a.TIMESTAMP,''%Y'') = ''{post.Time}''
|
||||||
GROUP BY DATE_FORMAT(a.TIMESTAMP,''%Y-%m'')
|
GROUP BY DATE_FORMAT(a.TIMESTAMP,''%Y-%m'')
|
||||||
@ -227,8 +239,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
# select @sql as 'mySelect'; #顯示動態語法
|
# select @sql as 'mySelect'; #顯示動態語法
|
||||||
PREPARE stmt FROM @sql;
|
PREPARE stmt FROM @sql;
|
||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;";
|
DEALLOCATE PREPARE stmt;";
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -322,6 +333,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<MaxFormbody>> GetMaxtablebody(Select_table2 post)
|
public async Task<List<MaxFormbody>> GetMaxtablebody(Select_table2 post)
|
||||||
{
|
{
|
||||||
|
string day1 = $"{1} 'Days'";
|
||||||
List<MaxFormbody> result = new List<MaxFormbody>();
|
List<MaxFormbody> result = new List<MaxFormbody>();
|
||||||
using (IDbConnection conn = _databaseHelper.GetConnection())
|
using (IDbConnection conn = _databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -334,11 +346,54 @@ namespace SolarPower.Repository.Implement
|
|||||||
ids.Add(Convert.ToInt32(i.Value));
|
ids.Add(Convert.ToInt32(i.Value));
|
||||||
}
|
}
|
||||||
string[] times = { };
|
string[] times = { };
|
||||||
if(post.SearchType == 1)
|
if (post.SearchType == 1)
|
||||||
{
|
{
|
||||||
times = post.Time.Replace('-', 'a').Replace('/', '-').Replace(" ", "").Split('a');
|
times = post.Time.Replace('-', 'a').Replace('/', '-').Replace(" ", "").Split('a');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (post.SearchType == 2)
|
||||||
|
{
|
||||||
|
DateTime today = DateTime.Now.Date;
|
||||||
|
DateTime FirstDay = DateTime.ParseExact(post.Time, "yyyy-MM", System.Globalization.CultureInfo.InvariantCulture);
|
||||||
|
DateTime LastDay = FirstDay.AddMonths(1).AddDays(-FirstDay.AddMonths(1).Day);
|
||||||
|
if((LastDay-today).Days > 0)
|
||||||
|
{
|
||||||
|
LastDay = today.AddDays(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
day1 = $"TIMESTAMPDIFF(DAY,'{FirstDay}','{LastDay}') 'Days'";
|
||||||
|
}
|
||||||
|
else if (post.SearchType == 3)
|
||||||
|
{
|
||||||
|
DateTime yFirstDay = DateTime.ParseExact(post.Time, "yyyy", System.Globalization.CultureInfo.InvariantCulture);
|
||||||
|
DateTime yLastDay = yFirstDay.AddMonths(12).AddDays(-yFirstDay.AddMonths(1).Day);
|
||||||
|
if ((yLastDay - DateTime.Now.Date).Days > 0)
|
||||||
|
{
|
||||||
|
yLastDay = DateTime.Now.Date.AddDays(-1);
|
||||||
|
}
|
||||||
|
day1 = $"TIMESTAMPDIFF(DAY,'{yFirstDay}','{yLastDay}') 'Days'";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
day1 = post.SearchType switch
|
||||||
|
{
|
||||||
|
0 => $"{1} 'Days'",
|
||||||
|
1 => $"TIMESTAMPDIFF(DAY,'{times[0]}','{times[1]}') 'Days'",
|
||||||
|
_ => ""
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//var day1 = post.SearchType switch
|
||||||
|
//{
|
||||||
|
// 0 => $"{1} 'Days'",
|
||||||
|
// 1 => $"TIMESTAMPDIFF(DAY,'{times[0]}','{times[1]}') 'Days'",
|
||||||
|
// 2 => $"TIMESTAMPDIFF(DAY,'{FirstDay}','{LastDay}') 'Days'",
|
||||||
|
// 3 => $"TIMESTAMPDIFF(DAY,'{yFirstDay}','{yLastDay}') 'Days'",
|
||||||
|
// _ => ""
|
||||||
|
//};
|
||||||
|
|
||||||
var wheretime = post.SearchType switch
|
var wheretime = post.SearchType switch
|
||||||
{
|
{
|
||||||
0 => $"AND DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') = '{post.Time}'",
|
0 => $"AND DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') = '{post.Time}'",
|
||||||
@ -399,28 +454,28 @@ namespace SolarPower.Repository.Implement
|
|||||||
// ) n ON n.Id = ps.Id
|
// ) n ON n.Id = ps.Id
|
||||||
// WHERE ps.Id IN @ids ORDER BY ps.CityId";
|
// WHERE ps.Id IN @ids ORDER BY ps.CityId";
|
||||||
string sql = $@"SELECT ct.`Name` AS 'CityName', ar.Name AS 'AreaName', ps.Name AS 'PowerstationName', ps.SiteDB AS 'PowerstationDB', ps.SolarType AS 'PowerstationType',
|
string sql = $@"SELECT ct.`Name` AS 'CityName', ar.Name AS 'AreaName', ps.Name AS 'PowerstationName', ps.SiteDB AS 'PowerstationDB', ps.SolarType AS 'PowerstationType',
|
||||||
ps.Id as 'PowerStationId',
|
ps.Id as 'PowerStationId', ps.ElectricityMeterAt as 'electricityMeterAt', ps.PowerRate, ps.GeneratingCapacity,
|
||||||
a.SolarHour ,a.Kwh ,a.PR AvgPR, a.KWHKWP AvgKWHKWP,c.Irradiance AvgIrradiance,
|
a.SolarHour ,a.Kwh ,a.PR AvgPR, a.KWHKWP AvgKWHKWP,c.Irradiance Irradiance, a.TOTALKWH TotalKWH,
|
||||||
(a.TODAYKWH * PowerRate) 'TodayMoney', a.Id,a.time,a.maxtime,a.mintime
|
(a.TODAYKWH * PowerRate) 'TodayMoney', a.Id,a.time,a.maxtime,a.mintime, {day1}
|
||||||
FROM power_station ps
|
FROM power_station ps
|
||||||
LEFT JOIN city ct ON ct.Id = ps.CityId
|
LEFT JOIN city ct ON ct.Id = ps.CityId
|
||||||
LEFT JOIN area ar ON ar.Id = ps.AreaId
|
LEFT JOIN area ar ON ar.Id = ps.AreaId
|
||||||
left JOIN
|
left JOIN
|
||||||
(
|
(
|
||||||
SELECT powerStationid id, ps.SOLARHOUR AS 'SolarHour',ps.TODAYKWH 'Kwh' , PR, KWHKWP, TODAYKWH,
|
SELECT powerStationid id, ps.SOLARHOUR AS 'SolarHour',ps.TODAYKWH 'Kwh' , PR, KWHKWP, TODAYKWH, TOTALKWH,
|
||||||
DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') AS 'time',
|
DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') AS 'time',
|
||||||
MAX(DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d %H:%i')) AS 'maxtime',
|
MAX(DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d %H:%i')) AS 'maxtime',
|
||||||
MIN(DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d %H:%i')) AS 'mintime', ps.PowerStationId
|
MIN(DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d %H:%i')) AS 'mintime', ps.PowerStationId
|
||||||
FROM power_station_history_day ps
|
FROM power_station_history_day ps
|
||||||
WHERE ps.PowerStationId IN @ids {wheretime}
|
WHERE ps.PowerStationId IN @ids {wheretime}
|
||||||
GROUP BY DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d'),ps.PowerStationId
|
GROUP BY ps.PowerStationId
|
||||||
) a ON ps.Id = a.Id
|
) a ON ps.Id = a.Id
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
(
|
(
|
||||||
SELECT SUM(ps.Irradiance) AS Irradiance , DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') AS TIME ,ps.PowerStationId
|
SELECT SUM(ps.Irradiance) AS Irradiance , DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d') AS TIME ,ps.PowerStationId
|
||||||
from sensor_history_hour ps
|
from sensor_history_day ps
|
||||||
WHERE ps.PowerStationId IN @ids {wheretime}
|
WHERE ps.PowerStationId IN @ids {wheretime}
|
||||||
GROUP BY DATE_FORMAT(ps.TIMESTAMP,'%Y-%m-%d'),ps.PowerStationId
|
GROUP BY ps.PowerStationId
|
||||||
) c ON a.Id = c.PowerStationId and a.time = c.time
|
) c ON a.Id = c.PowerStationId and a.time = c.time
|
||||||
WHERE ps.Id IN @ids ORDER BY ps.CityId";
|
WHERE ps.Id IN @ids ORDER BY ps.CityId";
|
||||||
result = (await conn.QueryAsync<MaxFormbody>(sql,new { ids = ids}, commandTimeout: 300)).ToList();
|
result = (await conn.QueryAsync<MaxFormbody>(sql,new { ids = ids}, commandTimeout: 300)).ToList();
|
||||||
|
|||||||
@ -271,7 +271,8 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>縣市</th>
|
<th>縣市</th>
|
||||||
<th>平均發電量(kWp)</th>
|
<th>裝置容量</th>
|
||||||
|
<th>總發電量(kWh)</th>
|
||||||
<th>日均發電度數</th>
|
<th>日均發電度數</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -826,7 +827,7 @@
|
|||||||
})
|
})
|
||||||
str += "<th>小時<br />發電量<br />(kWh)</th>";
|
str += "<th>小時<br />發電量<br />(kWh)</th>";
|
||||||
str += "<th>小時<br />發電量<br />百分比<br />(%)</th>";
|
str += "<th>小時<br />發電量<br />百分比<br />(%)</th>";
|
||||||
str += "<th>小時<br />平均<br />日照度<br />(W/㎡)</th>";
|
str += "<th>小時<br />累積<br />日照度<br />(W/㎡)</th>";
|
||||||
str += "<th>小時<br />平均<br />模組<br />溫度<br />(°C)</th>";
|
str += "<th>小時<br />平均<br />模組<br />溫度<br />(°C)</th>";
|
||||||
if (rel.data.showMoney == 1) {
|
if (rel.data.showMoney == 1) {
|
||||||
str += "<th>小時<br />售電<br />金額<br />(NTD)</th>";
|
str += "<th>小時<br />售電<br />金額<br />(NTD)</th>";
|
||||||
@ -844,7 +845,7 @@
|
|||||||
str += "<th>日照小時(hr)</th>";
|
str += "<th>日照小時(hr)</th>";
|
||||||
str += "<th>日均發電度數</th>";
|
str += "<th>日均發電度數</th>";
|
||||||
str += "<th>PR%</th>";
|
str += "<th>PR%</th>";
|
||||||
str += "<th>累積日照量(W/㎡)</th>";
|
str += "<th>日<br />累積<br />日照度<br />(W/㎡)</th>";
|
||||||
str += "<th>日<br />平均<br />模組溫度<br />(°C)</th>";
|
str += "<th>日<br />平均<br />模組溫度<br />(°C)</th>";
|
||||||
if (rel.data.showMoney == 1) {
|
if (rel.data.showMoney == 1) {
|
||||||
str += "<th>日<br />售電金額<br />(NTD)</th>";
|
str += "<th>日<br />售電金額<br />(NTD)</th>";
|
||||||
@ -862,7 +863,7 @@
|
|||||||
str += "<th>日照小時(hr)</th>";
|
str += "<th>日照小時(hr)</th>";
|
||||||
str += "<th>日均發電度數</th>";
|
str += "<th>日均發電度數</th>";
|
||||||
str += "<th>PR%</th>";
|
str += "<th>PR%</th>";
|
||||||
str += "<th>累積日照量(W/㎡)</th>";
|
str += "<th>日<br />累積<br />日照度<br />(W/㎡)</th>";
|
||||||
str += "<th>日<br />平均<br />模組溫度<br />(°C)</th>";
|
str += "<th>日<br />平均<br />模組溫度<br />(°C)</th>";
|
||||||
if (rel.data.showMoney == 1) {
|
if (rel.data.showMoney == 1) {
|
||||||
str += "<th>日<br />售電金額<br />(NTD)</th>";
|
str += "<th>日<br />售電金額<br />(NTD)</th>";
|
||||||
@ -872,9 +873,14 @@
|
|||||||
case 2: //綜合比較
|
case 2: //綜合比較
|
||||||
str += "<th>區域</th>";
|
str += "<th>區域</th>";
|
||||||
str += "<th>電站名稱</th>";
|
str += "<th>電站名稱</th>";
|
||||||
str += "<th>發電量</th>";
|
str += "<th>電站類型</th>";
|
||||||
|
str += "<th>掛錶日期</th>";
|
||||||
|
str += "<th>裝置容量</th>";
|
||||||
|
str += "<th>躉售費率</th>";
|
||||||
|
str += "<th>每kw日均獲利</th>";
|
||||||
str += "<th>日均發電度數</th>";
|
str += "<th>日均發電度數</th>";
|
||||||
str += "<th>平均日照</th>";
|
str += "<th>發電量</th>";
|
||||||
|
str += "<th>累積日照量</th>";
|
||||||
str += "<th>PR</th>";
|
str += "<th>PR</th>";
|
||||||
if (rel.data.showMoney == 1) {
|
if (rel.data.showMoney == 1) {
|
||||||
str += "<th>發電金額</th>";
|
str += "<th>發電金額</th>";
|
||||||
@ -893,7 +899,7 @@
|
|||||||
str += "<th>日照小時(hr)</th>";
|
str += "<th>日照小時(hr)</th>";
|
||||||
str += "<th>日均發電度數</th>";
|
str += "<th>日均發電度數</th>";
|
||||||
str += "<th>PR%</th>";
|
str += "<th>PR%</th>";
|
||||||
str += "<th>月<br />平均<br />日照度<br />(W/㎡)</th>";
|
str += "<th>月<br />累積<br />日照度<br />(W/㎡)</th>";
|
||||||
str += "<th>月<br />平均<br />模組溫度<br />(°C)</th>";
|
str += "<th>月<br />平均<br />模組溫度<br />(°C)</th>";
|
||||||
if (rel.data.showMoney == 1) {
|
if (rel.data.showMoney == 1) {
|
||||||
str += "<th>月<br />售電金額<br />(NTD)</th>";
|
str += "<th>月<br />售電金額<br />(NTD)</th>";
|
||||||
@ -1012,6 +1018,7 @@
|
|||||||
var kWhkwp = 0;
|
var kWhkwp = 0;
|
||||||
var ntd = 0;
|
var ntd = 0;
|
||||||
var ntdone = 0;
|
var ntdone = 0;
|
||||||
|
var averageDailyProfit = 0;
|
||||||
var sta = "";
|
var sta = "";
|
||||||
var GeneratingCapacity = 0;
|
var GeneratingCapacity = 0;
|
||||||
$.each(rel.data, function (index, inverter) {
|
$.each(rel.data, function (index, inverter) {
|
||||||
@ -1039,6 +1046,7 @@
|
|||||||
ntd = inverter.totmoney ? Math.round(inverter.totmoney) : 0;
|
ntd = inverter.totmoney ? Math.round(inverter.totmoney) : 0;
|
||||||
ntdone = inverter.totmoney / inverter.totKWH ? Math.round(inverter.totmoney / inverter.totKWH * 10000) / 10000 : 0;
|
ntdone = inverter.totmoney / inverter.totKWH ? Math.round(inverter.totmoney / inverter.totKWH * 10000) / 10000 : 0;
|
||||||
GeneratingCapacity = inverter.GeneratingCapacity;
|
GeneratingCapacity = inverter.GeneratingCapacity;
|
||||||
|
averageDailyProfit = ntd / GeneratingCapacity ? Math.round(ntd / GeneratingCapacity * 10000) / 10000 : 0;
|
||||||
})
|
})
|
||||||
var stc = "<tr>";
|
var stc = "<tr>";
|
||||||
/* stc += "<th>" + '日照小時' + "</th>";*/
|
/* stc += "<th>" + '日照小時' + "</th>";*/
|
||||||
@ -1049,6 +1057,7 @@
|
|||||||
if (showmoney == 1) {
|
if (showmoney == 1) {
|
||||||
stc += "<th>" + '日售電金額(NTD)' + "</th>";
|
stc += "<th>" + '日售電金額(NTD)' + "</th>";
|
||||||
stc += "<th>" + '日售電單價(NTD)' + "</th>";
|
stc += "<th>" + '日售電單價(NTD)' + "</th>";
|
||||||
|
stc += "<th>" + '日均獲利(NTD)' + "</th>";
|
||||||
}
|
}
|
||||||
stc += "</tr>";
|
stc += "</tr>";
|
||||||
|
|
||||||
@ -1062,6 +1071,7 @@
|
|||||||
if (showmoney == 1) {
|
if (showmoney == 1) {
|
||||||
stb += "<td>" + toThousands(Math.round(ntd)) + "</td>";
|
stb += "<td>" + toThousands(Math.round(ntd)) + "</td>";
|
||||||
stb += "<td>" + Math.round(ntdone * 10000) / 10000 + "</td>";
|
stb += "<td>" + Math.round(ntdone * 10000) / 10000 + "</td>";
|
||||||
|
stb += "<td>" + toThousands(Math.round(averageDailyProfit)) + "</td>";
|
||||||
}
|
}
|
||||||
stb += "</tr>";
|
stb += "</tr>";
|
||||||
|
|
||||||
@ -1080,6 +1090,7 @@
|
|||||||
var monthmoney = 0;
|
var monthmoney = 0;
|
||||||
var monthmoneyone = 0;
|
var monthmoneyone = 0;
|
||||||
var monthday = 0;
|
var monthday = 0;
|
||||||
|
var averageDailyProfit = 0;
|
||||||
var sta = "";
|
var sta = "";
|
||||||
var check_hire = false;
|
var check_hire = false;
|
||||||
var sitedb = "";
|
var sitedb = "";
|
||||||
@ -1117,6 +1128,7 @@
|
|||||||
sitedb = inverter.SiteDB
|
sitedb = inverter.SiteDB
|
||||||
}
|
}
|
||||||
GeneratingCapacity = inverter.GeneratingCapacity;
|
GeneratingCapacity = inverter.GeneratingCapacity;
|
||||||
|
averageDailyProfit = monthmoney / GeneratingCapacity ? Math.round(monthmoney / GeneratingCapacity * 10000) / 10000 : 0;
|
||||||
})
|
})
|
||||||
monthday = rel.data.length;
|
monthday = rel.data.length;
|
||||||
|
|
||||||
@ -1132,6 +1144,7 @@
|
|||||||
stc += "<th>" + '每度獲利' + "</th>";
|
stc += "<th>" + '每度獲利' + "</th>";
|
||||||
stc += "<th>" + '售電金額(NTD)(月)' + "</th>";
|
stc += "<th>" + '售電金額(NTD)(月)' + "</th>";
|
||||||
stc += "<th>" + '售電單價(NTD)(月)' + "</th>";
|
stc += "<th>" + '售電單價(NTD)(月)' + "</th>";
|
||||||
|
stc += "<th>" + '日均獲利(NTD)' + "</th>";
|
||||||
}
|
}
|
||||||
stc += "<th>" + '售電天數(月)' + "</th>";
|
stc += "<th>" + '售電天數(月)' + "</th>";
|
||||||
stc += "</tr>";
|
stc += "</tr>";
|
||||||
@ -1147,6 +1160,8 @@
|
|||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
|
stb += "<td>" + 0 + "</td>";
|
||||||
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "</tr>";
|
stb += "</tr>";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1159,7 +1174,8 @@
|
|||||||
if (showmoney == 1) {
|
if (showmoney == 1) {
|
||||||
stb += "<td>" + toThousands((monthmoney / GeneratingCapacity).toFixed(3)) + "</td>";
|
stb += "<td>" + toThousands((monthmoney / GeneratingCapacity).toFixed(3)) + "</td>";
|
||||||
stb += "<td>" + toThousands(Math.round(monthmoney)) + "</td>";
|
stb += "<td>" + toThousands(Math.round(monthmoney)) + "</td>";
|
||||||
stb += "<td>" + Math.round(monthmoneyone / monthday*10000)/10000 + "</td>";
|
stb += "<td>" + Math.round(monthmoneyone / monthday * 10000) / 10000 + "</td>";
|
||||||
|
stb += "<td>" + toThousands(Math.round(averageDailyProfit / monthday)) + "</td>";
|
||||||
}
|
}
|
||||||
stb += "<td>" + monthday + "</td>";
|
stb += "<td>" + monthday + "</td>";
|
||||||
stb += "</tr>";
|
stb += "</tr>";
|
||||||
@ -1209,6 +1225,7 @@
|
|||||||
var monthmoney = 0;
|
var monthmoney = 0;
|
||||||
var monthmoneyone = 0;
|
var monthmoneyone = 0;
|
||||||
var monthday = 0;
|
var monthday = 0;
|
||||||
|
var averageDailyProfit = 0;
|
||||||
var sta = "";
|
var sta = "";
|
||||||
var check_hire = false;
|
var check_hire = false;
|
||||||
var sitedb = "";
|
var sitedb = "";
|
||||||
@ -1239,6 +1256,7 @@
|
|||||||
monthKWH = inverter.monthKWH ? toThousands(inverter.monthKWH) : 0;
|
monthKWH = inverter.monthKWH ? toThousands(inverter.monthKWH) : 0;
|
||||||
monthmoney = inverter.monthmoney ? inverter.monthmoney : 0;
|
monthmoney = inverter.monthmoney ? inverter.monthmoney : 0;
|
||||||
monthmoneyone += inverter.monthmoneyone ? inverter.monthmoneyone : 0;
|
monthmoneyone += inverter.monthmoneyone ? inverter.monthmoneyone : 0;
|
||||||
|
averageDailyProfit = monthmoney / inverter.GeneratingCapacity ? Math.round(monthmoney / inverter.GeneratingCapacity * 10000) / 10000 : 0;
|
||||||
|
|
||||||
if (inverter.SolarType == 1) {
|
if (inverter.SolarType == 1) {
|
||||||
check_hire = true;
|
check_hire = true;
|
||||||
@ -1257,6 +1275,7 @@
|
|||||||
if (showmoney == 1) {
|
if (showmoney == 1) {
|
||||||
stc += "<th>" + '售電金額(NTD)(年)' + "</th>";
|
stc += "<th>" + '售電金額(NTD)(年)' + "</th>";
|
||||||
stc += "<th>" + '售電單價(NTD)(年)' + "</th>";
|
stc += "<th>" + '售電單價(NTD)(年)' + "</th>";
|
||||||
|
stc += "<th>" + '日均獲利(NTD)' + "</th>";
|
||||||
}
|
}
|
||||||
stc += "<th>" + '售電月數(年)' + "</th>";
|
stc += "<th>" + '售電月數(年)' + "</th>";
|
||||||
stc += "</tr>";
|
stc += "</tr>";
|
||||||
@ -1272,6 +1291,7 @@
|
|||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "</tr>";
|
stb += "</tr>";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1281,7 +1301,8 @@
|
|||||||
stb += "<td>" + monthKWH + "</td>";
|
stb += "<td>" + monthKWH + "</td>";
|
||||||
if (showmoney == 1) {
|
if (showmoney == 1) {
|
||||||
stb += "<td>" + toThousands(Math.round(monthmoney)) + "</td>";
|
stb += "<td>" + toThousands(Math.round(monthmoney)) + "</td>";
|
||||||
stb += "<td>" + Math.round(monthmoneyone / monthday*10000)/10000 + "</td>";
|
stb += "<td>" + Math.round(monthmoneyone / monthday * 10000) / 10000 + "</td>";
|
||||||
|
stb += "<td>" + toThousands(Math.round((averageDailyProfit / monthday / 30 * 10000) / 10000)) + "</td>";
|
||||||
}
|
}
|
||||||
stb += "<td>" + monthday + "</td>";
|
stb += "<td>" + monthday + "</td>";
|
||||||
stb += "</tr>";
|
stb += "</tr>";
|
||||||
@ -1332,6 +1353,7 @@
|
|||||||
var monthmoney = 0;
|
var monthmoney = 0;
|
||||||
var monthmoneyone = 0;
|
var monthmoneyone = 0;
|
||||||
var monthday = 0;
|
var monthday = 0;
|
||||||
|
var averageDailyProfit = 0;
|
||||||
var sta = "";
|
var sta = "";
|
||||||
var check_hire = false;
|
var check_hire = false;
|
||||||
var sitedb = "";
|
var sitedb = "";
|
||||||
@ -1369,6 +1391,7 @@
|
|||||||
sitedb = inverter.SiteDB
|
sitedb = inverter.SiteDB
|
||||||
}
|
}
|
||||||
GeneratingCapacity = inverter.GeneratingCapacity;
|
GeneratingCapacity = inverter.GeneratingCapacity;
|
||||||
|
averageDailyProfit = monthmoney / GeneratingCapacity ? Math.round(monthmoney / GeneratingCapacity * 10000) / 10000 : 0;
|
||||||
})
|
})
|
||||||
monthday = rel.data.length;
|
monthday = rel.data.length;
|
||||||
|
|
||||||
@ -1384,6 +1407,7 @@
|
|||||||
stc += "<th>" + '每度獲利' + "</th>";
|
stc += "<th>" + '每度獲利' + "</th>";
|
||||||
stc += "<th>" + '售電金額(NTD)(月)' + "</th>";
|
stc += "<th>" + '售電金額(NTD)(月)' + "</th>";
|
||||||
stc += "<th>" + '售電單價(NTD)(月)' + "</th>";
|
stc += "<th>" + '售電單價(NTD)(月)' + "</th>";
|
||||||
|
stc += "<th>" + '日均獲利(NTD)' + "</th>";
|
||||||
}
|
}
|
||||||
stc += "<th>" + '售電天數(月)' + "</th>";
|
stc += "<th>" + '售電天數(月)' + "</th>";
|
||||||
stc += "</tr>";
|
stc += "</tr>";
|
||||||
@ -1399,6 +1423,8 @@
|
|||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "<td>" + 0 + "</td>";
|
stb += "<td>" + 0 + "</td>";
|
||||||
|
stb += "<td>" + 0 + "</td>";
|
||||||
|
stb += "<td>" + 0 + "</td>";
|
||||||
stb += "</tr>";
|
stb += "</tr>";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1412,6 +1438,7 @@
|
|||||||
stb += "<td>" + toThousands((monthmoney / GeneratingCapacity).toFixed(3)) + "</td>";
|
stb += "<td>" + toThousands((monthmoney / GeneratingCapacity).toFixed(3)) + "</td>";
|
||||||
stb += "<td>" + toThousands(Math.round(monthmoney)) + "</td>";
|
stb += "<td>" + toThousands(Math.round(monthmoney)) + "</td>";
|
||||||
stb += "<td>" + Math.round(monthmoneyone / monthday * 10000) / 10000 + "</td>";
|
stb += "<td>" + Math.round(monthmoneyone / monthday * 10000) / 10000 + "</td>";
|
||||||
|
stb += "<td>" + toThousands(Math.round(averageDailyProfit / monthday)) + "</td>";
|
||||||
}
|
}
|
||||||
stb += "<td>" + monthday + "</td>";
|
stb += "<td>" + monthday + "</td>";
|
||||||
stb += "</tr>";
|
stb += "</tr>";
|
||||||
@ -1567,6 +1594,8 @@
|
|||||||
kwp: data.kwh,
|
kwp: data.kwh,
|
||||||
hour: data.solarHour,
|
hour: data.solarHour,
|
||||||
kwhkwp: data.avgKWHKWP,
|
kwhkwp: data.avgKWHKWP,
|
||||||
|
generatingCapacity: data.generatingCapacity,
|
||||||
|
totalKWH: data.totalKWH,
|
||||||
count : 1
|
count : 1
|
||||||
}
|
}
|
||||||
if (CityArray.length == 0) {
|
if (CityArray.length == 0) {
|
||||||
@ -1580,7 +1609,9 @@
|
|||||||
n.kwp += cityinfo.kwp;
|
n.kwp += cityinfo.kwp;
|
||||||
n.hour += cityinfo.hour;
|
n.hour += cityinfo.hour;
|
||||||
n.count += cityinfo.count;
|
n.count += cityinfo.count;
|
||||||
n.kwhkwp += cityinfo.kwhkwp
|
n.kwhkwp += cityinfo.kwhkwp;
|
||||||
|
n.generatingCapacity += cityinfo.generatingCapacity;
|
||||||
|
n.totalKWH += cityinfo.totalKWH;
|
||||||
npush = false;
|
npush = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -1589,13 +1620,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
StrInfoBody += "<tr>";
|
StrInfoBody += "<tr>";
|
||||||
StrInfoBody += "<td>" + data.cityName + data.areaName + "</td>";
|
StrInfoBody += "<td>" + data.cityName + data.areaName + "</td>";
|
||||||
StrInfoBody += "<td>" + data.powerstationName + "</td>";
|
StrInfoBody += "<td>" + data.powerstationName + "</td>";
|
||||||
|
StrInfoBody += "<td>" + data.powerstationType + "</td>";
|
||||||
|
StrInfoBody += "<td>" + data.electricityMeterAt + "</td>";
|
||||||
|
StrInfoBody += "<td>" + data.generatingCapacity.toFixed(2) + "</td>";
|
||||||
|
StrInfoBody += "<td>" + data.powerRate.toFixed(2) + "</td>";
|
||||||
|
StrInfoBody += "<td>" + toThousands((data.todayMoney / data.generatingCapacity / data.days).toFixed(2)) + "</td>";//每kw日均獲利
|
||||||
|
StrInfoBody += "<td>" + toThousands(data.avgKWHKWP.toFixed(2)) + "</td>"; // 日均發電度數
|
||||||
StrInfoBody += "<td>" + toThousands(data.kwh.toFixed(2)) + "</td>"; // 發電量
|
StrInfoBody += "<td>" + toThousands(data.kwh.toFixed(2)) + "</td>"; // 發電量
|
||||||
StrInfoBody += "<td>" + toThousands(data.avgKWHKWP.toFixed(2)) + "</td>"; // 有效發電小時
|
StrInfoBody += "<td>" + toThousands(data.irradiance.toFixed(2)) + "</td>"; // 累積日照
|
||||||
StrInfoBody += "<td>" + toThousands(data.avgIrradiance.toFixed(2)) + "</td>"; // 平均日照
|
|
||||||
StrInfoBody += "<td>" + toThousands(data.avgPR.toFixed(2)) + "</td>";
|
StrInfoBody += "<td>" + toThousands(data.avgPR.toFixed(2)) + "</td>";
|
||||||
if (showmoney == 1) {
|
if (showmoney == 1) {
|
||||||
|
|
||||||
@ -1617,8 +1652,9 @@
|
|||||||
$.each(CityArray, function (index, data) {
|
$.each(CityArray, function (index, data) {
|
||||||
CityInfoBody += "<tr>";
|
CityInfoBody += "<tr>";
|
||||||
CityInfoBody += "<td>" + data.city + "</td>";
|
CityInfoBody += "<td>" + data.city + "</td>";
|
||||||
CityInfoBody += "<td>" + toThousands((data.kwp / data.count).toFixed(2)) + "</td>";
|
CityInfoBody += "<td>" + data.generatingCapacity + "</td>";
|
||||||
CityInfoBody += "<td>" + toThousands((data.kwhkwp / data.count).toFixed(2)) + "</td>";
|
CityInfoBody += "<td>" + toThousands(data.totalKWH) + "</td>";
|
||||||
|
CityInfoBody += "<td>" + toThousands((data.totalKWH / data.generatingCapacity).toFixed(2)) + "</td>";
|
||||||
CityInfoBody += "</tr>";
|
CityInfoBody += "</tr>";
|
||||||
})
|
})
|
||||||
//上面
|
//上面
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user