debug add log
This commit is contained in:
parent
0eed71c0a4
commit
ccdc52ce62
@ -85,11 +85,11 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
var electricMeters = await backgroundServiceRepository.GetAllAsync<Device>("device", sWhere_E4);
|
||||
var waterMeters = await backgroundServiceRepository.GetAllAsync<Device>("device", sWhere_W1);
|
||||
|
||||
var device_test = electricMeters.Where(e => e.Device_number == "NTPC_G6_EE_E4_B1F_CB3_WHT_N1").First();
|
||||
if (device_test != null)
|
||||
{
|
||||
logger.LogInformation($@"s1 devie_number = NTPC_G6_EE_E4_B1F_CB3_WHT_N1 archive_lastActionDate={device_test.archive_lastActionDate} archive_lastDate={device_test.archive_lastDate}");
|
||||
}
|
||||
//var device_test = electricMeters.Where(e => e.Device_number == "NTPC_G6_EE_E4_B1F_CB3_WHT_N1").First();
|
||||
//if (device_test != null)
|
||||
//{
|
||||
// logger.LogInformation($@"s1 devie_number = NTPC_G6_EE_E4_B1F_CB3_WHT_N1 archive_lastActionDate={device_test.archive_lastActionDate} archive_lastDate={device_test.archive_lastDate}");
|
||||
//}
|
||||
#endregion 找出所有電錶設備
|
||||
|
||||
#region 找出所有電錶系統的點位
|
||||
@ -106,6 +106,10 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
{
|
||||
if (electricMeter.device_building_tag == point.device_building_tag)
|
||||
{
|
||||
if (electricMeter.Device_number == "NTPC_G6_EE_E4_B1F_CB3_WHT_N1")
|
||||
{
|
||||
logger.LogInformation($@"putin value NTPC_G6_EE_E4_B1F_CB3_WHT_N1 ={electricMeter.archive_lastDate} archive_lastActionDate={electricMeter.archive_lastActionDate}");
|
||||
}
|
||||
DeviceNumberPoint deviceNumberPoint = new DeviceNumberPoint();
|
||||
deviceNumberPoint.DeviceNumber = electricMeter.Device_number;
|
||||
deviceNumberPoint.Point = point.points;
|
||||
@ -128,7 +132,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
deviceNumberPoint.DeviceNumber = waterMeter.Device_number;
|
||||
deviceNumberPoint.Point = point.points;
|
||||
deviceNumberPoint.FullDeviceNumberPoint = string.Format("{0}_{1}", waterMeter.Device_number, point.points);
|
||||
|
||||
deviceNumberPoint.archive_lastDate = waterMeter.archive_lastDate;
|
||||
waterDeviceNumberPoints.Add(deviceNumberPoint);
|
||||
}
|
||||
}
|
||||
@ -170,17 +174,19 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
{
|
||||
//foreach (var electricMeter in electricMeters)
|
||||
//{
|
||||
// startDay = DateTime.Parse(electricMeter.archive_lastDate.ToString("yyyy-MM-dd"));// 起始日
|
||||
//endDay = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")); // 結束日
|
||||
//foreach (DateTime day in procEletricMeterService.EachDay(startDay, endDay))
|
||||
//{
|
||||
// logger.LogInformation(@$"【EachDay】{electricMeter.Device_number} startDay=", startDay + " endDay=" + endDay);
|
||||
// if (electricMeter.Device_number == "NTPC_G6_EE_E4_B1F_CB3_WHT_N1")
|
||||
// {
|
||||
// logger.LogInformation($@"EachDay devie_number = NTPC_G6_EE_E4_B1F_CB3_WHT_N1 startDay={startDay} endDay={endDay}");
|
||||
// }
|
||||
// 每日資料製作
|
||||
await day_proc(procEletricMeterService, saveToMSDB, archiveResponse, electricDeviceNumberPoints, waterDeviceNumberPoints, obixApiConfig, encoded, startDay, endDay, dbDateName);
|
||||
// startDay = DateTime.Parse(electricMeter.archive_lastDate.ToString("yyyy-MM-dd"));// 起始日
|
||||
//endDay = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")); // 結束日
|
||||
//foreach (DateTime day in procEletricMeterService.EachDay(startDay, endDay))
|
||||
//{
|
||||
// logger.LogInformation(@$"【EachDay】{electricMeter.Device_number} startDay=", startDay + " endDay=" + endDay);
|
||||
// if (electricMeter.Device_number == "NTPC_G6_EE_E4_B1F_CB3_WHT_N1")
|
||||
// {
|
||||
// logger.LogInformation($@"EachDay devie_number = NTPC_G6_EE_E4_B1F_CB3_WHT_N1 startDay={startDay} endDay={endDay}");
|
||||
// }
|
||||
logger.LogInformation($@"before day_proc electricDeviceNumberPoints.Count() ={electricDeviceNumberPoints.Count()} ");
|
||||
|
||||
// 每日資料製作
|
||||
await day_proc(procEletricMeterService, saveToMSDB, archiveResponse, electricDeviceNumberPoints, waterDeviceNumberPoints, obixApiConfig, encoded, startDay, endDay, dbDateName);
|
||||
|
||||
//}
|
||||
//}
|
||||
@ -1141,7 +1147,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
procEletricMeterService.obixData_collect(xmlDocument, waterDeviceNumberPoints, obixApiConfig, encoded, waterArchiveDayRawDatas);
|
||||
|
||||
stopWatch.Stop();
|
||||
logger.LogInformation("【ArchiveElectricMeterDayJob】【天歸檔】【效能檢驗】[取得資料花費時間]{0} 毫秒", stopWatch.ElapsedMilliseconds);
|
||||
logger.LogInformation(@$"【ArchiveElectricMeterDayJob】【天歸檔】【效能檢驗】[取得資料花費時間]{stopWatch.ElapsedMilliseconds } 毫秒 資料筆數=" + electericArchiveDayRawDatas.Count() );
|
||||
|
||||
if (electericArchiveDayRawDatas.Count() > 0)
|
||||
{
|
||||
@ -1156,9 +1162,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
is_complete = @is_complete,
|
||||
repeat_times = @repeat_times,
|
||||
fail_reason = @fail_reason,
|
||||
updated_at = @updated_at,
|
||||
archive_lastDate = @updated_at,
|
||||
archive_lastActionDate = @updated_at
|
||||
updated_at = @updated_at
|
||||
WHERE device_number = @device_number
|
||||
AND point = @point
|
||||
AND start_timestamp = @start_timestamp;
|
||||
@ -1176,9 +1180,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
sum_rawdata,
|
||||
is_complete,
|
||||
repeat_times,
|
||||
fail_reason,
|
||||
archive_lastDate,
|
||||
archive_lastActionDate)
|
||||
fail_reason, updated_at)
|
||||
SELECT
|
||||
@device_number,
|
||||
@point,
|
||||
@ -1192,11 +1194,10 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
@sum_rawdata,
|
||||
@is_complete,
|
||||
@repeat_times,
|
||||
@fail_reason,
|
||||
@updated_at,
|
||||
@updated_at,
|
||||
@fail_reason,
|
||||
@updated_at
|
||||
WHERE ROW_COUNT() = 0;";
|
||||
|
||||
// update device set archive_lastDate = @updated_at, archive_lastActionDate = @updated_at where device_number = @device_number;
|
||||
var mySql = $@"BEGIN TRANSACTION;
|
||||
IF OBJECT_ID(N'dbo.archive_electric_meter_day_{dbDateName}', N'U') is null
|
||||
BEGIN
|
||||
@ -1285,12 +1286,15 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
END
|
||||
|
||||
COMMIT TRANSACTION;";
|
||||
|
||||
|
||||
// logger.LogInformation($@"putint value NTPC_G6_EE_E4_B1F_CB3_WHT_N1 ={electricMeter.archive_lastDate} archive_lastActionDate={electricMeter.archive_lastActionDate}");
|
||||
|
||||
logger.LogInformation("run sql electericArchiveDayRawDatas.Count() = " + electericArchiveDayRawDatas.Count());
|
||||
await backgroundServiceRepository.ExecuteSql(sql, electericArchiveDayRawDatas);
|
||||
if (!string.IsNullOrEmpty(saveToMSDB) && saveToMSDB == "1")
|
||||
{
|
||||
await backgroundServiceMsSqlRepository.ExecuteSql(mySql, electericArchiveDayRawDatas);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (waterArchiveDayRawDatas.Count() > 0)
|
||||
{
|
||||
|
@ -960,14 +960,21 @@ namespace BackendWorkerService.Services.Implement
|
||||
{
|
||||
|
||||
#region 水電錶 save to DB start
|
||||
|
||||
logger.LogInformation($@"s0 DeviceNumberPoints.Count() = {DeviceNumberPoints.Count().ToString()}");
|
||||
foreach (var deviceNumberPoint in DeviceNumberPoints)
|
||||
{
|
||||
|
||||
if (deviceNumberPoint.archive_lastDate.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")) break; //如果是今天 就不要用歸檔了
|
||||
{
|
||||
if (deviceNumberPoint.DeviceNumber == "NTPC_G6_EE_E4_B1F_CB3_WHT_N1")
|
||||
{
|
||||
logger.LogInformation($@"s1 devie_number = NTPC_G6_EE_E4_B1F_CB3_WHT_N1 archive_lastDate={deviceNumberPoint.archive_lastDate}");
|
||||
}
|
||||
if (deviceNumberPoint.archive_lastDate.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd"))
|
||||
{
|
||||
logger.LogInformation($@" foreach (var deviceNumberPoint in DeviceNumberPoints) 判斷為今天 不用跑 deviceNumberPoint.archive_lastDate = {deviceNumberPoint.archive_lastDate} "); // ----------- log
|
||||
continue; //如果是今天 就不要用歸檔了
|
||||
}
|
||||
|
||||
var startDay = string.Format("{0}T00:00:00.000+08:00", deviceNumberPoint.archive_lastDate.ToString("yyyy-MM-dd").Replace(" ", "T"));
|
||||
var endDay = "";
|
||||
var endDay = System.DateTime.Now.ToString("yyyy-MM-dd");
|
||||
//var endTimestamp = string.Format("{0}+08:00", error_day.End_timestamp.Replace(" ", "T"));
|
||||
//if (DateTime.Parse(startTimestamp).ToString("yyyy-MM-dd") == DateTime.Parse(endTimestamp).ToString("yyyy-MM-dd"))
|
||||
//{
|
||||
@ -976,18 +983,24 @@ namespace BackendWorkerService.Services.Implement
|
||||
//}
|
||||
//else
|
||||
//{ //不同天為新格式 採用 Start_timestamp
|
||||
endDay = string.Format("{0}T00:00:10.000+08:00", DateTime.Parse(endDay).AddDays(1).ToString("yyyy-MM-dd").Replace(" ", "T"));
|
||||
// endDay = string.Format("{0}T00:00:10.000+08:00", DateTime.Parse(endDay).AddDays(1).ToString("yyyy-MM-dd").Replace(" ", "T"));
|
||||
//}
|
||||
logger.LogInformation($@"before startDay = {startDay} endDay={endDay}"); // ----------- log
|
||||
|
||||
#region
|
||||
foreach (DateTime day in EachDay(startDay, endDay))
|
||||
{
|
||||
if (day.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")) break; //如果是今天 就不要用歸檔了
|
||||
if (day.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd"))
|
||||
{
|
||||
//logger.LogInformation($@"s2 foreach (DateTime day in EachDay(startDay, endDay)) 判斷為今天 不用跑 day = {day} "); // ----------- log
|
||||
continue; //如果是今天 就不要用歸檔了
|
||||
}
|
||||
|
||||
//logger.LogInformation(@$"obix query for {deviceNumberPoint.DeviceNumber} day = {day.ToString("yyyy-MM-dd")}");
|
||||
|
||||
var sDay = string.Format("{0}T00:00:00.000+08:00", day.ToString("yyyy-MM-dd").Replace(" ", "T"));
|
||||
var eDay = string.Format("{0}T00:00:10.000+08:00", day.AddDays(1).ToString("yyyy-MM-dd").Replace(" ", "T"));
|
||||
logger.LogInformation($@"after sDay = {sDay} eDay={eDay}"); // ----------- log
|
||||
|
||||
|
||||
string historyQueryFilter = $@"<obj is='obix: HistoryFilter'>
|
||||
<abstime name='start' val='{startDay}' />
|
||||
@ -995,17 +1008,22 @@ namespace BackendWorkerService.Services.Implement
|
||||
<reltime name='interval' val = 'PT2D' />
|
||||
</obj>";
|
||||
string device_number = deviceNumberPoint.FullDeviceNumberPoint.Replace("$3", "");
|
||||
|
||||
logger.LogInformation($@" {device_number} after sDay = {sDay} eDay={eDay}"); // ----------- log
|
||||
|
||||
var station = backgroundServiceRepository.GetOneAsync<string>($@"select parent_path from import_niagara_item_history where device_building_tag = '{device_number.Split("_")[1].Replace("$3", "")}' and
|
||||
device_system_tag = '{device_number.Split("_")[2]}' and device_name_tag = '{device_number.Split("_")[3]}'
|
||||
and device_floor_tag = '{device_number.Split("_")[4]}' and device_master_tag = '{device_number.Split("_")[5]}'
|
||||
and device_last_name_tag = '{device_number.Split("_")[6]}' and device_serial_tag = '{device_number.Split("_")[7]}'
|
||||
and device_point_name = '{device_number.Split("_")[8]}'").Result;
|
||||
|
||||
HttpWebRequest archiveRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/{station}/{deviceNumberPoint.FullDeviceNumberPoint.Replace("$3", "")}/~historyRollup/");
|
||||
//HttpWebRequest archiveDayRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/{station}/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/");
|
||||
archiveRequest.Method = "POST";
|
||||
archiveRequest.Headers.Add("Authorization", "Basic " + encoded);
|
||||
archiveRequest.PreAuthenticate = true;
|
||||
|
||||
logger.LogInformation($@" {device_number} after station = {station}"); // ----------- log
|
||||
|
||||
byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter);
|
||||
using (Stream reqStream = archiveRequest.GetRequestStream())
|
||||
@ -1021,15 +1039,15 @@ namespace BackendWorkerService.Services.Implement
|
||||
xmlDocument.LoadXml(archiveResponseContent);
|
||||
var archiveJson = JsonConvert.SerializeXmlNode(xmlDocument);
|
||||
var archiveJsonResult = (JObject)JsonConvert.DeserializeObject(archiveJson);
|
||||
//if (device_number == "NTPC_D8_EE_E4_RF_Total_WHT_N1")
|
||||
//{
|
||||
// logger.LogError("obixData_collect - NTPC_D8_EE_E4_RF_Total_WHT_N1 s=" + startTimestamp.Replace("T", " ").Substring(0, 19) + " e = " + endTimestamp.Replace("T", " ").Substring(0, 19) + " json = " + archiveJsonResult);
|
||||
//}
|
||||
if (device_number == "NTPC_G6_EE_E4_B1F_CB3_WHT_N1")
|
||||
{
|
||||
logger.LogError("obixData_collect - NTPC_G6_EE_E4_B1F_CB3_WHT_N1 json = " + archiveJsonResult);
|
||||
}
|
||||
if (archiveJsonResult.ContainsKey("err")) //抓取錯誤
|
||||
{
|
||||
//logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】");
|
||||
//logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveDayJsonResult);
|
||||
|
||||
//logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveDayJsonResult); archiveJsonResult
|
||||
logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveJsonResult);
|
||||
Dictionary<string, object> archiveDayRawData = new Dictionary<string, object>();
|
||||
archiveDayRawData.Add("@device_number", deviceNumberPoint.DeviceNumber);
|
||||
archiveDayRawData.Add("@point", deviceNumberPoint.Point);
|
||||
@ -1051,9 +1069,11 @@ namespace BackendWorkerService.Services.Implement
|
||||
|
||||
if (archiveJsonResult.ContainsKey("obj")) //表示可以讀取到內容
|
||||
{
|
||||
logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【OK】{0}", archiveJsonResult);
|
||||
var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveJsonResult);
|
||||
if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0)
|
||||
{
|
||||
logger.LogInformation(@$"obix result {deviceNumberPoint.DeviceNumber} day = {day.ToString("yyyy-MM-dd")} ArrangeRawDatas.count() = {ArrangeRawDatas.Count().ToString()}");
|
||||
resultArchiveDayRawDatas.AddRange(ArrangeRawDatas);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user