[BackendWorkerService]修改水電月歸檔最後一天沒紀錄的問題
This commit is contained in:
parent
6c50bdb071
commit
0929c6f21a
@ -799,6 +799,8 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
{
|
||||
var sql = $@"
|
||||
UPDATE archive_electric_meter_month SET
|
||||
start_timestamp = @start_timestamp,
|
||||
end_timestamp = @end_timestamp,
|
||||
count_rawdata = @count_rawdata,
|
||||
min_rawdata = round(@min_rawdata, 2),
|
||||
max_rawdata = round(@max_rawdata, 2),
|
||||
@ -846,6 +848,8 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
var mySql = $@"BEGIN TRANSACTION;
|
||||
|
||||
UPDATE archive_electric_meter_month SET
|
||||
start_timestamp = @start_timestamp,
|
||||
end_timestamp = @end_timestamp,
|
||||
count_rawdata = @count_rawdata,
|
||||
min_rawdata = round(@min_rawdata, 2),
|
||||
max_rawdata = round(@max_rawdata, 2),
|
||||
@ -906,6 +910,8 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
{
|
||||
var sql = $@"
|
||||
UPDATE archive_water_meter_month SET
|
||||
start_timestamp = @start_timestamp,
|
||||
end_timestamp = @end_timestamp,
|
||||
count_rawdata = @count_rawdata,
|
||||
min_rawdata = round(@min_rawdata, 2),
|
||||
max_rawdata = round(@max_rawdata, 2),
|
||||
@ -952,6 +958,8 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
var mySql = $@"BEGIN TRANSACTION;
|
||||
|
||||
UPDATE archive_water_meter_month SET
|
||||
start_timestamp = @start_timestamp,
|
||||
end_timestamp = @end_timestamp,
|
||||
count_rawdata = @count_rawdata,
|
||||
min_rawdata = round(@min_rawdata, 2),
|
||||
max_rawdata = round(@max_rawdata, 2),
|
||||
@ -1330,6 +1338,10 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
}
|
||||
if (waterArchiveDayRawDatas.Count() > 0)
|
||||
{
|
||||
foreach (var row in waterArchiveDayRawDatas)
|
||||
{
|
||||
row.TryGetValue("@start_timestamp", out var yyyymmData);
|
||||
dbDateName = System.DateTime.Parse(yyyymmData.ToString()).ToString("yyyyMM");
|
||||
var sql = $@" UPDATE archive_water_meter_day_{dbDateName} SET
|
||||
count_rawdata = @count_rawdata,
|
||||
min_rawdata = round(@min_rawdata, 2),
|
||||
@ -1470,6 +1482,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
||||
await backgroundServiceMsSqlRepository.ExecuteSql(mySql, waterArchiveDayRawDatas);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -23,6 +23,7 @@ using BackendWorkerService.Quartz.Jobs;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Org.BouncyCastle.Asn1.Pkcs;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using MySqlX.XDevAPI.Relational;
|
||||
|
||||
namespace BackendWorkerService.Services.Implement
|
||||
{
|
||||
@ -995,7 +996,7 @@ namespace BackendWorkerService.Services.Implement
|
||||
//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"));
|
||||
var eDay = string.Format("{0}T00:01:00.000+08:00", day.AddDays(1).ToString("yyyy-MM-dd").Replace(" ", "T"));
|
||||
|
||||
|
||||
string historyQueryFilter = $@"<obj is='obix: HistoryFilter'>
|
||||
@ -1133,18 +1134,27 @@ namespace BackendWorkerService.Services.Implement
|
||||
// 需要比原定日期增加 1天:因 Niagara 內部判斷為 < lastData, 並未包含結束當天 add by jiahao @2023-09-16
|
||||
//var dayInMonth = DateTime.DaysInMonth(day.Year, day.Month) +1; 、、(DateTime.Now - DateTime.Parse(startDay)).Days
|
||||
DateTime today = DateTime.Now;
|
||||
var dayInMonth = (DateTime.Now - DateTime.Parse(today.ToString("yyyy-MM-") + "01")).Days + 1;
|
||||
|
||||
var preDay = today.AddDays(-1); //取得前一天
|
||||
|
||||
var dayInMonth = DateTime.DaysInMonth(preDay.Year, preDay.Month);
|
||||
var FirstDay = new DateTime(preDay.Year, preDay.Month, 1);
|
||||
var LastDay = today;
|
||||
var startTimestamp = string.Format("{0}T00:00:00.000+08:00", FirstDay.ToString("yyyy-MM-dd"));
|
||||
var endTimestamp = string.Format("{0}T00:01:00.000+08:00", LastDay.ToString("yyyy-MM-dd"));
|
||||
|
||||
//var dayInMonth = (DateTime.Now - DateTime.Parse(today.ToString("yyyy-MM-") + "01")).Days + 1;
|
||||
|
||||
|
||||
var startTimestamp = string.Format("{0}T00:00:00.000+08:00", today.ToString("yyyy-MM-") + "01");
|
||||
//var endTimestamp = string.Format("{0}T23:59:59.000+08:00", LastDay.ToString("yyyy-MM-dd"));
|
||||
//var endTimestamp = string.Format("{0}T00:00:10.000+08:00", day.AddMonths(1).ToString("yyyy-MM-") + "01"); // by jiahao @2023-09-26
|
||||
var endTimestamp = string.Format("{0}T00:00:10.000+08:00", DateTime.Now.ToString("yyyy-MM-dd")); // by jiahao @2023-10-03
|
||||
//var startTimestamp = string.Format("{0}T00:00:00.000+08:00", today.ToString("yyyy-MM-") + "01");
|
||||
////var endTimestamp = string.Format("{0}T23:59:59.000+08:00", LastDay.ToString("yyyy-MM-dd"));
|
||||
////var endTimestamp = string.Format("{0}T00:00:10.000+08:00", day.AddMonths(1).ToString("yyyy-MM-") + "01"); // by jiahao @2023-09-26
|
||||
//var endTimestamp = string.Format("{0}T00:00:10.000+08:00", DateTime.Now.ToString("yyyy-MM-dd")); // by jiahao @2023-10-03
|
||||
|
||||
var historyQueryFilter = $@"<obj is='obix: HistoryFilter'>
|
||||
<abstime name='start' val='{startTimestamp}' />
|
||||
<abstime name='end' val='{endTimestamp}' />
|
||||
<reltime name='interval' val = 'PT{dayInMonth.ToString()}D' />
|
||||
<reltime name='interval' val = 'PT{(dayInMonth+1).ToString()}D' />
|
||||
</obj>";
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user