1.優化預設電站資訊 select table 數量
2.有效日照時數 改為 日均發電度數
This commit is contained in:
parent
1e2a74900d
commit
ac0585055c
1
.gitignore
vendored
1
.gitignore
vendored
@ -347,3 +347,4 @@ healthchecksdb
|
|||||||
/SolarPower/SolarPower.zip
|
/SolarPower/SolarPower.zip
|
||||||
/SolarPower.zip
|
/SolarPower.zip
|
||||||
/SolarPower/wwwroot/upload/report/20220227
|
/SolarPower/wwwroot/upload/report/20220227
|
||||||
|
*.diagsession
|
||||||
|
|||||||
@ -661,9 +661,10 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
if(post.Emailcheck == 1)
|
if(post.Emailcheck == 1)
|
||||||
{
|
{
|
||||||
|
var powerstations = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
if (post.WorkPersonIds != null)
|
if (post.WorkPersonIds != null)
|
||||||
{
|
{
|
||||||
var powerstations = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
|
||||||
List<NoticeSchedule> noticeSchedules = new List<NoticeSchedule>();
|
List<NoticeSchedule> noticeSchedules = new List<NoticeSchedule>();
|
||||||
foreach (var person in post.WorkPersonIds)
|
foreach (var person in post.WorkPersonIds)
|
||||||
{
|
{
|
||||||
@ -703,7 +704,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
if (post.FixFirm != 0)
|
if (post.FixFirm != 0)
|
||||||
{
|
{
|
||||||
var powerstations = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
//var powerstations = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
var fixtype = operationRecord.WorkType switch
|
var fixtype = operationRecord.WorkType switch
|
||||||
{
|
{
|
||||||
0 => "清洗",
|
0 => "清洗",
|
||||||
@ -711,7 +712,7 @@ namespace SolarPower.Controllers
|
|||||||
2 => "維修",
|
2 => "維修",
|
||||||
_ => ""
|
_ => ""
|
||||||
};
|
};
|
||||||
var powerstation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
//var powerstation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
var firm = await operationRepository.GetOneWithCustomDBNameAndTableAsync<OperationInfo>(post.FixFirm, powerstations.SiteDB, "operation_firm");
|
var firm = await operationRepository.GetOneWithCustomDBNameAndTableAsync<OperationInfo>(post.FixFirm, powerstations.SiteDB, "operation_firm");
|
||||||
NoticeSchedule schedule = new NoticeSchedule()
|
NoticeSchedule schedule = new NoticeSchedule()
|
||||||
{
|
{
|
||||||
@ -883,9 +884,9 @@ namespace SolarPower.Controllers
|
|||||||
#endregion
|
#endregion
|
||||||
if (post.Emailcheck == 1)
|
if (post.Emailcheck == 1)
|
||||||
{
|
{
|
||||||
|
var powerstations = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
if (post.WorkPersonIds != null)
|
if (post.WorkPersonIds != null)
|
||||||
{
|
{
|
||||||
var powerstations = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
|
||||||
List<NoticeSchedule> noticeSchedules = new List<NoticeSchedule>();
|
List<NoticeSchedule> noticeSchedules = new List<NoticeSchedule>();
|
||||||
foreach (var person in post.WorkPersonIds)
|
foreach (var person in post.WorkPersonIds)
|
||||||
{
|
{
|
||||||
@ -924,7 +925,7 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
if (post.FixFirm != 0)
|
if (post.FixFirm != 0)
|
||||||
{
|
{
|
||||||
var powerstations = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
//var powerstations = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
var fixtype = post.WorkType switch
|
var fixtype = post.WorkType switch
|
||||||
{
|
{
|
||||||
0 => "清洗",
|
0 => "清洗",
|
||||||
@ -932,7 +933,7 @@ namespace SolarPower.Controllers
|
|||||||
2 => "維修",
|
2 => "維修",
|
||||||
_ => ""
|
_ => ""
|
||||||
};
|
};
|
||||||
var powerstation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
// var powerstation = await powerStationRepository.GetOneAsync(post.PowerStationId);
|
||||||
var firm = await operationRepository.GetOneWithCustomDBNameAndTableAsync<OperationInfo>(post.FixFirm, powerstations.SiteDB, "operation_firm");
|
var firm = await operationRepository.GetOneWithCustomDBNameAndTableAsync<OperationInfo>(post.FixFirm, powerstations.SiteDB, "operation_firm");
|
||||||
NoticeSchedule schedule = new NoticeSchedule()
|
NoticeSchedule schedule = new NoticeSchedule()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -288,7 +288,8 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
powerStation = await powerStationRepository.GetOneAsync(id);
|
//powerStation = await powerStationRepository.GetOneAsync(id);
|
||||||
|
powerStation = await powerStationRepository.GetStationExtraInfo(id);
|
||||||
|
|
||||||
if (powerStation == null)
|
if (powerStation == null)
|
||||||
{
|
{
|
||||||
@ -337,7 +338,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
powerStation = await powerStationRepository.GetOneAsync(post.Id);
|
powerStation = await powerStationRepository.GetStationExtraInfo(post.Id);
|
||||||
|
|
||||||
//取得該公司DB Name
|
//取得該公司DB Name
|
||||||
var company = await companyRepository.GetOneAsync(post.CompanyId);
|
var company = await companyRepository.GetOneAsync(post.CompanyId);
|
||||||
@ -485,7 +486,8 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "儲存成功";
|
apiResult.Msg = "儲存成功";
|
||||||
apiResult.Data = await powerStationRepository.GetOneAsync(id);
|
//apiResult.Data = await powerStationRepository.GetOneAsync(id);
|
||||||
|
apiResult.Data = await powerStationRepository.GetStationExtraInfo(id);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -610,7 +612,8 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "儲存成功,請重新啟用電站";
|
apiResult.Msg = "儲存成功,請重新啟用電站";
|
||||||
apiResult.Data = await powerStationRepository.GetOneAsync(powerStation.Id);
|
//apiResult.Data = await powerStationRepository.GetOneAsync(powerStation.Id);
|
||||||
|
apiResult.Data = await powerStationRepository.GetStationExtraInfo(powerStation.Id);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -734,7 +737,7 @@ namespace SolarPower.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
//重新取得資料
|
//重新取得資料
|
||||||
powerStation = await powerStationRepository.GetOneAsync(powerStation.Id);
|
powerStation = await powerStationRepository.GetStationExtraInfo(powerStation.Id);
|
||||||
|
|
||||||
//替能源局換檔案路徑
|
//替能源局換檔案路徑
|
||||||
if (!string.IsNullOrEmpty(powerStation.BoEFile))
|
if (!string.IsNullOrEmpty(powerStation.BoEFile))
|
||||||
@ -835,7 +838,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "儲存成功";
|
apiResult.Msg = "儲存成功";
|
||||||
apiResult.Data = await powerStationRepository.GetOneAsync(powerStation.Id);
|
apiResult.Data = await powerStationRepository.GetStationExtraInfo(powerStation.Id);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -871,7 +874,8 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "修改成功";
|
apiResult.Msg = "修改成功";
|
||||||
apiResult.Data = await powerStationRepository.GetOneAsync(powerStation.Id);
|
//apiResult.Data = await powerStationRepository.GetOneAsync(powerStation.Id);
|
||||||
|
apiResult.Data = await powerStationRepository.GetStationExtraInfo(powerStation.Id);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1346,7 +1350,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
apiResult.Code = "0000";
|
apiResult.Code = "0000";
|
||||||
apiResult.Msg = "刪除成功";
|
apiResult.Msg = "刪除成功";
|
||||||
apiResult.Data = await powerStationRepository.GetOneAsync(landBuilding.PowerStationId);
|
apiResult.Data = await powerStationRepository.GetStationExtraInfo(landBuilding.PowerStationId);
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -514,7 +514,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
powerStation = await powerStationRepository.GetOneAsync(post.Id);
|
// powerStation = await powerStationRepository.GetOneAsync(post.Id);
|
||||||
exceptionDataTable = await overviewRepository.GetExceptionTable(post);
|
exceptionDataTable = await overviewRepository.GetExceptionTable(post);
|
||||||
|
|
||||||
foreach (ExceptionDataTable a in exceptionDataTable)
|
foreach (ExceptionDataTable a in exceptionDataTable)
|
||||||
@ -794,8 +794,8 @@ namespace SolarPower.Controllers
|
|||||||
{
|
{
|
||||||
var History = new List<HistoryTable>();
|
var History = new List<HistoryTable>();
|
||||||
ApiResult<List<HistoryTable>> apiResult = new ApiResult<List<HistoryTable>>();
|
ApiResult<List<HistoryTable>> apiResult = new ApiResult<List<HistoryTable>>();
|
||||||
var powerStation = await powerStationRepository.GetOneAsync(post.PowerstationId);
|
// var powerStation = await powerStationRepository.GetOneAsync(post.PowerstationId);
|
||||||
|
//Logger.LogError("【 new add -------- " + controllerName + "/" + actionName + "】" + post);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
History = await overviewRepository.GethistoryTable(post);
|
History = await overviewRepository.GethistoryTable(post);
|
||||||
|
|||||||
@ -1842,7 +1842,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
index++;
|
index++;
|
||||||
cell = row.CreateCell(index);
|
cell = row.CreateCell(index);
|
||||||
cell.SetCellValue("有效日照時數");
|
cell.SetCellValue("日均發電度數");
|
||||||
cell.CellStyle = styleLine12;
|
cell.CellStyle = styleLine12;
|
||||||
region = new CellRangeAddress(RowPosition, RowPosition, index, index + 1);
|
region = new CellRangeAddress(RowPosition, RowPosition, index, index + 1);
|
||||||
sheet.AddMergedRegion(region);
|
sheet.AddMergedRegion(region);
|
||||||
@ -2189,7 +2189,7 @@ namespace SolarPower.Controllers
|
|||||||
|
|
||||||
index++;
|
index++;
|
||||||
cell = row.CreateCell(index);
|
cell = row.CreateCell(index);
|
||||||
cell.SetCellValue("有效日照時數");
|
cell.SetCellValue("日均發電度數");
|
||||||
cell.CellStyle = styleLine12;
|
cell.CellStyle = styleLine12;
|
||||||
region = new CellRangeAddress(RowPosition, RowPosition, index, index + 1);
|
region = new CellRangeAddress(RowPosition, RowPosition, index, index + 1);
|
||||||
sheet.AddMergedRegion(region);
|
sheet.AddMergedRegion(region);
|
||||||
|
|||||||
@ -14,7 +14,8 @@
|
|||||||
"environmentVariables": {
|
"environmentVariables": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development",
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||||
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
|
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
|
||||||
}
|
},
|
||||||
|
"jsWebView2Debugging": true
|
||||||
},
|
},
|
||||||
"SolarPower": {
|
"SolarPower": {
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
|
|||||||
8
SolarPower/Properties/serviceDependencies.json
Normal file
8
SolarPower/Properties/serviceDependencies.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"appInsights1": {
|
||||||
|
"type": "appInsights",
|
||||||
|
"connectionId": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
SolarPower/Properties/serviceDependencies.local.json
Normal file
10
SolarPower/Properties/serviceDependencies.local.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"appInsights1": {
|
||||||
|
"resourceId": null,
|
||||||
|
"type": "appInsights.sdk",
|
||||||
|
"connectionId": null,
|
||||||
|
"secretStore": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -444,6 +444,49 @@ namespace SolarPower.Repository.Implement
|
|||||||
{
|
{
|
||||||
//base.GetOneAsync(id);
|
//base.GetOneAsync(id);
|
||||||
|
|
||||||
|
PowerStation result;
|
||||||
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var sql = @$"SELECT ps.*, c.Name AS CityName, a.Name AS AreaName, u.Name AS CreatorName FROM {tableName} ps
|
||||||
|
LEFT JOIN user u ON ps.CreatedBy = u.Id
|
||||||
|
LEFT JOIN city c ON ps.CityId = c.Id
|
||||||
|
LEFT JOIN area a ON ps.AreaId = a.Id
|
||||||
|
WHERE ps.Deleted = 0 AND ps.Id = @Id";
|
||||||
|
|
||||||
|
result = await conn.QueryFirstOrDefaultAsync<PowerStation>(sql, new { Id = id });
|
||||||
|
|
||||||
|
//if (result != null)
|
||||||
|
//{
|
||||||
|
|
||||||
|
// var db_name = result.SiteDB;
|
||||||
|
|
||||||
|
// var sql_operation_personnel = @$"SELECT UserId FROM power_station_operation_personnel op WHERE Deleted = 0 AND op.PowerStationId = @PowerStationId";
|
||||||
|
// result.OperationPersonnelIds = (await conn.QueryAsync<int>(sql_operation_personnel, new { PowerStationId = result.Id })).ToList();
|
||||||
|
// var sql_land_building = @$"SELECT lb.*, u.Name AS CreatorName FROM {db_name}.land_building lb
|
||||||
|
// LEFT JOIN user u ON lb.CreatedBy = u.Id
|
||||||
|
// WHERE lb.Deleted = 0 AND PowerStationId = @PowerStationId";
|
||||||
|
// result.LandBuildings = (await conn.QueryAsync<LandBuilding>(sql_land_building, new { PowerStationId = result.Id })).ToList();
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<PowerStation> GetStationExtraInfo(int id)
|
||||||
|
{
|
||||||
|
//base.GetOneAsync(id);
|
||||||
|
|
||||||
PowerStation result;
|
PowerStation result;
|
||||||
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
using (IDbConnection conn = this._databaseHelper.GetConnection())
|
||||||
{
|
{
|
||||||
@ -483,6 +526,7 @@ namespace SolarPower.Repository.Implement
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新增電站資料至 主、子資料庫
|
/// 新增電站資料至 主、子資料庫
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -516,6 +516,13 @@ namespace SolarPower.Repository.Interface
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<PowerstationOption>> GetPowerstationPyrheliometerAsync(string db_name, int stationId);
|
Task<List<PowerstationOption>> GetPowerstationPyrheliometerAsync(string db_name, int stationId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取得完整電站資訊:包含維護人員及土地資訊
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="powerStationId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<PowerStation> GetStationExtraInfo(int powerStationId);
|
||||||
|
|
||||||
Task<List<DeviceInfo>> GetListPyrheliometerByPowerStationId(int powerStationId, string db_name);
|
Task<List<DeviceInfo>> GetListPyrheliometerByPowerStationId(int powerStationId, string db_name);
|
||||||
Task<List<DeviceInfo>> GetListTempByPowerStationId(int powerStationId, string db_name);
|
Task<List<DeviceInfo>> GetListTempByPowerStationId(int powerStationId, string db_name);
|
||||||
Task<List<DeviceInfo>> GetDeviceListByPowerStationIdAndType(int powerStationId, string type, string db_name);
|
Task<List<DeviceInfo>> GetDeviceListByPowerStationIdAndType(int powerStationId, string type, string db_name);
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
@ -8,9 +8,13 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Remove="Logs\**" />
|
||||||
<Compile Remove="Views\NewFolder\**" />
|
<Compile Remove="Views\NewFolder\**" />
|
||||||
|
<Content Remove="Logs\**" />
|
||||||
<Content Remove="Views\NewFolder\**" />
|
<Content Remove="Views\NewFolder\**" />
|
||||||
|
<EmbeddedResource Remove="Logs\**" />
|
||||||
<EmbeddedResource Remove="Views\NewFolder\**" />
|
<EmbeddedResource Remove="Views\NewFolder\**" />
|
||||||
|
<None Remove="Logs\**" />
|
||||||
<None Remove="Views\NewFolder\**" />
|
<None Remove="Views\NewFolder\**" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
@ -25,6 +29,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Dapper" Version="2.0.90" />
|
<PackageReference Include="Dapper" Version="2.0.90" />
|
||||||
|
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.15.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.17" />
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.17" />
|
||||||
<PackageReference Include="MySql.Data" Version="8.0.26" />
|
<PackageReference Include="MySql.Data" Version="8.0.26" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||||
@ -35,7 +40,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Logs\" />
|
|
||||||
<Folder Include="wwwroot\upload\company_logo\" />
|
<Folder Include="wwwroot\upload\company_logo\" />
|
||||||
<Folder Include="wwwroot\upload\power_station\boe_file\" />
|
<Folder Include="wwwroot\upload\power_station\boe_file\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@ -87,6 +87,7 @@ namespace SolarPower
|
|||||||
{
|
{
|
||||||
options.IdleTimeout = TimeSpan.FromMinutes(loginExpireMinute);
|
options.IdleTimeout = TimeSpan.FromMinutes(loginExpireMinute);
|
||||||
});
|
});
|
||||||
|
services.AddApplicationInsightsTelemetry();
|
||||||
|
|
||||||
#region 加入背景執行
|
#region 加入背景執行
|
||||||
//services.AddHostedService<OperationScheduleBackgroundService>();
|
//services.AddHostedService<OperationScheduleBackgroundService>();
|
||||||
@ -140,6 +141,7 @@ namespace SolarPower
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
services.AddHostedService<QuartzHostedService>();
|
services.AddHostedService<QuartzHostedService>();
|
||||||
|
services.AddApplicationInsightsTelemetry();
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -148,16 +148,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap">
|
<div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap">
|
||||||
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>有效日照時數</h4>
|
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4>
|
||||||
<div class="ml-auto">hr</div>
|
<div class="ml-auto">hr</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<p id="today_kwhkwp_label">當日有效日照時數 </p>
|
<p id="today_kwhkwp_label">當日日均發電度數 </p>
|
||||||
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
|
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<p>平均有效日照時數(30天)</p>
|
<p>平均日均發電度數(30天)</p>
|
||||||
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwhkwp">0.00</span></p>
|
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwhkwp">0.00</span></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -325,7 +325,7 @@
|
|||||||
|
|
||||||
$("#today_kwh_label").html(timename + "發電量");
|
$("#today_kwh_label").html(timename + "發電量");
|
||||||
$("#today_money_label").html(timename + "發電金額");
|
$("#today_money_label").html(timename + "發電金額");
|
||||||
$("#today_kwhkwp_label").html(timename + "有效日照時數");
|
$("#today_kwhkwp_label").html(timename + "日均發電度數");
|
||||||
$("#today_PR_label").html(timename + "PR值");
|
$("#today_PR_label").html(timename + "PR值");
|
||||||
$("#today_carbon_label").html(timename + "減碳量");
|
$("#today_carbon_label").html(timename + "減碳量");
|
||||||
$("#today_irradiance_label").html(timename + "日照度");
|
$("#today_irradiance_label").html(timename + "日照度");
|
||||||
|
|||||||
@ -124,7 +124,7 @@
|
|||||||
var PWS_compare_col = [
|
var PWS_compare_col = [
|
||||||
{ key: "KWH", title: "發電量", default: true },
|
{ key: "KWH", title: "發電量", default: true },
|
||||||
@*{ key: "Irradiance", title: "日照度", default: false },*@
|
@*{ key: "Irradiance", title: "日照度", default: false },*@
|
||||||
{ key: "KWHKWP", title: "有效日照時數", default: false },
|
{ key: "KWHKWP", title: "日均發電度數", default: false },
|
||||||
{ key: "PR", title: "PR %", default: false },
|
{ key: "PR", title: "PR %", default: false },
|
||||||
@*{ key: "Temperature", title: "模組溫度", default: false },*@
|
@*{ key: "Temperature", title: "模組溫度", default: false },*@
|
||||||
{ key: "SolarHour", title: "日照小時", default: false },
|
{ key: "SolarHour", title: "日照小時", default: false },
|
||||||
|
|||||||
@ -63,16 +63,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
|
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
|
||||||
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>有效日照時數</h4>
|
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4>
|
||||||
<div class="ml-auto">hr</div>
|
<div class="ml-auto">hr</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<p>今日有效日照時數(kwh/kwp)</p>
|
<p>今日日均發電度數(kwh/kwp)</p>
|
||||||
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
|
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<p>平均有效日照時數 (30天)</p>
|
<p>平均日均發電度數 (30天)</p>
|
||||||
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
|
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -284,7 +284,7 @@
|
|||||||
'<div class="col-12">' +
|
'<div class="col-12">' +
|
||||||
'<div>今日發電量(kW h):' + item.today_kWh.toFixed(2) + '</div>'+
|
'<div>今日發電量(kW h):' + item.today_kWh.toFixed(2) + '</div>'+
|
||||||
'<div>今日日照度(k W/m<sup>2</sup>):' + item.today_irradiance + '</div>'+
|
'<div>今日日照度(k W/m<sup>2</sup>):' + item.today_irradiance + '</div>'+
|
||||||
'<div>有效日照時數(kwh/kwp):' + item.today_kwhkwp.toFixed(2) + '</div>' +
|
'<div>日均發電度數(kwh/kwp):' + item.today_kwhkwp.toFixed(2) + '</div>' +
|
||||||
'<div>裝置容量(kWp):' + item.generatingCapacity.toFixed(3) + '</div>' +
|
'<div>裝置容量(kWp):' + item.generatingCapacity.toFixed(3) + '</div>' +
|
||||||
'<div>掛錶日期:' + item.electricityMeterAt + '</div>' +
|
'<div>掛錶日期:' + item.electricityMeterAt + '</div>' +
|
||||||
'<div>天氣:' + item.wx + '</div>'+
|
'<div>天氣:' + item.wx + '</div>'+
|
||||||
|
|||||||
@ -121,16 +121,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col card px-0 mx-2">
|
<div class="col card px-0 mx-2">
|
||||||
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
|
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
|
||||||
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>有效日照時數</h4>
|
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4>
|
||||||
<div class="ml-auto">hr</div>
|
<div class="ml-auto">hr</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<p>今日有效日照時數(kwh/kwp)</p>
|
<p>今日日均發電度數(kwh/kwp)</p>
|
||||||
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
|
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<p>平均有效日照時數(30天)</p>
|
<p>平均日均發電度數(30天)</p>
|
||||||
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
|
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -2084,7 +2084,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
title: {
|
title: {
|
||||||
text: '各逆變器當日有效日照時數'
|
text: '各逆變器當日日均發電度數'
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
categories: HeatMap.xAxis,
|
categories: HeatMap.xAxis,
|
||||||
@ -2421,7 +2421,9 @@
|
|||||||
}
|
}
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
|
console.log(" before onChange event");
|
||||||
$('#DateGet').on('change', function () {
|
$('#DateGet').on('change', function () {
|
||||||
|
console.log(" in onChange event");
|
||||||
historyRange = $('#DateGet').val();
|
historyRange = $('#DateGet').val();
|
||||||
getTable();
|
getTable();
|
||||||
});
|
});
|
||||||
@ -2646,7 +2648,7 @@
|
|||||||
color: 'rgb(68, 114, 196)'
|
color: 'rgb(68, 114, 196)'
|
||||||
}, {
|
}, {
|
||||||
type: 'column',
|
type: 'column',
|
||||||
name: "有效日照時數",
|
name: "日均發電度數",
|
||||||
data: listkwhkwp,
|
data: listkwhkwp,
|
||||||
yAxis: "C",
|
yAxis: "C",
|
||||||
color: "rgb(165, 165, 165)"
|
color: "rgb(165, 165, 165)"
|
||||||
@ -2702,7 +2704,7 @@
|
|||||||
data: listpr
|
data: listpr
|
||||||
},{
|
},{
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
label: '有效日照時數',
|
label: '日均發電度數',
|
||||||
yAxisID: 'C',
|
yAxisID: 'C',
|
||||||
backgroundColor: 'rgba(165, 165, 165)',
|
backgroundColor: 'rgba(165, 165, 165)',
|
||||||
borderWidth: 1,
|
borderWidth: 1,
|
||||||
|
|||||||
@ -59,7 +59,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>時間</th>
|
<th>時間</th>
|
||||||
<th>發電量(kWh)</th>
|
<th>發電量(kWh)</th>
|
||||||
<th>有效日照時數</th>
|
<th>日均發電度數</th>
|
||||||
<th>累積日照量(W/m2)</th>
|
<th>累積日照量(W/m2)</th>
|
||||||
<th>PR(%)</th>
|
<th>PR(%)</th>
|
||||||
<th>溫度(℃)</th>
|
<th>溫度(℃)</th>
|
||||||
|
|||||||
@ -66,16 +66,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
|
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
|
||||||
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>有效日照時數</h4>
|
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4>
|
||||||
<div class="ml-auto">hr</div>
|
<div class="ml-auto">hr</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<p>今日有效日照時數(kwh/kwp)</p>
|
<p>今日日均發電度數(kwh/kwp)</p>
|
||||||
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
|
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<p>平均有效日照時數(30天)</p>
|
<p>平均日均發電度數(30天)</p>
|
||||||
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
|
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1389,7 +1389,7 @@
|
|||||||
TotalHead += "<tr>";
|
TotalHead += "<tr>";
|
||||||
TotalHead += "<th>" + "時間" + "</th>";
|
TotalHead += "<th>" + "時間" + "</th>";
|
||||||
TotalHead += "<th>" + "發電量" + "</th>";
|
TotalHead += "<th>" + "發電量" + "</th>";
|
||||||
TotalHead += "<th>" + "有效日照時數" + "</th>";
|
TotalHead += "<th>" + "日均發電度數" + "</th>";
|
||||||
TotalHead += "</tr>";
|
TotalHead += "</tr>";
|
||||||
//#endregion
|
//#endregion
|
||||||
//#region TotalBody
|
//#region TotalBody
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user