1. 修改背景執行

This commit is contained in:
Kai 2021-09-06 18:03:05 +08:00
parent e09c908071
commit 97938fca68
4 changed files with 232 additions and 227 deletions

View File

@ -388,7 +388,8 @@ namespace SolarPower.Quartz.Jobs
}
#endregion
//#region step2-2. 計算該電站昨天的所有值總和
#region step2-2.
/*因修改為補償 而註解*/
//if (!string.IsNullOrEmpty(exist))
//{
// //電站資訊
@ -460,7 +461,7 @@ namespace SolarPower.Quartz.Jobs
// sensorAvgHistoryDays.Add(sensorAvgHistoryDay);
//}
////meter
//meter
logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}的meter_hour所有值的平均】", powerStation.Code, dateNowDay);
var meterHistoriesDay = await powerStationRepository.CalcMeterDayDataByPowerStationId(dateNowDay, powerStation.Id);
logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}的meter_hour所有值的平均】", powerStation.Code, dateNowDay);
@ -468,7 +469,7 @@ namespace SolarPower.Quartz.Jobs
{
meterHistoriesDays.AddRange(meterHistoriesDay);
}
//#endregion
#endregion
}
#endregion
@ -487,23 +488,24 @@ namespace SolarPower.Quartz.Jobs
#region step4. insert資料表
//每日 - 電站歷史資料
//List<string> history_properties_day = new List<string>()
//{
// "PowerStationId",
// "TIMESTAMP",
// "SITEID",
// "SITETYPE",
// "TODAYKWH",
// "TOTALKWH",
// "KWHKWP",
// "PR",
// "MP",
// "SolarHour",
// "MONEY",
// "CARBON",
// "TOTALMONEY",
// "TOTALCARBON"
//};
List<string> history_properties_day = new List<string>()
{
"PowerStationId",
"TIMESTAMP",
"SITEID",
"SITETYPE",
"TODAYKWH",
"TOTALKWH",
"KWHKWP",
"PR",
"MP",
"SolarHour",
"MONEY",
"CARBON",
"TOTALMONEY",
"TOTALCARBON"
};
/*因修改為補償 而註解*/
//await powerStationRepository.AddPowerStationHistoryDayList(powerStationHistoryDays, history_properties_day);
////每日 - 日照溫度歷史資料
@ -515,18 +517,18 @@ namespace SolarPower.Quartz.Jobs
////每日 - sensor avg
//await powerStationRepository.AddSensorAvgHistoryDayList(sensorAvgHistoryDays, sensoravg_history_properties);
//每日 - meter
await powerStationRepository.AddMeterHistoryDayList(meterHistoriesDays, meter_history_properties);
////每日 - meter
//await powerStationRepository.AddMeterHistoryDayList(meterHistoriesDays, meter_history_properties);
#endregion
#region step5.
//foreach (var powerStation in powerStations)
//{
// //電站該月份的歷史資料
// logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的歷史資料總和】", powerStation.Code, dateNowMonth);
// var exist_history = await powerStationRepository.GetOnePowerStationHistoryByPowerStationIdAndMonth(powerStation.Id, dateNowMonth);
// if (exist_history == null)
// { //新增
foreach (var powerStation in powerStations)
{
////電站該月份的歷史資料
//logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的歷史資料總和】", powerStation.Code, dateNowMonth);
//var exist_history = await powerStationRepository.GetOnePowerStationHistoryByPowerStationIdAndMonth(powerStation.Id, dateNowMonth);
//if (exist_history == null)
//{ //新增
// var historyMonth = await powerStationRepository.ClacPowerStationHistoryMonthDataByPowerStationId(powerStation.Id, dateNowMonth);
// var moneyandcarbonMon = await powerStationRepository.GetMoneyAndCarbonWithHistoryHour(powerStation.Id, dateNowMonth, 0);
// var lastmoneyhistorymonth = await powerStationRepository.GetLastMoneyAndCarbonInHour(powerStation.Id, 2, "");
@ -549,9 +551,9 @@ namespace SolarPower.Quartz.Jobs
// insertPowerStationHistoryMonths.Add(historyMonth);
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的歷史資料總和】", powerStation.Code, dateNowMonth);
// }
// else
// { //修改
//}
//else
//{ //修改
// var historyMonth = await powerStationRepository.ClacPowerStationHistoryMonthDataByPowerStationId(powerStation.Id, dateNowMonth);
// var moneyandcarbonMon = await powerStationRepository.GetMoneyAndCarbonWithHistoryHour(powerStation.Id, dateNowMonth, 0);
// var lastmoneyhistorymonth = await powerStationRepository.GetLastMoneyAndCarbonInHour(powerStation.Id, 2, "");
@ -572,13 +574,13 @@ namespace SolarPower.Quartz.Jobs
// updatePowerStationHistoryMonths.Add(historyMonth);
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的歷史資料總和】", powerStation.Code, dateNowMonth);
// }
//}
// //電站該月份的的日照度歷史資料
// logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的日照度歷史資料】", powerStation.Code, dateNowMonth);
// var exist_pyrheliometer_history = await powerStationRepository.GetOnePyrheliometerHistoryByMonth(dateNowMonth, powerStation.Id);
// if (exist_pyrheliometer_history == null)
// { //新增
////電站該月份的的日照度歷史資料
//logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的日照度歷史資料】", powerStation.Code, dateNowMonth);
//var exist_pyrheliometer_history = await powerStationRepository.GetOnePyrheliometerHistoryByMonth(dateNowMonth, powerStation.Id);
//if (exist_pyrheliometer_history == null)
//{ //新增
// var pyrheliometerHistoryMonth = await powerStationRepository.CalcPyrheliometerHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id);
// if (pyrheliometerHistoryMonth != null)
// {
@ -586,22 +588,22 @@ namespace SolarPower.Quartz.Jobs
// insertPyrheliometerHistoryMonths.Add(pyrheliometerHistoryMonth);
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的日照度歷史資料】", powerStation.Code, dateNowMonth);
// }
// else
// { //修改
//}
//else
//{ //修改
// var pyrheliometerHistoryMonth = await powerStationRepository.CalcPyrheliometerHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id);
// if (pyrheliometerHistoryMonth != null)
// {
// updatePyrheliometerHistoryMonths.Add(pyrheliometerHistoryMonth);
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的日照度歷史資料】", powerStation.Code, dateNowMonth);
// }
//}
// //電站該月份的的逆變器歷史資料
// logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的逆變器歷史資料】", powerStation.Code, dateNowMonth);
// var exist_inverter_histories = await powerStationRepository.GetInverterHistoryByPowerStationIdAndMonth(dateNowMonth, powerStation.Id);
// if (exist_inverter_histories.Count == 0)
// { //新增
////電站該月份的的逆變器歷史資料
//logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的逆變器歷史資料】", powerStation.Code, dateNowMonth);
//var exist_inverter_histories = await powerStationRepository.GetInverterHistoryByPowerStationIdAndMonth(dateNowMonth, powerStation.Id);
//if (exist_inverter_histories.Count == 0)
//{ //新增
// var inverterHistoriesMonth = await powerStationRepository.CalcInverterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.SiteDB, powerStation.Id);
// if (inverterHistoriesMonth.Count > 0)
// {
@ -621,9 +623,9 @@ namespace SolarPower.Quartz.Jobs
// }
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的逆變器歷史資料】", powerStation.Code, dateNowMonth);
// }
// else
// { //修改
//}
//else
//{ //修改
// var inverterHistoriesMonth = await powerStationRepository.CalcInverterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.SiteDB, powerStation.Id);
// if (inverterHistoriesMonth.Count > 0)
// {
@ -643,13 +645,13 @@ namespace SolarPower.Quartz.Jobs
// }
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的逆變器歷史資料】", powerStation.Code, dateNowMonth);
// }
//}
// //電站該月份的的sensoravg歷史資料
// logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的Sensor Avg table所有值的平均資料】", powerStation.Code, dateNowMonth);
// var exist_sensoravg_history = await powerStationRepository.GetSensorAvgHistoryByPowerStationIdAndMonth(dateNowMonth, powerStation.Id);
// if (exist_sensoravg_history == null)
// { //新增
////電站該月份的的sensoravg歷史資料
//logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的Sensor Avg table所有值的平均資料】", powerStation.Code, dateNowMonth);
//var exist_sensoravg_history = await powerStationRepository.GetSensorAvgHistoryByPowerStationIdAndMonth(dateNowMonth, powerStation.Id);
//if (exist_sensoravg_history == null)
//{ //新增
// var sensorAvgHistoryMonth = await powerStationRepository.CalcSensorAvgHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id);
// if (sensorAvgHistoryMonth != null)
// {
@ -657,9 +659,9 @@ namespace SolarPower.Quartz.Jobs
// insertSensorAvgHistoryMonths.Add(sensorAvgHistoryMonth);
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的Sensor Avg table所有值的平均資料】", powerStation.Code, dateNowMonth);
// }
// else
// { //修改
//}
//else
//{ //修改
// var sensorAvgHistoryMonth = await powerStationRepository.CalcSensorAvgHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id);
// if (sensorAvgHistoryMonth != null)
// {
@ -667,58 +669,58 @@ namespace SolarPower.Quartz.Jobs
// updateSensorAvgHistoryMonths.Add(sensorAvgHistoryMonth);
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的Sensor Avg table所有值的平均資料】", powerStation.Code, dateNowMonth);
// }
// //電站該月份的的meter歷史資料
// logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的meter table所有值的平均資料】", powerStation.Code, dateNowMonth);
// var exist_meter_history = await powerStationRepository.GetMeterHistoryByPowerStationIdAndMonth(dateNowMonth, powerStation.Id);
// if (exist_meter_history.Count() == 0)
// { //新增
// var meterHistoriesMonth = await powerStationRepository.CalcMeterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id);
// if (meterHistoriesMonth != null && meterHistoriesMonth.Count() > 0)
// {
// foreach (var meterHistoryMonth in meterHistoriesMonth)
// {
// meterHistoryMonth.TIMESTAMP = Convert.ToDateTime(meterHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd");
// insertmeterHistoryMonths.Add(meterHistoryMonth);
// }
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的meter table所有值的平均資料】", powerStation.Code, dateNowMonth);
// }
// else
// { //修改
// var meterHistoriesMonth = await powerStationRepository.CalcMeterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id);
// if (meterHistoriesMonth != null && meterHistoriesMonth.Count() > 0)
// {
// foreach (var meterHistoryMonth in meterHistoriesMonth)
// {
// meterHistoryMonth.TIMESTAMP = Convert.ToDateTime(meterHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd");
// updatemeterHistoryMonths.Add(meterHistoryMonth);
// }
// }
// logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的meter table所有值的平均資料】", powerStation.Code, dateNowMonth);
// }
//}
//電站該月份的的meter歷史資料
logger.LogInformation("【CalcAvgPowerStationJob】【開始計算電站[{0}]在{1}月份的meter table所有值的平均資料】", powerStation.Code, dateNowMonth);
var exist_meter_history = await powerStationRepository.GetMeterHistoryByPowerStationIdAndMonth(dateNowMonth, powerStation.Id);
if (exist_meter_history.Count() == 0)
{ //新增
var meterHistoriesMonth = await powerStationRepository.CalcMeterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id);
if (meterHistoriesMonth != null && meterHistoriesMonth.Count() > 0)
{
foreach (var meterHistoryMonth in meterHistoriesMonth)
{
meterHistoryMonth.TIMESTAMP = Convert.ToDateTime(meterHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd");
insertmeterHistoryMonths.Add(meterHistoryMonth);
}
}
logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的meter table所有值的平均資料】", powerStation.Code, dateNowMonth);
}
else
{ //修改
var meterHistoriesMonth = await powerStationRepository.CalcMeterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id);
if (meterHistoriesMonth != null && meterHistoriesMonth.Count() > 0)
{
foreach (var meterHistoryMonth in meterHistoriesMonth)
{
meterHistoryMonth.TIMESTAMP = Convert.ToDateTime(meterHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd");
updatemeterHistoryMonths.Add(meterHistoryMonth);
}
}
logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的meter table所有值的平均資料】", powerStation.Code, dateNowMonth);
}
}
#endregion
//每月
//List<string> history_properties_month = new List<string>()
//{
// "PowerStationId",
// "TIMESTAMP",
// "SITEID",
// "SITETYPE",
// "MonthKWh",
// "TOTALKWH",
// "KWHKWP",
// "PR",
// "MP",
// "SolarHour",
// "MONEY",
// "CARBON",
// "TOTALMONEY",
// "TOTALCARBON"
//};
List<string> history_properties_month = new List<string>()
{
"PowerStationId",
"TIMESTAMP",
"SITEID",
"SITETYPE",
"MonthKWh",
"TOTALKWH",
"KWHKWP",
"PR",
"MP",
"SolarHour",
"MONEY",
"CARBON",
"TOTALMONEY",
"TOTALCARBON"
};
//if (insertPowerStationHistoryMonths.Count > 0)
//{
@ -730,9 +732,9 @@ namespace SolarPower.Quartz.Jobs
// await powerStationRepository.UpdatePowerStationHistoryMonthList(updatePowerStationHistoryMonths);
//}
#region step5. insert or update
//#region step5. 將各電站的每月的日照度資料insert or update 各資料
//每月
////每月
//if (insertPyrheliometerHistoryMonths.Count > 0)
//{
// await powerStationRepository.AddPyrheliometerHistoryMonthList(insertPyrheliometerHistoryMonths, pyrheliometer_history_properties);
@ -742,10 +744,10 @@ namespace SolarPower.Quartz.Jobs
//{
// await powerStationRepository.UpdatePyrheliometerHistoryMonthList(updatePyrheliometerHistoryMonths);
//}
#endregion
//#endregion
#region step6. insert or update
//每月
//#region step6. 將各電站的每月的逆變器資料insert or update 各資料
////每月
//if (insertInverterHistoryMonths.Count > 0)
//{
// await powerStationRepository.AddInverterHistoryMonthList(insertInverterHistoryMonths, inverter_history_properties);
@ -755,10 +757,10 @@ namespace SolarPower.Quartz.Jobs
//{
// await powerStationRepository.UpdateInverterHistoryMonthList(updateInverterHistoryMonths);
//}
#endregion
//#endregion
#region step7. Sensor Avg資料insert or update
//每月
//#region step7. 將各電站的每月的Sensor Avg資料insert or update 各資料
////每月
//if (insertSensorAvgHistoryMonths.Count > 0)
//{
// await powerStationRepository.AddSensorAvgHistoryMonthList(insertSensorAvgHistoryMonths, sensoravg_history_properties);
@ -768,7 +770,7 @@ namespace SolarPower.Quartz.Jobs
//{
// await powerStationRepository.UpdateSensorAvgHistoryMonthList(updateSensorAvgHistoryMonths);
//}
#endregion
//#endregion
#region step8. meter資料insert or update
//每月
@ -788,15 +790,16 @@ namespace SolarPower.Quartz.Jobs
var Connection_string = Configuration.GetValue<string>("mySql");
var start_date = DateTimeNow.AddDays(-1 * gobackDay);
var end_date = DateTimeNow.AddDays(-1);
logger.LogInformation("【CalcAvgPowerStationJob】【開始補償機制】");
logger.LogInformation("【CalcAvgPowerStationJob】【開始執行補償機制】");
procSensorSvc sensorSvc = new procSensorSvc(Connection_string);
procInvSvc invSvc = new procInvSvc(Connection_string);
procStationSvc siteSvc = new procStationSvc(Connection_string);
foreach (var powerStation in powerStations)
{
foreach (DateTime day in EachDay(start_date, end_date))
for (; start_date <= end_date; start_date = start_date.AddDays(1))
{
var day_str = day.ToString("yyyy-MM-dd");
var day_str = start_date.ToString("yyyy-MM-dd");
try
{
logger.LogInformation("【CalcAvgPowerStationJob】【開始執行電站[{0}]在{1}的Sensor補償機制】", powerStation.Code, day_str);
@ -816,7 +819,7 @@ namespace SolarPower.Quartz.Jobs
try
{
logger.LogInformation("【CalcAvgPowerStationJob】【開始執行電站[{0}]在{1}的Inverter補償機制】", powerStation.Code, day_str);
invSvc.archiveData(powerStation.Code, day_str);
//invSvc.archiveData(powerStation.Code, day_str);
logger.LogInformation("【CalcAvgPowerStationJob】【執行完成電站[{0}]在{1}的Inverter補償機制】", powerStation.Code, day_str);
}
catch (Exception exception)
@ -832,7 +835,7 @@ namespace SolarPower.Quartz.Jobs
try
{
logger.LogInformation("【CalcAvgPowerStationJob】【開始執行電站[{0}]在{1}的Site補償機制】", powerStation.Code, day_str);
siteSvc.archiveData(powerStation.Code, day_str);
//siteSvc.archiveData(powerStation.Code, day_str);
logger.LogInformation("【CalcAvgPowerStationJob】【執行完成電站[{0}]在{1}的Site補償機制】", powerStation.Code, day_str);
}
catch (Exception exception)
@ -846,6 +849,7 @@ namespace SolarPower.Quartz.Jobs
}
}
}
logger.LogInformation("【CalcAvgPowerStationJob】【執行完成補償機制】");
#endregion
#region
@ -1021,10 +1025,10 @@ namespace SolarPower.Quartz.Jobs
}
catch (Exception exception)
{
logger.LogError("【CalcAvgPowerStationJob】[Exception] - {0}", exception.Message);
logger.LogError("【CalcAvgPowerStationJob - main】[Exception] - {0}", exception.Message);
if(exception.InnerException != null)
{
logger.LogError("【CalcAvgPowerStationJob】[InnerException] - {0}", exception.InnerException.Message);
logger.LogError("【CalcAvgPowerStationJob - main】[InnerException] - {0}", exception.InnerException.Message);
}
}
}

View File

@ -15,7 +15,7 @@
"Root": "mWlR2HshQNhRRE34jg4kdg==",
"Password": "y4uPqlH9ncTgR/I07qpwaA=="
},
"mySql": "server=210.61.91.43;user=idafenweb;Database=solar_power_test;Port=10068;password=P@ssw0rd;charset='utf8';pooling=true;sslmode=none;",
"mySql": "server=210.61.91.43;user=idafenweb;Database=solar_master;Port=10068;password=P@ssw0rd;charset='utf8';pooling=true;sslmode=none;",
//"DBConfig": {
// "Server": "AVXfxd+IRlLtJ0MCi9HU1g==",
// "port": "CrEmevYrUsSo7Mkb7Gxn8A==",

View File

@ -8,6 +8,7 @@
},
"AllowedHosts": "*",
"LoginExpireMinute": 60, //()
"GoBackDay": 3, //(())
"mySql": "server=60.251.164.103;user=webuser;Database=solar_master;Port=11306;password=FICadmin99;charset='utf8';pooling=true;sslmode=none;",
//"DBConfig": {
// "Server": "MVgHWzR3rGDgD57TUoFunA==",

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>