diff --git a/BackendWorkerService/Quartz/Jobs/ArchiveElectricMeterDayJob.cs b/BackendWorkerService/Quartz/Jobs/ArchiveElectricMeterDayJob.cs index 9842dad..cc860f5 100644 --- a/BackendWorkerService/Quartz/Jobs/ArchiveElectricMeterDayJob.cs +++ b/BackendWorkerService/Quartz/Jobs/ArchiveElectricMeterDayJob.cs @@ -302,6 +302,7 @@ namespace BackendWorkerService.Quartz.Jobs `count_rawdata` int(11) NULL DEFAULT NULL, `min_rawdata` decimal(15, 3) NULL DEFAULT NULL, `max_rawdata` decimal(15, 3) NULL DEFAULT NULL, + `kwh_result` 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:完成', @@ -317,6 +318,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata = @count_rawdata, min_rawdata = @min_rawdata, max_rawdata = @max_rawdata, + kwh_result = @max_rawdata - @min_rawdata, avg_rawdata = @avg_rawdata, sum_rawdata = @sum_rawdata, is_complete = @is_complete, @@ -335,6 +337,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata, min_rawdata, max_rawdata, + kwh_result, avg_rawdata, sum_rawdata, is_complete, @@ -348,6 +351,7 @@ namespace BackendWorkerService.Quartz.Jobs @count_rawdata, @min_rawdata, @max_rawdata, + @max_rawdata - @min_rawdata, @avg_rawdata, @sum_rawdata, @is_complete, @@ -366,6 +370,7 @@ namespace BackendWorkerService.Quartz.Jobs [count_rawdata] [int] NULL, [min_rawdata] [decimal](15, 3) NULL, [max_rawdata] [decimal](15, 3) NULL, + [kwh_result] [decimal](15, 3) NULL, [avg_rawdata] [decimal](15, 3) NULL, [sum_rawdata] [decimal](15, 3) NULL, [is_complete] [tinyint] NULL, @@ -398,6 +403,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata = @count_rawdata, min_rawdata = @min_rawdata, max_rawdata = @max_rawdata, + kwh_result = @max_rawdata - @min_rawdata, avg_rawdata = @avg_rawdata, sum_rawdata = @sum_rawdata, is_complete = @is_complete, @@ -418,6 +424,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata, min_rawdata, max_rawdata, + kwh_result, avg_rawdata, sum_rawdata, is_complete, @@ -431,6 +438,7 @@ namespace BackendWorkerService.Quartz.Jobs @count_rawdata, @min_rawdata, @max_rawdata, + @max_rawdata - @min_rawdata @avg_rawdata, @sum_rawdata, @is_complete, @@ -778,11 +786,11 @@ namespace BackendWorkerService.Quartz.Jobs if (electricArchiveWeekRawDatas.Count() > 0) { var sql = $@" - UPDATE archive_electric_meter_week SET count_rawdata = @count_rawdata, min_rawdata = @min_rawdata, max_rawdata = @max_rawdata, + kwh_result = @max_rawdata - @min_rawdata, avg_rawdata = @avg_rawdata, sum_rawdata = @sum_rawdata, is_complete = @is_complete, @@ -802,6 +810,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata, min_rawdata, max_rawdata, + kwh_result, avg_rawdata, sum_rawdata, is_complete, @@ -815,6 +824,7 @@ namespace BackendWorkerService.Quartz.Jobs @count_rawdata, @min_rawdata, @max_rawdata, + @max_rawdata - @min_rawdata, @avg_rawdata, @sum_rawdata, @is_complete, @@ -829,6 +839,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata = @count_rawdata, min_rawdata = @min_rawdata, max_rawdata = @max_rawdata, + kwh_result = @max_rawdata - @min_rawdata, avg_rawdata = @avg_rawdata, sum_rawdata = @sum_rawdata, is_complete = @is_complete, @@ -849,6 +860,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata, min_rawdata, max_rawdata, + kwh_result, avg_rawdata, sum_rawdata, is_complete, @@ -862,6 +874,7 @@ namespace BackendWorkerService.Quartz.Jobs @count_rawdata, @min_rawdata, @max_rawdata, + @max_rawdata - @min_rawdata, @avg_rawdata, @sum_rawdata, @is_complete, @@ -1163,6 +1176,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata = @count_rawdata, min_rawdata = @min_rawdata, max_rawdata = @max_rawdata, + kwh_result = @max_rawdata - @min_rawdata, avg_rawdata = @avg_rawdata, sum_rawdata = @sum_rawdata, is_complete = @is_complete, @@ -1181,6 +1195,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata, min_rawdata, max_rawdata, + kwh_result, avg_rawdata, sum_rawdata, is_complete, @@ -1194,6 +1209,7 @@ namespace BackendWorkerService.Quartz.Jobs @count_rawdata, @min_rawdata, @max_rawdata, + @max_rawdata - @min_rawdata, @avg_rawdata, @sum_rawdata, @is_complete, @@ -1207,6 +1223,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata = @count_rawdata, min_rawdata = @min_rawdata, max_rawdata = @max_rawdata, + kwh_result = @max_rawdata - @min_rawdata, avg_rawdata = @avg_rawdata, sum_rawdata = @sum_rawdata, is_complete = @is_complete, @@ -1227,6 +1244,7 @@ namespace BackendWorkerService.Quartz.Jobs count_rawdata, min_rawdata, max_rawdata, + kwh_result, avg_rawdata, sum_rawdata, is_complete, @@ -1240,6 +1258,7 @@ namespace BackendWorkerService.Quartz.Jobs @count_rawdata, @min_rawdata, @max_rawdata, + @max_rawdata - @min_rawdata, @avg_rawdata, @sum_rawdata, @is_complete, diff --git a/FrontendWebApi/ApiControllers/HydroMeterController.cs b/FrontendWebApi/ApiControllers/HydroMeterController.cs index 34b4c2c..e67160b 100644 --- a/FrontendWebApi/ApiControllers/HydroMeterController.cs +++ b/FrontendWebApi/ApiControllers/HydroMeterController.cs @@ -98,10 +98,10 @@ namespace FrontendWebApi.ApiControllers if (input.tableType == "year") { sqlGroup = $@" group by year(start_timestamp), year(end_timestamp), device_number "; - sqlAvgRawData = " round(avg(avg_rawdata), 2) as avg_rawdata, year(start_timestamp) as start_timestamp, year(end_timestamp) as end_timestamp "; + sqlAvgRawData = " round(avg(kwh_result), 2) as avg_rawdata, year(start_timestamp) as start_timestamp, year(end_timestamp) as end_timestamp "; } else - sqlAvgRawData = " round(avg_rawdata, 2) as avg_rawdata, start_timestamp, end_timestamp "; + sqlAvgRawData = " round(kwh_result, 2) as avg_rawdata, start_timestamp, end_timestamp "; var table = input.tableType == "year" ? "archive_electric_meter_month" : "archive_electric_meter_" + input.tableType + (input.tableType == "day" ? "_" + dbDateName : ""); var schema = await backendRepository.GetOneAsync($"select system_value from variable where system_type = 'project_name'"); @@ -142,6 +142,7 @@ namespace FrontendWebApi.ApiControllers {sqlWhere} {sqlGroup} ) aemm on aemm.start_timestamp >= {aemmStaDate} and aemm.end_timestamp < {aemmEndDate} and aemm.device_number = fd.device_number order by fd.device_number, fd.date"; + Logger.LogInformation("SQL = " + sql + " startTime=" + startTime + " endTime=" + endTime + " building=" + input.building_tag + " floor_tag = " + input.floor_tag); var rawData = await backendRepository.GetAllAsync(sql, new { startTime = startTime, endtime = endTime, building_tag = input.building_tag, dateFormat = dateFormat }); @@ -561,7 +562,7 @@ namespace FrontendWebApi.ApiControllers ms.Flush(); ms.Seek(0, SeekOrigin.Begin); Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition"); - return File(ms, "application/vnd.ms", "電表報表.xlsx"); + return File(ms, "application/vnd.ms", @$"電表報表{System.DateTime.Now.ToString("yyyyMMddHHmm")}.xlsx"); } [HttpPost] @@ -795,7 +796,7 @@ namespace FrontendWebApi.ApiControllers ms.Flush(); ms.Seek(0, SeekOrigin.Begin); Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition"); - return File(ms, "application/vnd.ms-excel", "電表報表.xlsx"); + return File(ms, "application/vnd.ms-excel", @$"電表報表{System.DateTime.Now.ToString("yyyyMMddHHmm")}.xlsx"); } public static int GetDayInMonth(string yearMonth)