Revert "Revert "[前台] 修改即時告警table render 問題""
This reverts commit 7f010ddb97.
			
			
This commit is contained in:
		
							parent
							
								
									7f010ddb97
								
							
						
					
					
						commit
						447f1c6d69
					
				| @ -18,10 +18,10 @@ | |||||||
|       "Port": "js2LutKe+rdjzdxMPQUrvQ==", |       "Port": "js2LutKe+rdjzdxMPQUrvQ==", | ||||||
|       //"Database": "VJB2XC+lAtzuHObDGMVOAA==", //30   |       //"Database": "VJB2XC+lAtzuHObDGMVOAA==", //30   | ||||||
|       //"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp |       //"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp | ||||||
|       "Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome |       //"Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome | ||||||
|       //"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel |       //"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel | ||||||
|       //"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office |       //"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office | ||||||
|       //"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //mcut |       "Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //mcut | ||||||
|       "Root": "SzdxEgaJJ7tcTCrUl2zKsA==", |       "Root": "SzdxEgaJJ7tcTCrUl2zKsA==", | ||||||
|       "Password": "FVAPxztxpY4gJJKQ/se4bQ==" |       "Password": "FVAPxztxpY4gJJKQ/se4bQ==" | ||||||
|     }, |     }, | ||||||
|  | |||||||
| @ -55,13 +55,20 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                     EDFunction ed = new EDFunction(); |                     EDFunction ed = new EDFunction(); | ||||||
|                     XmlDocument xmlDocument = new XmlDocument(); |                     XmlDocument xmlDocument = new XmlDocument(); | ||||||
| 
 | 
 | ||||||
|  |                     ServicePointManager.DefaultConnectionLimit = 10; | ||||||
|                     var sqlArchive = $@"SELECT system_value as Value, system_key as Name FROM variable WHERE deleted = 0 AND system_type = 'archiveConfig'"; |                     var sqlArchive = $@"SELECT system_value as Value, system_key as Name FROM variable WHERE deleted = 0 AND system_type = 'archiveConfig'"; | ||||||
|                     var saveToMSDB = await backgroundServiceRepository.GetOneAsync<string>("select system_value from variable where system_type = 'save_to_ms_db' and deleted = 0"); |                     var saveToMSDB = await backgroundServiceRepository.GetOneAsync<string>("select system_value from variable where system_type = 'save_to_ms_db' and deleted = 0"); | ||||||
| 
 |  | ||||||
|                     var variableArchive = await backgroundServiceRepository.GetAllAsync<KeyValue>(sqlArchive); |                     var variableArchive = await backgroundServiceRepository.GetAllAsync<KeyValue>(sqlArchive); | ||||||
|                     var electricMeterGuid = variableArchive.Where(x => x.Name == "ElectricMeterGuid").Select(x => x.Value).FirstOrDefault(); |                     var electricMeterGuid = variableArchive.Where(x => x.Name == "ElectricMeterGuid").Select(x => x.Value).FirstOrDefault(); | ||||||
|                     var waterMeterGuid = variableArchive.Where(x => x.Name == "WaterMeterGuid").Select(x => x.Value).FirstOrDefault(); |                     var waterMeterGuid = variableArchive.Where(x => x.Name == "WaterMeterGuid").Select(x => x.Value).FirstOrDefault(); | ||||||
| 
 | 
 | ||||||
|  |                     #region http variable  | ||||||
|  |                     HttpWebRequest archiveRequest = null; | ||||||
|  |                     HttpWebResponse archiveResponse = null; | ||||||
|  |                     string archiveResponseContent = null; | ||||||
|  |                     string archiveJson = null; | ||||||
|  |                     JObject archiveJsonResult = new JObject(); | ||||||
|  |                     #endregion | ||||||
|                     #region 找出所有電錶設備 |                     #region 找出所有電錶設備 | ||||||
|                     var sWhere = "deleted = 0 AND device_name_tag = @sub_system_guid"; |                     var sWhere = "deleted = 0 AND device_name_tag = @sub_system_guid"; | ||||||
|                     var electricMeters = await backgroundServiceRepository.GetAllAsync<Device>("device", sWhere, new { sub_system_guid = electricMeterGuid }); |                     var electricMeters = await backgroundServiceRepository.GetAllAsync<Device>("device", sWhere, new { sub_system_guid = electricMeterGuid }); | ||||||
| @ -147,26 +154,29 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             foreach (var deviceNumberPoint in electricDeviceNumberPoints) |                             foreach (var deviceNumberPoint in electricDeviceNumberPoints) | ||||||
|                             { |                             { | ||||||
| 
 | 
 | ||||||
|                                 HttpWebRequest archiveDayRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); |                                 archiveRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); | ||||||
|                                 //HttpWebRequest archiveDayRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); |                                 //HttpWebRequest archiveDayRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); | ||||||
|                                 archiveDayRequest.Method = "POST"; |                                 archiveRequest.Method = "POST"; | ||||||
|                                 archiveDayRequest.Headers.Add("Authorization", "Basic " + encoded); |                                 archiveRequest.Headers.Add("Authorization", "Basic " + encoded); | ||||||
|                                 archiveDayRequest.PreAuthenticate = true; |                                 archiveRequest.PreAuthenticate = true; | ||||||
|  |                                 archiveRequest.Timeout = 3000; | ||||||
| 
 | 
 | ||||||
|                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); |                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); | ||||||
|                                 using (Stream reqStream = archiveDayRequest.GetRequestStream()) |                                 using (Stream reqStream = archiveRequest.GetRequestStream()) | ||||||
|                                 { |                                 { | ||||||
|                                     reqStream.Write(byteArray, 0, byteArray.Length); |                                     reqStream.Write(byteArray, 0, byteArray.Length); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 HttpWebResponse archiveDayResponse = (HttpWebResponse)archiveDayRequest.GetResponse(); |                                 archiveResponse = (HttpWebResponse)archiveRequest.GetResponse(); | ||||||
|                                 var archiveDayResponseContent = new StreamReader(archiveDayResponse.GetResponseStream()).ReadToEnd(); |                                 archiveResponseContent = new StreamReader(archiveResponse.GetResponseStream()).ReadToEnd(); | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
| 
 | 
 | ||||||
|                                 xmlDocument.LoadXml(archiveDayResponseContent); |                                 xmlDocument.LoadXml(archiveResponseContent); | ||||||
|                                 string archiveDayJson = JsonConvert.SerializeXmlNode(xmlDocument); |                                 archiveJson = JsonConvert.SerializeXmlNode(xmlDocument); | ||||||
|                                 JObject archiveDayJsonResult = (JObject)JsonConvert.DeserializeObject(archiveDayJson); |                                 archiveJsonResult = (JObject)JsonConvert.DeserializeObject(archiveJson); | ||||||
| 
 | 
 | ||||||
|                                 if (archiveDayJsonResult.ContainsKey("err")) //抓取錯誤 |                                 if (archiveJsonResult.ContainsKey("err")) //抓取錯誤 | ||||||
|                                 { |                                 { | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】"); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】"); | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveDayJsonResult); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveDayJsonResult); | ||||||
| @ -178,7 +188,7 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     archiveDayRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); |                                     archiveDayRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); | ||||||
|                                     archiveDayRawData.Add("@is_complete", 0); |                                     archiveDayRawData.Add("@is_complete", 0); | ||||||
|                                     archiveDayRawData.Add("@repeat_times", 0); |                                     archiveDayRawData.Add("@repeat_times", 0); | ||||||
|                                     archiveDayRawData.Add("@fail_reason", archiveDayJson); |                                     archiveDayRawData.Add("@fail_reason", archiveJson); | ||||||
| 
 | 
 | ||||||
|                                     archiveDayRawData.Add("@count_rawdata", 0); |                                     archiveDayRawData.Add("@count_rawdata", 0); | ||||||
|                                     archiveDayRawData.Add("@min_rawdata", 0); |                                     archiveDayRawData.Add("@min_rawdata", 0); | ||||||
| @ -190,9 +200,9 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     electericArchiveDayRawDatas.Add(archiveDayRawData); |                                     electericArchiveDayRawDatas.Add(archiveDayRawData); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 if (archiveDayJsonResult.ContainsKey("obj")) //表示可以讀取到內容 |                                 if (archiveJsonResult.ContainsKey("obj")) //表示可以讀取到內容 | ||||||
|                                 { |                                 { | ||||||
|                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveDayJsonResult); |                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveJsonResult); | ||||||
|                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) |                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) | ||||||
|                                     { |                                     { | ||||||
|                                         electericArchiveDayRawDatas.AddRange(ArrangeRawDatas); |                                         electericArchiveDayRawDatas.AddRange(ArrangeRawDatas); | ||||||
| @ -202,26 +212,29 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             foreach (var deviceNumberPoint in waterDeviceNumberPoints) |                             foreach (var deviceNumberPoint in waterDeviceNumberPoints) | ||||||
|                             { |                             { | ||||||
| 
 | 
 | ||||||
|                                 HttpWebRequest archiveDayRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); |                                 archiveRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); | ||||||
|                                 //HttpWebRequest archiveDayRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); |                                 //HttpWebRequest archiveDayRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); | ||||||
|                                 archiveDayRequest.Method = "POST"; |                                 archiveRequest.Method = "POST"; | ||||||
|                                 archiveDayRequest.Headers.Add("Authorization", "Basic " + encoded); |                                 archiveRequest.Headers.Add("Authorization", "Basic " + encoded); | ||||||
|                                 archiveDayRequest.PreAuthenticate = true; |                                 archiveRequest.PreAuthenticate = true; | ||||||
|  |                                 archiveRequest.Timeout = 3000; | ||||||
| 
 | 
 | ||||||
|                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); |                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); | ||||||
|                                 using (Stream reqStream = archiveDayRequest.GetRequestStream()) |                                 using (Stream reqStream = archiveRequest.GetRequestStream()) | ||||||
|                                 { |                                 { | ||||||
|                                     reqStream.Write(byteArray, 0, byteArray.Length); |                                     reqStream.Write(byteArray, 0, byteArray.Length); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 HttpWebResponse archiveDayResponse = (HttpWebResponse)archiveDayRequest.GetResponse(); |                                 archiveResponse = (HttpWebResponse)archiveRequest.GetResponse(); | ||||||
|                                 var archiveDayResponseContent = new StreamReader(archiveDayResponse.GetResponseStream()).ReadToEnd(); |                                 archiveResponseContent = new StreamReader(archiveResponse.GetResponseStream()).ReadToEnd(); | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
| 
 | 
 | ||||||
|                                 xmlDocument.LoadXml(archiveDayResponseContent); |                                 xmlDocument.LoadXml(archiveResponseContent); | ||||||
|                                 string archiveDayJson = JsonConvert.SerializeXmlNode(xmlDocument); |                                 archiveJson = JsonConvert.SerializeXmlNode(xmlDocument); | ||||||
|                                 JObject archiveDayJsonResult = (JObject)JsonConvert.DeserializeObject(archiveDayJson); |                                 archiveJsonResult = (JObject)JsonConvert.DeserializeObject(archiveJson); | ||||||
| 
 | 
 | ||||||
|                                 if (archiveDayJsonResult.ContainsKey("err")) //抓取錯誤 |                                 if (archiveJsonResult.ContainsKey("err")) //抓取錯誤 | ||||||
|                                 { |                                 { | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】"); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】"); | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveDayJsonResult); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveDayJsonResult); | ||||||
| @ -233,7 +246,7 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     archiveDayRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); |                                     archiveDayRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); | ||||||
|                                     archiveDayRawData.Add("@is_complete", 0); |                                     archiveDayRawData.Add("@is_complete", 0); | ||||||
|                                     archiveDayRawData.Add("@repeat_times", 0); |                                     archiveDayRawData.Add("@repeat_times", 0); | ||||||
|                                     archiveDayRawData.Add("@fail_reason", archiveDayJson); |                                     archiveDayRawData.Add("@fail_reason", archiveJson); | ||||||
| 
 | 
 | ||||||
|                                     archiveDayRawData.Add("@count_rawdata", 0); |                                     archiveDayRawData.Add("@count_rawdata", 0); | ||||||
|                                     archiveDayRawData.Add("@min_rawdata", 0); |                                     archiveDayRawData.Add("@min_rawdata", 0); | ||||||
| @ -245,9 +258,9 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     waterArchiveDayRawDatas.Add(archiveDayRawData); |                                     waterArchiveDayRawDatas.Add(archiveDayRawData); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 if (archiveDayJsonResult.ContainsKey("obj")) //表示可以讀取到內容 |                                 if (archiveJsonResult.ContainsKey("obj")) //表示可以讀取到內容 | ||||||
|                                 { |                                 { | ||||||
|                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveDayJsonResult); |                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveJsonResult); | ||||||
|                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) |                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) | ||||||
|                                     { |                                     { | ||||||
|                                         waterArchiveDayRawDatas.AddRange(ArrangeRawDatas); |                                         waterArchiveDayRawDatas.AddRange(ArrangeRawDatas); | ||||||
| @ -573,6 +586,14 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【任務失敗】"); |                             logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【任務失敗】"); | ||||||
|                             logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【任務失敗】[Exception]:{0}", exception.ToString()); |                             logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【任務失敗】[Exception]:{0}", exception.ToString()); | ||||||
|                         } |                         } | ||||||
|  |                         finally | ||||||
|  |                         { | ||||||
|  |                             if (archiveResponse != null) | ||||||
|  |                             { | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|                     } |                     } | ||||||
|                     #endregion 天歸檔 |                     #endregion 天歸檔 | ||||||
| 
 | 
 | ||||||
| @ -602,26 +623,29 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             List<Dictionary<string, object>> waterArchiveWeekRawDatas = new List<Dictionary<string, object>>(); |                             List<Dictionary<string, object>> waterArchiveWeekRawDatas = new List<Dictionary<string, object>>(); | ||||||
|                             foreach (var deviceNumberPoint in electricDeviceNumberPoints) |                             foreach (var deviceNumberPoint in electricDeviceNumberPoints) | ||||||
|                             { |                             { | ||||||
|                                 HttpWebRequest archiveWeekRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); |                                 archiveRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); | ||||||
|                                 //HttpWebRequest archiveWeekRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); |                                 //HttpWebRequest archiveWeekRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); | ||||||
|                                 archiveWeekRequest.Method = "POST"; |                                 archiveRequest.Method = "POST"; | ||||||
|                                 archiveWeekRequest.Headers.Add("Authorization", "Basic " + encoded); |                                 archiveRequest.Headers.Add("Authorization", "Basic " + encoded); | ||||||
|                                 archiveWeekRequest.PreAuthenticate = true; |                                 archiveRequest.PreAuthenticate = true; | ||||||
|  |                                 archiveRequest.Timeout = 3000; | ||||||
| 
 | 
 | ||||||
|                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); |                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); | ||||||
|                                 using (Stream reqStream = archiveWeekRequest.GetRequestStream()) |                                 using (Stream reqStream = archiveRequest.GetRequestStream()) | ||||||
|                                 { |                                 { | ||||||
|                                     reqStream.Write(byteArray, 0, byteArray.Length); |                                     reqStream.Write(byteArray, 0, byteArray.Length); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 HttpWebResponse archiveWeekResponse = (HttpWebResponse)archiveWeekRequest.GetResponse(); |                                 archiveResponse = (HttpWebResponse)archiveRequest.GetResponse(); | ||||||
|                                 var archiveWeekResponseContent = new StreamReader(archiveWeekResponse.GetResponseStream()).ReadToEnd(); |                                 archiveResponseContent = new StreamReader(archiveResponse.GetResponseStream()).ReadToEnd(); | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
| 
 | 
 | ||||||
|                                 xmlDocument.LoadXml(archiveWeekResponseContent); |                                 xmlDocument.LoadXml(archiveResponseContent); | ||||||
|                                 string archiveWeekJson = JsonConvert.SerializeXmlNode(xmlDocument); |                                 archiveJson = JsonConvert.SerializeXmlNode(xmlDocument); | ||||||
|                                 JObject archiveWeekJsonResult = (JObject)JsonConvert.DeserializeObject(archiveWeekJson); |                                 archiveJsonResult = (JObject)JsonConvert.DeserializeObject(archiveJson); | ||||||
| 
 | 
 | ||||||
|                                 if (archiveWeekJsonResult.ContainsKey("err")) //抓取錯誤 |                                 if (archiveJsonResult.ContainsKey("err")) //抓取錯誤 | ||||||
|                                 { |                                 { | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【取得資料失敗】"); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【取得資料失敗】"); | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveWeekJsonResult); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveWeekJsonResult); | ||||||
| @ -633,7 +657,7 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     archiveWeekRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); |                                     archiveWeekRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); | ||||||
|                                     archiveWeekRawData.Add("@is_complete", 0); |                                     archiveWeekRawData.Add("@is_complete", 0); | ||||||
|                                     archiveWeekRawData.Add("@repeat_times", 0); |                                     archiveWeekRawData.Add("@repeat_times", 0); | ||||||
|                                     archiveWeekRawData.Add("@fail_reason", archiveWeekJson); |                                     archiveWeekRawData.Add("@fail_reason", archiveJson); | ||||||
| 
 | 
 | ||||||
|                                     archiveWeekRawData.Add("@count_rawdata", 0); |                                     archiveWeekRawData.Add("@count_rawdata", 0); | ||||||
|                                     archiveWeekRawData.Add("@min_rawdata", 0); |                                     archiveWeekRawData.Add("@min_rawdata", 0); | ||||||
| @ -645,9 +669,9 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     electricArchiveWeekRawDatas.Add(archiveWeekRawData); |                                     electricArchiveWeekRawDatas.Add(archiveWeekRawData); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 if (archiveWeekJsonResult.ContainsKey("obj")) //表示可以讀取到內容 |                                 if (archiveJsonResult.ContainsKey("obj")) //表示可以讀取到內容 | ||||||
|                                 { |                                 { | ||||||
|                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveWeekJsonResult); |                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveJsonResult); | ||||||
|                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) |                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) | ||||||
|                                     { |                                     { | ||||||
|                                         electricArchiveWeekRawDatas.AddRange(ArrangeRawDatas); |                                         electricArchiveWeekRawDatas.AddRange(ArrangeRawDatas); | ||||||
| @ -656,26 +680,29 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             } |                             } | ||||||
|                             foreach (var deviceNumberPoint in waterDeviceNumberPoints) |                             foreach (var deviceNumberPoint in waterDeviceNumberPoints) | ||||||
|                             { |                             { | ||||||
|                                 HttpWebRequest archiveWeekRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); |                                 archiveRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); | ||||||
|                                 //HttpWebRequest archiveWeekRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); |                                 //HttpWebRequest archiveWeekRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); | ||||||
|                                 archiveWeekRequest.Method = "POST"; |                                 archiveRequest.Method = "POST"; | ||||||
|                                 archiveWeekRequest.Headers.Add("Authorization", "Basic " + encoded); |                                 archiveRequest.Headers.Add("Authorization", "Basic " + encoded); | ||||||
|                                 archiveWeekRequest.PreAuthenticate = true; |                                 archiveRequest.PreAuthenticate = true; | ||||||
|  |                                 archiveRequest.Timeout = 3000; | ||||||
| 
 | 
 | ||||||
|                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); |                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); | ||||||
|                                 using (Stream reqStream = archiveWeekRequest.GetRequestStream()) |                                 using (Stream reqStream = archiveRequest.GetRequestStream()) | ||||||
|                                 { |                                 { | ||||||
|                                     reqStream.Write(byteArray, 0, byteArray.Length); |                                     reqStream.Write(byteArray, 0, byteArray.Length); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 HttpWebResponse archiveWeekResponse = (HttpWebResponse)archiveWeekRequest.GetResponse(); |                                 archiveResponse = (HttpWebResponse)archiveRequest.GetResponse(); | ||||||
|                                 var archiveWeekResponseContent = new StreamReader(archiveWeekResponse.GetResponseStream()).ReadToEnd(); |                                 archiveResponseContent = new StreamReader(archiveResponse.GetResponseStream()).ReadToEnd(); | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
| 
 | 
 | ||||||
|                                 xmlDocument.LoadXml(archiveWeekResponseContent); |                                 xmlDocument.LoadXml(archiveResponseContent); | ||||||
|                                 string archiveWeekJson = JsonConvert.SerializeXmlNode(xmlDocument); |                                 archiveJson = JsonConvert.SerializeXmlNode(xmlDocument); | ||||||
|                                 JObject archiveWeekJsonResult = (JObject)JsonConvert.DeserializeObject(archiveWeekJson); |                                 archiveJsonResult = (JObject)JsonConvert.DeserializeObject(archiveJson); | ||||||
| 
 | 
 | ||||||
|                                 if (archiveWeekJsonResult.ContainsKey("err")) //抓取錯誤 |                                 if (archiveJsonResult.ContainsKey("err")) //抓取錯誤 | ||||||
|                                 { |                                 { | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【取得資料失敗】"); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【取得資料失敗】"); | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveWeekJsonResult); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveWeekJsonResult); | ||||||
| @ -687,7 +714,7 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     archiveWeekRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); |                                     archiveWeekRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); | ||||||
|                                     archiveWeekRawData.Add("@is_complete", 0); |                                     archiveWeekRawData.Add("@is_complete", 0); | ||||||
|                                     archiveWeekRawData.Add("@repeat_times", 0); |                                     archiveWeekRawData.Add("@repeat_times", 0); | ||||||
|                                     archiveWeekRawData.Add("@fail_reason", archiveWeekJson); |                                     archiveWeekRawData.Add("@fail_reason", archiveJson); | ||||||
| 
 | 
 | ||||||
|                                     archiveWeekRawData.Add("@count_rawdata", 0); |                                     archiveWeekRawData.Add("@count_rawdata", 0); | ||||||
|                                     archiveWeekRawData.Add("@min_rawdata", 0); |                                     archiveWeekRawData.Add("@min_rawdata", 0); | ||||||
| @ -699,9 +726,9 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     waterArchiveWeekRawDatas.Add(archiveWeekRawData); |                                     waterArchiveWeekRawDatas.Add(archiveWeekRawData); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 if (archiveWeekJsonResult.ContainsKey("obj")) //表示可以讀取到內容 |                                 if (archiveJsonResult.ContainsKey("obj")) //表示可以讀取到內容 | ||||||
|                                 { |                                 { | ||||||
|                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveWeekJsonResult); |                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveJsonResult); | ||||||
|                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) |                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) | ||||||
|                                     { |                                     { | ||||||
|                                         waterArchiveWeekRawDatas.AddRange(ArrangeRawDatas); |                                         waterArchiveWeekRawDatas.AddRange(ArrangeRawDatas); | ||||||
| @ -923,6 +950,14 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【任務失敗】"); |                             logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【任務失敗】"); | ||||||
|                             logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【任務失敗】[Exception]:{0}", exception.ToString()); |                             logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【任務失敗】[Exception]:{0}", exception.ToString()); | ||||||
|                         } |                         } | ||||||
|  |                         finally | ||||||
|  |                         { | ||||||
|  |                             if (archiveResponse != null) | ||||||
|  |                             { | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|                     } |                     } | ||||||
|                     #endregion 週歸檔 |                     #endregion 週歸檔 | ||||||
| 
 | 
 | ||||||
| @ -954,26 +989,29 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             List<Dictionary<string, object>> waterArchiveMonthRawDatas = new List<Dictionary<string, object>>(); |                             List<Dictionary<string, object>> waterArchiveMonthRawDatas = new List<Dictionary<string, object>>(); | ||||||
|                             foreach (var deviceNumberPoint in electricDeviceNumberPoints) |                             foreach (var deviceNumberPoint in electricDeviceNumberPoints) | ||||||
|                             { |                             { | ||||||
|                                 HttpWebRequest archiveMonthRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); |                                 archiveRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); | ||||||
|                                 //HttpWebRequest archiveMonthRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); |                                 //HttpWebRequest archiveMonthRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); | ||||||
|                                 archiveMonthRequest.Method = "POST"; |                                 archiveRequest.Method = "POST"; | ||||||
|                                 archiveMonthRequest.Headers.Add("Authorization", "Basic " + encoded); |                                 archiveRequest.Headers.Add("Authorization", "Basic " + encoded); | ||||||
|                                 archiveMonthRequest.PreAuthenticate = true; |                                 archiveRequest.PreAuthenticate = true; | ||||||
|  |                                 archiveRequest.Timeout = 3000; | ||||||
| 
 | 
 | ||||||
|                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); |                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); | ||||||
|                                 using (Stream reqStream = archiveMonthRequest.GetRequestStream()) |                                 using (Stream reqStream = archiveRequest.GetRequestStream()) | ||||||
|                                 { |                                 { | ||||||
|                                     reqStream.Write(byteArray, 0, byteArray.Length); |                                     reqStream.Write(byteArray, 0, byteArray.Length); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 HttpWebResponse archiveMonthResponse = (HttpWebResponse)archiveMonthRequest.GetResponse(); |                                 archiveResponse = (HttpWebResponse)archiveRequest.GetResponse(); | ||||||
|                                 var archiveMonthResponseContent = new StreamReader(archiveMonthResponse.GetResponseStream()).ReadToEnd(); |                                 archiveResponseContent = new StreamReader(archiveResponse.GetResponseStream()).ReadToEnd(); | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
| 
 | 
 | ||||||
|                                 xmlDocument.LoadXml(archiveMonthResponseContent); |                                 xmlDocument.LoadXml(archiveResponseContent); | ||||||
|                                 string archiveMonthJson = JsonConvert.SerializeXmlNode(xmlDocument); |                                 archiveJson = JsonConvert.SerializeXmlNode(xmlDocument); | ||||||
|                                 JObject archiveMonthJsonResult = (JObject)JsonConvert.DeserializeObject(archiveMonthJson); |                                 archiveJsonResult = (JObject)JsonConvert.DeserializeObject(archiveJson); | ||||||
| 
 | 
 | ||||||
|                                 if (archiveMonthJsonResult.ContainsKey("err")) //抓取錯誤 |                                 if (archiveJsonResult.ContainsKey("err")) //抓取錯誤 | ||||||
|                                 { |                                 { | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【取得資料失敗】"); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【取得資料失敗】"); | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveMonthJsonResult); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveMonthJsonResult); | ||||||
| @ -985,7 +1023,7 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     archiveMonthRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); |                                     archiveMonthRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); | ||||||
|                                     archiveMonthRawData.Add("@is_complete", 0); |                                     archiveMonthRawData.Add("@is_complete", 0); | ||||||
|                                     archiveMonthRawData.Add("@repeat_times", 0); |                                     archiveMonthRawData.Add("@repeat_times", 0); | ||||||
|                                     archiveMonthRawData.Add("@fail_reason", archiveMonthJson); |                                     archiveMonthRawData.Add("@fail_reason", archiveJson); | ||||||
| 
 | 
 | ||||||
|                                     archiveMonthRawData.Add("@count_rawdata", 0); |                                     archiveMonthRawData.Add("@count_rawdata", 0); | ||||||
|                                     archiveMonthRawData.Add("@min_rawdata", 0); |                                     archiveMonthRawData.Add("@min_rawdata", 0); | ||||||
| @ -997,9 +1035,9 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     electricArchiveMonthRawDatas.Add(archiveMonthRawData); |                                     electricArchiveMonthRawDatas.Add(archiveMonthRawData); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 if (archiveMonthJsonResult.ContainsKey("obj")) //表示可以讀取到內容 |                                 if (archiveJsonResult.ContainsKey("obj")) //表示可以讀取到內容 | ||||||
|                                 { |                                 { | ||||||
|                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveMonthJsonResult); |                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveJsonResult); | ||||||
|                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) |                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) | ||||||
|                                     { |                                     { | ||||||
|                                         electricArchiveMonthRawDatas.AddRange(ArrangeRawDatas); |                                         electricArchiveMonthRawDatas.AddRange(ArrangeRawDatas); | ||||||
| @ -1008,26 +1046,29 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             } |                             } | ||||||
|                             foreach (var deviceNumberPoint in waterDeviceNumberPoints) |                             foreach (var deviceNumberPoint in waterDeviceNumberPoints) | ||||||
|                             { |                             { | ||||||
|                                 HttpWebRequest archiveMonthRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); |                                 archiveRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/{deviceNumberPoint.FullDeviceNumberPoint}/~historyRollup/"); | ||||||
|                                 //HttpWebRequest archiveMonthRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); |                                 //HttpWebRequest archiveMonthRequest = (HttpWebRequest)WebRequest.Create($"{obixApiConfig.ApiBase}obix/histories/FIC_Center/H_E1_B1F_MVCB_MVCBH_V1/~historyRollup/"); | ||||||
|                                 archiveMonthRequest.Method = "POST"; |                                 archiveRequest.Method = "POST"; | ||||||
|                                 archiveMonthRequest.Headers.Add("Authorization", "Basic " + encoded); |                                 archiveRequest.Headers.Add("Authorization", "Basic " + encoded); | ||||||
|                                 archiveMonthRequest.PreAuthenticate = true; |                                 archiveRequest.PreAuthenticate = true; | ||||||
|  |                                 archiveRequest.Timeout = 3000; | ||||||
| 
 | 
 | ||||||
|                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); |                                 byte[] byteArray = Encoding.UTF8.GetBytes(historyQueryFilter); | ||||||
|                                 using (Stream reqStream = archiveMonthRequest.GetRequestStream()) |                                 using (Stream reqStream = archiveRequest.GetRequestStream()) | ||||||
|                                 { |                                 { | ||||||
|                                     reqStream.Write(byteArray, 0, byteArray.Length); |                                     reqStream.Write(byteArray, 0, byteArray.Length); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 HttpWebResponse archiveMonthResponse = (HttpWebResponse)archiveMonthRequest.GetResponse(); |                                 archiveResponse = (HttpWebResponse)archiveRequest.GetResponse(); | ||||||
|                                 var archiveMonthResponseContent = new StreamReader(archiveMonthResponse.GetResponseStream()).ReadToEnd(); |                                 archiveResponseContent = new StreamReader(archiveResponse.GetResponseStream()).ReadToEnd(); | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
| 
 | 
 | ||||||
|                                 xmlDocument.LoadXml(archiveMonthResponseContent); |                                 xmlDocument.LoadXml(archiveResponseContent); | ||||||
|                                 string archiveMonthJson = JsonConvert.SerializeXmlNode(xmlDocument); |                                 archiveJson = JsonConvert.SerializeXmlNode(xmlDocument); | ||||||
|                                 JObject archiveMonthJsonResult = (JObject)JsonConvert.DeserializeObject(archiveMonthJson); |                                 archiveJsonResult = (JObject)JsonConvert.DeserializeObject(archiveJson); | ||||||
| 
 | 
 | ||||||
|                                 if (archiveMonthJsonResult.ContainsKey("err")) //抓取錯誤 |                                 if (archiveJsonResult.ContainsKey("err")) //抓取錯誤 | ||||||
|                                 { |                                 { | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【取得資料失敗】"); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【取得資料失敗】"); | ||||||
|                                     //logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveMonthJsonResult); |                                     //logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【取得資料失敗】[錯誤內容]:{0}", archiveMonthJsonResult); | ||||||
| @ -1039,7 +1080,7 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     archiveMonthRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); |                                     archiveMonthRawData.Add("@end_timestamp", endTimestamp.Replace("T", " ").Substring(0, 19)); | ||||||
|                                     archiveMonthRawData.Add("@is_complete", 0); |                                     archiveMonthRawData.Add("@is_complete", 0); | ||||||
|                                     archiveMonthRawData.Add("@repeat_times", 0); |                                     archiveMonthRawData.Add("@repeat_times", 0); | ||||||
|                                     archiveMonthRawData.Add("@fail_reason", archiveMonthJson); |                                     archiveMonthRawData.Add("@fail_reason", archiveJson); | ||||||
| 
 | 
 | ||||||
|                                     archiveMonthRawData.Add("@count_rawdata", 0); |                                     archiveMonthRawData.Add("@count_rawdata", 0); | ||||||
|                                     archiveMonthRawData.Add("@min_rawdata", 0); |                                     archiveMonthRawData.Add("@min_rawdata", 0); | ||||||
| @ -1051,9 +1092,9 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                                     waterArchiveMonthRawDatas.Add(archiveMonthRawData); |                                     waterArchiveMonthRawDatas.Add(archiveMonthRawData); | ||||||
|                                 } |                                 } | ||||||
| 
 | 
 | ||||||
|                                 if (archiveMonthJsonResult.ContainsKey("obj")) //表示可以讀取到內容 |                                 if (archiveJsonResult.ContainsKey("obj")) //表示可以讀取到內容 | ||||||
|                                 { |                                 { | ||||||
|                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveMonthJsonResult); |                                     var ArrangeRawDatas = ArrangeRawData(deviceNumberPoint, archiveJsonResult); | ||||||
|                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) |                                     if (ArrangeRawDatas != null && ArrangeRawDatas.Count() > 0) | ||||||
|                                     { |                                     { | ||||||
|                                         waterArchiveMonthRawDatas.AddRange(ArrangeRawDatas); |                                         waterArchiveMonthRawDatas.AddRange(ArrangeRawDatas); | ||||||
| @ -1268,6 +1309,14 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                             logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【任務失敗】"); |                             logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【任務失敗】"); | ||||||
|                             logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【任務失敗】[Exception]:{0}", exception.ToString()); |                             logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【任務失敗】[Exception]:{0}", exception.ToString()); | ||||||
|                         } |                         } | ||||||
|  |                         finally | ||||||
|  |                         { | ||||||
|  |                             if (archiveResponse != null) | ||||||
|  |                             { | ||||||
|  |                                 archiveResponse.Dispose(); | ||||||
|  |                                 archiveResponse.Close(); | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|                     } |                     } | ||||||
|                     #endregion 月歸檔 |                     #endregion 月歸檔 | ||||||
| 
 | 
 | ||||||
| @ -1277,7 +1326,7 @@ namespace BackendWorkerService.Quartz.Jobs | |||||||
|                     { |                     { | ||||||
|                         try |                         try | ||||||
|                         { |                         { | ||||||
|                             await task_Detail.InsertWorkTime("ArchiveElectricMeterDayJob", "Compensate", "任務開始"); |                             await task_Detail.InsertWorkTime("ArchiveElectricMeterDayJob", "Compensate", "補償機制任務開始"); | ||||||
|                             ProcEletricMeterService procEletricMeterService = new ProcEletricMeterService(backgroundServiceRepository, backgroundServiceMsSqlRepository); |                             ProcEletricMeterService procEletricMeterService = new ProcEletricMeterService(backgroundServiceRepository, backgroundServiceMsSqlRepository); | ||||||
|                             await procEletricMeterService.ArchiveData(); |                             await procEletricMeterService.ArchiveData(); | ||||||
|                             await task_Detail.InsertWorkTime_End("ArchiveElectricMeterDayJob", "Compensate", "任務完成"); |                             await task_Detail.InsertWorkTime_End("ArchiveElectricMeterDayJob", "Compensate", "任務完成"); | ||||||
|  | |||||||
| @ -875,7 +875,7 @@ | |||||||
| 			{ | 			{ | ||||||
| 				"title": "設備名稱", | 				"title": "設備名稱", | ||||||
| 				"data": "sourceName_zh", | 				"data": "sourceName_zh", | ||||||
| 				render: (data) => { | 				"render" : function (data) { | ||||||
| 					return allDevices.find(d => d.device_number === data)?.full_name || "" | 					return allDevices.find(d => d.device_number === data)?.full_name || "" | ||||||
| 				} | 				} | ||||||
| 			}, | 			}, | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user