diff --git a/SolarPower/Quartz/Jobs/CalcAvgPowerStationJob.cs b/SolarPower/Quartz/Jobs/CalcAvgPowerStationJob.cs index 0bebc3e..e2ba182 100644 --- a/SolarPower/Quartz/Jobs/CalcAvgPowerStationJob.cs +++ b/SolarPower/Quartz/Jobs/CalcAvgPowerStationJob.cs @@ -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 history_properties_day = new List() - //{ - // "PowerStationId", - // "TIMESTAMP", - // "SITEID", - // "SITETYPE", - // "TODAYKWH", - // "TOTALKWH", - // "KWHKWP", - // "PR", - // "MP", - // "SolarHour", - // "MONEY", - // "CARBON", - // "TOTALMONEY", - // "TOTALCARBON" - //}; + List history_properties_day = new List() + { + "PowerStationId", + "TIMESTAMP", + "SITEID", + "SITETYPE", + "TODAYKWH", + "TOTALKWH", + "KWHKWP", + "PR", + "MP", + "SolarHour", + "MONEY", + "CARBON", + "TOTALMONEY", + "TOTALCARBON" + }; + /*因修改為補償 而註解*/ //await powerStationRepository.AddPowerStationHistoryDayList(powerStationHistoryDays, history_properties_day); ////每日 - 日照溫度歷史資料 @@ -515,210 +517,210 @@ 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) - // { //新增 - // 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, ""); - // if (historyMonth != null) - // { - // historyMonth.Timestamp = Convert.ToDateTime(historyMonth.Timestamp).ToString("yyyy-MM-dd"); - // historyMonth.MONEY = moneyandcarbonMon.MONEY; - // historyMonth.CARBON = moneyandcarbonMon.CARBON; - // if (lastmoneyhistorymonth != null) - // { - // historyMonth.TOTALCARBON = lastmoneyhistorymonth.TOTALCARBON + moneyandcarbonMon.CARBON; - // historyMonth.TOTALMONEY = lastmoneyhistorymonth.TOTALMONEY + moneyandcarbonMon.MONEY; - // } - // else - // { - // historyMonth.TOTALCARBON = moneyandcarbonMon.CARBON; - // historyMonth.TOTALMONEY = moneyandcarbonMon.MONEY; - // } + 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, ""); + // if (historyMonth != null) + // { + // historyMonth.Timestamp = Convert.ToDateTime(historyMonth.Timestamp).ToString("yyyy-MM-dd"); + // historyMonth.MONEY = moneyandcarbonMon.MONEY; + // historyMonth.CARBON = moneyandcarbonMon.CARBON; + // if (lastmoneyhistorymonth != null) + // { + // historyMonth.TOTALCARBON = lastmoneyhistorymonth.TOTALCARBON + moneyandcarbonMon.CARBON; + // historyMonth.TOTALMONEY = lastmoneyhistorymonth.TOTALMONEY + moneyandcarbonMon.MONEY; + // } + // else + // { + // historyMonth.TOTALCARBON = moneyandcarbonMon.CARBON; + // historyMonth.TOTALMONEY = moneyandcarbonMon.MONEY; + // } - // insertPowerStationHistoryMonths.Add(historyMonth); - // } - // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的歷史資料總和】", powerStation.Code, dateNowMonth); - // } - // 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, ""); - // if (historyMonth != null) - // { - // historyMonth.MONEY = historyMonth.MONEY + moneyandcarbonMon.MONEY; - // historyMonth.CARBON = historyMonth.CARBON + moneyandcarbonMon.CARBON; - // if (lastmoneyhistorymonth != null) - // { - // historyMonth.TOTALCARBON = lastmoneyhistorymonth.TOTALCARBON + moneyandcarbonMon.CARBON; - // historyMonth.TOTALMONEY = lastmoneyhistorymonth.TOTALMONEY + moneyandcarbonMon.MONEY; - // } - // else - // { - // historyMonth.TOTALCARBON = moneyandcarbonMon.CARBON; - // historyMonth.TOTALMONEY = moneyandcarbonMon.MONEY; - // } - // updatePowerStationHistoryMonths.Add(historyMonth); - // } - // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的歷史資料總和】", powerStation.Code, dateNowMonth); - // } + // insertPowerStationHistoryMonths.Add(historyMonth); + // } + // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的歷史資料總和】", powerStation.Code, dateNowMonth); + //} + //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, ""); + // if (historyMonth != null) + // { + // historyMonth.MONEY = historyMonth.MONEY + moneyandcarbonMon.MONEY; + // historyMonth.CARBON = historyMonth.CARBON + moneyandcarbonMon.CARBON; + // if (lastmoneyhistorymonth != null) + // { + // historyMonth.TOTALCARBON = lastmoneyhistorymonth.TOTALCARBON + moneyandcarbonMon.CARBON; + // historyMonth.TOTALMONEY = lastmoneyhistorymonth.TOTALMONEY + moneyandcarbonMon.MONEY; + // } + // else + // { + // historyMonth.TOTALCARBON = moneyandcarbonMon.CARBON; + // historyMonth.TOTALMONEY = moneyandcarbonMon.MONEY; + // } + // 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) - // { //新增 - // var pyrheliometerHistoryMonth = await powerStationRepository.CalcPyrheliometerHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id); - // if (pyrheliometerHistoryMonth != null) - // { - // pyrheliometerHistoryMonth.Timestamp = Convert.ToDateTime(pyrheliometerHistoryMonth.Timestamp).ToString("yyyy-MM-dd"); - // insertPyrheliometerHistoryMonths.Add(pyrheliometerHistoryMonth); - // } - // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的日照度歷史資料】", powerStation.Code, dateNowMonth); - // } - // 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_pyrheliometer_history = await powerStationRepository.GetOnePyrheliometerHistoryByMonth(dateNowMonth, powerStation.Id); + //if (exist_pyrheliometer_history == null) + //{ //新增 + // var pyrheliometerHistoryMonth = await powerStationRepository.CalcPyrheliometerHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id); + // if (pyrheliometerHistoryMonth != null) + // { + // pyrheliometerHistoryMonth.Timestamp = Convert.ToDateTime(pyrheliometerHistoryMonth.Timestamp).ToString("yyyy-MM-dd"); + // insertPyrheliometerHistoryMonths.Add(pyrheliometerHistoryMonth); + // } + // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的日照度歷史資料】", powerStation.Code, dateNowMonth); + //} + //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) - // { //新增 - // var inverterHistoriesMonth = await powerStationRepository.CalcInverterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.SiteDB, powerStation.Id); - // if (inverterHistoriesMonth.Count > 0) - // { - // foreach (var inverterHistoryMonth in inverterHistoriesMonth) - // { - // inverterHistoryMonth.DC1KW = inverterHistoryMonth.DC1W / 1000; - // inverterHistoryMonth.DC2KW = inverterHistoryMonth.DC2W / 1000; - // inverterHistoryMonth.DC3KW = inverterHistoryMonth.DC3W / 1000; - // inverterHistoryMonth.DC4KW = inverterHistoryMonth.DC4W / 1000; - // inverterHistoryMonth.DC5KW = inverterHistoryMonth.DC5W / 1000; + ////電站該月份的的逆變器歷史資料 + //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) + // { + // foreach (var inverterHistoryMonth in inverterHistoriesMonth) + // { + // inverterHistoryMonth.DC1KW = inverterHistoryMonth.DC1W / 1000; + // inverterHistoryMonth.DC2KW = inverterHistoryMonth.DC2W / 1000; + // inverterHistoryMonth.DC3KW = inverterHistoryMonth.DC3W / 1000; + // inverterHistoryMonth.DC4KW = inverterHistoryMonth.DC4W / 1000; + // inverterHistoryMonth.DC5KW = inverterHistoryMonth.DC5W / 1000; - // inverterHistoryMonth.DCKW = (inverterHistoryMonth.DC1W + inverterHistoryMonth.DC2W + inverterHistoryMonth.DC3W + inverterHistoryMonth.DC4W + inverterHistoryMonth.DC5W) / 1000; - // inverterHistoryMonth.ACKW = (inverterHistoryMonth.AC1W + inverterHistoryMonth.AC2W + inverterHistoryMonth.AC3W) / 1000; + // inverterHistoryMonth.DCKW = (inverterHistoryMonth.DC1W + inverterHistoryMonth.DC2W + inverterHistoryMonth.DC3W + inverterHistoryMonth.DC4W + inverterHistoryMonth.DC5W) / 1000; + // inverterHistoryMonth.ACKW = (inverterHistoryMonth.AC1W + inverterHistoryMonth.AC2W + inverterHistoryMonth.AC3W) / 1000; - // inverterHistoryMonth.TIMESTAMP = Convert.ToDateTime(inverterHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd"); - // insertInverterHistoryMonths.Add(inverterHistoryMonth); - // } - // } - // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的逆變器歷史資料】", powerStation.Code, dateNowMonth); - // } - // else - // { //修改 - // var inverterHistoriesMonth = await powerStationRepository.CalcInverterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.SiteDB, powerStation.Id); - // if (inverterHistoriesMonth.Count > 0) - // { - // foreach (var inverterHistoryMonth in inverterHistoriesMonth) - // { - // inverterHistoryMonth.DC1KW = inverterHistoryMonth.DC1W / 1000; - // inverterHistoryMonth.DC2KW = inverterHistoryMonth.DC2W / 1000; - // inverterHistoryMonth.DC3KW = inverterHistoryMonth.DC3W / 1000; - // inverterHistoryMonth.DC4KW = inverterHistoryMonth.DC4W / 1000; - // inverterHistoryMonth.DC5KW = inverterHistoryMonth.DC5W / 1000; + // inverterHistoryMonth.TIMESTAMP = Convert.ToDateTime(inverterHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd"); + // insertInverterHistoryMonths.Add(inverterHistoryMonth); + // } + // } + // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的逆變器歷史資料】", powerStation.Code, dateNowMonth); + //} + //else + //{ //修改 + // var inverterHistoriesMonth = await powerStationRepository.CalcInverterHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.SiteDB, powerStation.Id); + // if (inverterHistoriesMonth.Count > 0) + // { + // foreach (var inverterHistoryMonth in inverterHistoriesMonth) + // { + // inverterHistoryMonth.DC1KW = inverterHistoryMonth.DC1W / 1000; + // inverterHistoryMonth.DC2KW = inverterHistoryMonth.DC2W / 1000; + // inverterHistoryMonth.DC3KW = inverterHistoryMonth.DC3W / 1000; + // inverterHistoryMonth.DC4KW = inverterHistoryMonth.DC4W / 1000; + // inverterHistoryMonth.DC5KW = inverterHistoryMonth.DC5W / 1000; - // inverterHistoryMonth.DCKW = (inverterHistoryMonth.DC1W + inverterHistoryMonth.DC2W + inverterHistoryMonth.DC3W + inverterHistoryMonth.DC4W + inverterHistoryMonth.DC5W) / 1000; - // inverterHistoryMonth.ACKW = (inverterHistoryMonth.AC1W + inverterHistoryMonth.AC2W + inverterHistoryMonth.AC3W) / 1000; + // inverterHistoryMonth.DCKW = (inverterHistoryMonth.DC1W + inverterHistoryMonth.DC2W + inverterHistoryMonth.DC3W + inverterHistoryMonth.DC4W + inverterHistoryMonth.DC5W) / 1000; + // inverterHistoryMonth.ACKW = (inverterHistoryMonth.AC1W + inverterHistoryMonth.AC2W + inverterHistoryMonth.AC3W) / 1000; - // inverterHistoryMonth.TIMESTAMP = Convert.ToDateTime(inverterHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd"); - // updateInverterHistoryMonths.Add(inverterHistoryMonth); - // } - // } - // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的逆變器歷史資料】", powerStation.Code, dateNowMonth); - // } + // inverterHistoryMonth.TIMESTAMP = Convert.ToDateTime(inverterHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd"); + // updateInverterHistoryMonths.Add(inverterHistoryMonth); + // } + // } + // 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) - // { //新增 - // var sensorAvgHistoryMonth = await powerStationRepository.CalcSensorAvgHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id); - // if (sensorAvgHistoryMonth != null) - // { - // sensorAvgHistoryMonth.TIMESTAMP = Convert.ToDateTime(sensorAvgHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd"); - // insertSensorAvgHistoryMonths.Add(sensorAvgHistoryMonth); - // } - // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的Sensor Avg table所有值的平均資料】", powerStation.Code, dateNowMonth); - // } - // else - // { //修改 - // var sensorAvgHistoryMonth = await powerStationRepository.CalcSensorAvgHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id); - // if (sensorAvgHistoryMonth != null) - // { - // sensorAvgHistoryMonth.TIMESTAMP = Convert.ToDateTime(sensorAvgHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd"); - // updateSensorAvgHistoryMonths.Add(sensorAvgHistoryMonth); - // } - // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的Sensor Avg table所有值的平均資料】", 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) + //{ //新增 + // var sensorAvgHistoryMonth = await powerStationRepository.CalcSensorAvgHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id); + // if (sensorAvgHistoryMonth != null) + // { + // sensorAvgHistoryMonth.TIMESTAMP = Convert.ToDateTime(sensorAvgHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd"); + // insertSensorAvgHistoryMonths.Add(sensorAvgHistoryMonth); + // } + // logger.LogInformation("【CalcAvgPowerStationJob】【計算完成電站[{0}]在{1}月份的Sensor Avg table所有值的平均資料】", powerStation.Code, dateNowMonth); + //} + //else + //{ //修改 + // var sensorAvgHistoryMonth = await powerStationRepository.CalcSensorAvgHistoryMonthDataByPowerStationId(dateNowMonth, powerStation.Id); + // if (sensorAvgHistoryMonth != null) + // { + // sensorAvgHistoryMonth.TIMESTAMP = Convert.ToDateTime(sensorAvgHistoryMonth.TIMESTAMP).ToString("yyyy-MM-dd"); + // 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 history_properties_month = new List() - //{ - // "PowerStationId", - // "TIMESTAMP", - // "SITEID", - // "SITETYPE", - // "MonthKWh", - // "TOTALKWH", - // "KWHKWP", - // "PR", - // "MP", - // "SolarHour", - // "MONEY", - // "CARBON", - // "TOTALMONEY", - // "TOTALCARBON" - //}; + List history_properties_month = new List() + { + "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("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); } } } diff --git a/SolarPower/appsettings.Development.json b/SolarPower/appsettings.Development.json index 93f75ab..1322378 100644 --- a/SolarPower/appsettings.Development.json +++ b/SolarPower/appsettings.Development.json @@ -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==", diff --git a/SolarPower/appsettings.json b/SolarPower/appsettings.json index 79e106d..ef0a5ff 100644 --- a/SolarPower/appsettings.json +++ b/SolarPower/appsettings.json @@ -8,6 +8,7 @@ }, "AllowedHosts": "*", "LoginExpireMinute": 60, //nJɶA() + "GoBackDay": 3, //v(I(C))A^Ѽ "mySql": "server=60.251.164.103;user=webuser;Database=solar_master;Port=11306;password=FICadmin99;charset='utf8';pooling=true;sslmode=none;", //"DBConfig": { // "Server": "MVgHWzR3rGDgD57TUoFunA==", diff --git a/solarApp/solarApp.csproj b/solarApp/solarApp.csproj index bb7e866..dcee98b 100644 --- a/solarApp/solarApp.csproj +++ b/solarApp/solarApp.csproj @@ -1,7 +1,7 @@  - WinExe + Exe netcoreapp3.1 true