diff --git a/BackendWorkerService/Quartz/Jobs/ArchiveElectricMeterDayJob.cs b/BackendWorkerService/Quartz/Jobs/ArchiveElectricMeterDayJob.cs index e3363e5..a7295cb 100644 --- a/BackendWorkerService/Quartz/Jobs/ArchiveElectricMeterDayJob.cs +++ b/BackendWorkerService/Quartz/Jobs/ArchiveElectricMeterDayJob.cs @@ -57,7 +57,7 @@ namespace BackendWorkerService.Quartz.Jobs try { //依據 variable 中的設定,現在是否需要執行 - if(await task_Detail.GetNeedWorkTask("ArchiveElectricMeterDayJob", "All")) + if (await task_Detail.GetNeedWorkTask("ArchiveElectricMeterDayJob", "All")) { await task_Detail.InsertWorkTime("ArchiveElectricMeterDayJob", "All", "任務開始"); EDFunction ed = new EDFunction(); @@ -649,10 +649,10 @@ namespace BackendWorkerService.Quartz.Jobs //收集 niagara 電錶 Data - procEletricMeterService.obixData_collect_range(xmlDocument, electricDeviceNumberPoints, obixApiConfig, encoded, electricArchiveMonthRawDatas); + procEletricMeterService.obixData_collect_range(xmlDocument, electricDeviceNumberPoints, obixApiConfig, encoded, electricArchiveMonthRawDatas); //水錶結果收集 - procEletricMeterService.obixData_collect_range(xmlDocument, waterDeviceNumberPoints, obixApiConfig, encoded, waterArchiveMonthRawDatas); + procEletricMeterService.obixData_collect_range(xmlDocument, waterDeviceNumberPoints, obixApiConfig, encoded, waterArchiveMonthRawDatas); //if (electricMeters.Where(e => e.Device_number == "NTPC_D8_EE_E4_RF_Total_WHT_N1").Count() == 1) //{ @@ -1054,7 +1054,7 @@ namespace BackendWorkerService.Quartz.Jobs } #endregion 補償機制 - await task_Detail.InsertWorkTime_End("ArchiveElectricMeterDayJob", "All","任務完成"); + await task_Detail.InsertWorkTime_End("ArchiveElectricMeterDayJob", "All", "任務完成"); } } catch (Exception exception) @@ -1065,7 +1065,7 @@ namespace BackendWorkerService.Quartz.Jobs } } - private async Task day_proc( ProcEletricMeterService procEletricMeterService, string saveToMSDB, HttpWebResponse archiveResponse, List electricDeviceNumberPoints, List waterDeviceNumberPoints, ObixApiConfig obixApiConfig, string encoded, DateTime startDay, DateTime endDay, string dbDateName) + private async Task day_proc(ProcEletricMeterService procEletricMeterService, string saveToMSDB, HttpWebResponse archiveResponse, List electricDeviceNumberPoints, List waterDeviceNumberPoints, ObixApiConfig obixApiConfig, string encoded, DateTime startDay, DateTime endDay, string dbDateName) { XmlDocument xmlDocument = new XmlDocument(); @@ -1167,10 +1167,10 @@ namespace BackendWorkerService.Quartz.Jobs //水錶結果收集 //procEletricMeterService.obixData_collect(xmlDocument, waterDeviceNumberPoints, obixApiConfig, encoded, startTimestamp, endTimestamp, historyQueryFilter, waterArchiveDayRawDatas); - procEletricMeterService.obixData_collect(xmlDocument, waterDeviceNumberPoints, obixApiConfig, encoded, waterArchiveDayRawDatas, ref dicError); + procEletricMeterService.obixData_collect(xmlDocument, waterDeviceNumberPoints, obixApiConfig, encoded, waterArchiveDayRawDatas, ref dicError); stopWatch.Stop(); - logger.LogInformation(@$"【ArchiveElectricMeterDayJob】【天歸檔】【效能檢驗】[取得資料花費時間]{stopWatch.ElapsedMilliseconds } 毫秒 資料筆數=" + electericArchiveDayRawDatas.Count() ); + logger.LogInformation(@$"【ArchiveElectricMeterDayJob】【天歸檔】【效能檢驗】[取得資料花費時間]{stopWatch.ElapsedMilliseconds} 毫秒 資料筆數=" + electericArchiveDayRawDatas.Count()); if (electericArchiveDayRawDatas.Count() > 0) { @@ -1200,7 +1200,7 @@ namespace BackendWorkerService.Quartz.Jobs foreach (var row in electericArchiveDayRawDatas) { row.TryGetValue("@start_timestamp", out var yyyymmData); - dbDateName = System.DateTime.Parse(yyyymmData.ToString()).ToString("yyyyMM"); + dbDateName = System.DateTime.Parse(yyyymmData.ToString()).ToString("yyyyMM"); var mySql = $@" SET FOREIGN_KEY_CHECKS = 1; UPDATE archive_electric_meter_day_{dbDateName} SET count_rawdata = @count_rawdata, @@ -1592,25 +1592,25 @@ namespace BackendWorkerService.Quartz.Jobs `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` datetime(6) NULL DEFAULT NULL, PRIMARY KEY (`device_number`, `point`, `start_timestamp`) USING BTREE - ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; - - CREATE TABLE IF NOT EXISTS `archive_water_meter_day_{dbDateName}` ( - `device_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `point` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `start_timestamp` datetime(6) NOT NULL, - `end_timestamp` datetime(6) NULL DEFAULT NULL, - `count_rawdata` int(11) NULL DEFAULT NULL, - `min_rawdata` decimal(15, 3) NULL DEFAULT NULL, - `max_rawdata` decimal(15, 3) NULL DEFAULT NULL, - `avg_rawdata` decimal(15, 3) NULL DEFAULT NULL, - `sum_rawdata` decimal(15, 3) NULL DEFAULT NULL, - `is_complete` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '是否完成,0:未完成 1:完成', - `repeat_times` int(11) NULL DEFAULT 0 COMMENT '重複次數', - `fail_reason` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '失敗原因', - `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `updated_at` datetime(6) NULL DEFAULT NULL, - PRIMARY KEY (`device_number`, `point`, `start_timestamp`) USING BTREE - ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;"; + ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;"; + // 明志沒有水錶 + //@"CREATE TABLE IF NOT EXISTS `archive_water_meter_day_{dbDateName}` ( + // `device_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + // `point` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + // `start_timestamp` datetime(6) NOT NULL, + // `end_timestamp` datetime(6) NULL DEFAULT NULL, + // `count_rawdata` int(11) NULL DEFAULT NULL, + // `min_rawdata` decimal(15, 3) NULL DEFAULT NULL, + // `max_rawdata` decimal(15, 3) NULL DEFAULT NULL, + // `avg_rawdata` decimal(15, 3) NULL DEFAULT NULL, + // `sum_rawdata` decimal(15, 3) NULL DEFAULT NULL, + // `is_complete` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '是否完成,0:未完成 1:完成', + // `repeat_times` int(11) NULL DEFAULT 0 COMMENT '重複次數', + // `fail_reason` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '失敗原因', + // `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + // `updated_at` datetime(6) NULL DEFAULT NULL, + // PRIMARY KEY (`device_number`, `point`, `start_timestamp`) USING BTREE + // ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;"; backgroundServiceRepository.ExecuteSql(sql); } catch (Exception exception) diff --git a/BackendWorkerService/Services/Implement/ProcEletricMeterService.cs b/BackendWorkerService/Services/Implement/ProcEletricMeterService.cs index e0fd8e9..322ab9f 100644 --- a/BackendWorkerService/Services/Implement/ProcEletricMeterService.cs +++ b/BackendWorkerService/Services/Implement/ProcEletricMeterService.cs @@ -1192,7 +1192,7 @@ namespace BackendWorkerService.Services.Implement //if (device_number == "NTPC_D8_EE_E4_RF_Total_WHT_N1" || device_number == "NTPC_D8_EE_E4_RF_H2_WHT_N1") //{ - logger.LogError(@$"{device_number} json = {archiveJsonResult}"); + logger.LogInformation(@$"{device_number} json = {archiveJsonResult}"); //} if (archiveJsonResult.ContainsKey("err")) //抓取錯誤 {