[後端] 修改niagara同步 json 轉換問題, 更改資料顯示
This commit is contained in:
parent
db97f5d1c8
commit
65230a579c
@ -592,7 +592,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
{
|
{
|
||||||
await task_Detail.WorkFail("ArchiveElectricMeterDayJob", "Day", exception.ToString());
|
await task_Detail.WorkFail("ArchiveElectricMeterDayJob", "Day", exception.ToString());
|
||||||
logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【任務失敗】");
|
logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【任務失敗】");
|
||||||
logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【任務失敗】[Exception]:{0} {1}", exception.ToString(), "device_number : " + device_number);
|
logger.LogError("【ArchiveElectricMeterDayJob】【天歸檔】【任務失敗】[Exception]:{0}", exception.ToString());
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
@ -959,7 +959,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
{
|
{
|
||||||
await task_Detail.WorkFail("ArchiveElectricMeterDayJob", "Week", exception.ToString());
|
await task_Detail.WorkFail("ArchiveElectricMeterDayJob", "Week", exception.ToString());
|
||||||
logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【任務失敗】");
|
logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【任務失敗】");
|
||||||
logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【任務失敗】[Exception]:{0} {1}", exception.ToString(), "device_number : " + device_number);
|
logger.LogError("【ArchiveElectricMeterDayJob】【週歸檔】【任務失敗】[Exception]:{0}", exception.ToString());
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
@ -1321,7 +1321,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
{
|
{
|
||||||
await task_Detail.WorkFail("ArchiveElectricMeterDayJob", "Month", exception.ToString());
|
await task_Detail.WorkFail("ArchiveElectricMeterDayJob", "Month", exception.ToString());
|
||||||
logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【任務失敗】");
|
logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【任務失敗】");
|
||||||
logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【任務失敗】[Exception]:{0} {1}", exception.ToString(), "device_number : " + device_number);
|
logger.LogError("【ArchiveElectricMeterDayJob】【月歸檔】【任務失敗】[Exception]:{0}", exception.ToString());
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
@ -1424,19 +1424,19 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "min":
|
case "min":
|
||||||
var min = Convert.ToDecimal(real["@val"].ToString());
|
var min = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@min_rawdata", min);
|
arrangeRawData.Add("@min_rawdata", min);
|
||||||
break;
|
break;
|
||||||
case "max":
|
case "max":
|
||||||
var max = Convert.ToDecimal(real["@val"].ToString());
|
var max = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@max_rawdata", max);
|
arrangeRawData.Add("@max_rawdata", max);
|
||||||
break;
|
break;
|
||||||
case "avg":
|
case "avg":
|
||||||
var avg = Convert.ToDecimal(real["@val"].ToString());
|
var avg = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@avg_rawdata", avg);
|
arrangeRawData.Add("@avg_rawdata", avg);
|
||||||
break;
|
break;
|
||||||
case "sum":
|
case "sum":
|
||||||
var sum = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
var sum = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@sum_rawdata", sum);
|
arrangeRawData.Add("@sum_rawdata", sum);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1492,19 +1492,19 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "min":
|
case "min":
|
||||||
var min = Convert.ToDecimal(real["@val"].ToString());
|
var min = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@min_rawdata", min);
|
arrangeRawData.Add("@min_rawdata", min);
|
||||||
break;
|
break;
|
||||||
case "max":
|
case "max":
|
||||||
var max = Convert.ToDecimal(real["@val"].ToString());
|
var max = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@max_rawdata", max);
|
arrangeRawData.Add("@max_rawdata", max);
|
||||||
break;
|
break;
|
||||||
case "avg":
|
case "avg":
|
||||||
var avg = Convert.ToDecimal(real["@val"].ToString());
|
var avg = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@avg_rawdata", avg);
|
arrangeRawData.Add("@avg_rawdata", avg);
|
||||||
break;
|
break;
|
||||||
case "sum":
|
case "sum":
|
||||||
var sum = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
var sum = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@sum_rawdata", sum);
|
arrangeRawData.Add("@sum_rawdata", sum);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1524,7 +1524,9 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
logger.LogError("【ArchiveElectricMeterDayJob】【任務失敗】");
|
logger.LogError("【ArchiveElectricMeterDayJob】【任務失敗】");
|
||||||
logger.LogError("【ArchiveElectricMeterDayJob】【任務失敗】[Exception]:{0} {1}", exception.ToString(), "device_number : " + deviceNumberPoint.FullDeviceNumberPoint);
|
logger.LogError("【ArchiveElectricMeterDayJob】【任務失敗】[Exception]:{0}", exception.ToString());
|
||||||
|
logger.LogError("【ArchiveElectricMeterDayJob】【任務失敗】[device_number]:{0}", deviceNumberPoint.FullDeviceNumberPoint);
|
||||||
|
logger.LogError("【ArchiveElectricMeterDayJob】【任務失敗】[JsonString]:{0}", jsonResult.ToString());
|
||||||
return arrangeRawDatas;
|
return arrangeRawDatas;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -855,15 +855,15 @@ namespace BackendWorkerService.Services.Implement
|
|||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "min":
|
case "min":
|
||||||
var min = Convert.ToDecimal(real["@val"].ToString());
|
var min = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@min_rawdata", min);
|
arrangeRawData.Add("@min_rawdata", min);
|
||||||
break;
|
break;
|
||||||
case "max":
|
case "max":
|
||||||
var max = Convert.ToDecimal(real["@val"].ToString());
|
var max = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@max_rawdata", max);
|
arrangeRawData.Add("@max_rawdata", max);
|
||||||
break;
|
break;
|
||||||
case "avg":
|
case "avg":
|
||||||
var avg = Convert.ToDecimal(real["@val"].ToString());
|
var avg = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@avg_rawdata", avg);
|
arrangeRawData.Add("@avg_rawdata", avg);
|
||||||
break;
|
break;
|
||||||
case "sum":
|
case "sum":
|
||||||
@ -923,15 +923,15 @@ namespace BackendWorkerService.Services.Implement
|
|||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "min":
|
case "min":
|
||||||
var min = Convert.ToDecimal(real["@val"].ToString());
|
var min = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@min_rawdata", min);
|
arrangeRawData.Add("@min_rawdata", min);
|
||||||
break;
|
break;
|
||||||
case "max":
|
case "max":
|
||||||
var max = Convert.ToDecimal(real["@val"].ToString());
|
var max = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@max_rawdata", max);
|
arrangeRawData.Add("@max_rawdata", max);
|
||||||
break;
|
break;
|
||||||
case "avg":
|
case "avg":
|
||||||
var avg = Convert.ToDecimal(real["@val"].ToString());
|
var avg = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@avg_rawdata", avg);
|
arrangeRawData.Add("@avg_rawdata", avg);
|
||||||
break;
|
break;
|
||||||
case "sum":
|
case "sum":
|
||||||
|
@ -162,7 +162,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
HistoryExport hed = new HistoryExport();
|
HistoryExport hed = new HistoryExport();
|
||||||
hed.type = devicePoint.Where(x => x.device_building_tag == d.building_tag && x.points == ard["@point"].ToString()).Select(x => x.full_name).FirstOrDefault();
|
hed.type = devicePoint.Where(x => x.device_building_tag == d.building_tag && x.points == ard["@point"].ToString()).Select(x => x.full_name).FirstOrDefault();
|
||||||
hed.deviceName = device.Where(x => x.device_number == ard["@device_number"].ToString()).Select(x => x.full_name).FirstOrDefault();
|
hed.deviceName = device.Where(x => x.device_number == ard["@device_number"].ToString()).Select(x => x.full_name).FirstOrDefault();
|
||||||
hed.value = (double)((decimal)ard["@avg_rawdata"]);
|
hed.value = ard["@avg_rawdata"].ToString() == "-1" ? "NaN" : Math.Round((decimal.Parse(ard["@avg_rawdata"].ToString(), System.Globalization.NumberStyles.Float)), 2).ToString();
|
||||||
hed.timestamp = Convert.ToDateTime(ard["@start_timestamp"].ToString());
|
hed.timestamp = Convert.ToDateTime(ard["@start_timestamp"].ToString());
|
||||||
hed.building_tag = d.building_tag;
|
hed.building_tag = d.building_tag;
|
||||||
he.Add(hed);
|
he.Add(hed);
|
||||||
@ -451,7 +451,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
List<DeviceItem> deviceItems = new List<DeviceItem>();
|
List<DeviceItem> deviceItems = new List<DeviceItem>();
|
||||||
var main_system_value = hf.device_number.Split('_')[2];
|
var main_system_value = hf.device_number.Split('_')[2];
|
||||||
var sub_system_value = hf.device_number.Split('_')[3];
|
var sub_system_value = hf.device_number.Split('_')[3];
|
||||||
var building_tag = hf.device_number.Split('_')[1];
|
var building_tag = char.IsDigit(hf.device_number.Split('_')[1][0]) ? "$3" + hf.device_number.Split('_')[1] : hf.device_number.Split('_')[1];
|
||||||
var sqlString = $@"select * from device_item where deleted = 0 and device_system_tag = @main_system_value and device_name_tag = @sub_system_value and is_show_history = 1 and device_building_tag = @building_tag";
|
var sqlString = $@"select * from device_item where deleted = 0 and device_system_tag = @main_system_value and device_name_tag = @sub_system_value and is_show_history = 1 and device_building_tag = @building_tag";
|
||||||
deviceItems = await frontendRepository.GetAllAsync<DeviceItem>(sqlString, new { @main_system_value = main_system_value, @sub_system_value = sub_system_value, building_tag = building_tag });
|
deviceItems = await frontendRepository.GetAllAsync<DeviceItem>(sqlString, new { @main_system_value = main_system_value, @sub_system_value = sub_system_value, building_tag = building_tag });
|
||||||
|
|
||||||
@ -1391,19 +1391,19 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "min":
|
case "min":
|
||||||
var min = Convert.ToDecimal(real["@val"].ToString());
|
var min = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@min_rawdata", min);
|
arrangeRawData.Add("@min_rawdata", min);
|
||||||
break;
|
break;
|
||||||
case "max":
|
case "max":
|
||||||
var max = Convert.ToDecimal(real["@val"].ToString());
|
var max = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@max_rawdata", max);
|
arrangeRawData.Add("@max_rawdata", max);
|
||||||
break;
|
break;
|
||||||
case "avg":
|
case "avg":
|
||||||
var avg = Convert.ToDecimal(real["@val"].ToString());
|
var avg = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@avg_rawdata", avg);
|
arrangeRawData.Add("@avg_rawdata", avg);
|
||||||
break;
|
break;
|
||||||
case "sum":
|
case "sum":
|
||||||
var sum = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
var sum = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@sum_rawdata", sum);
|
arrangeRawData.Add("@sum_rawdata", sum);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1459,19 +1459,19 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "min":
|
case "min":
|
||||||
var min = Convert.ToDecimal(real["@val"].ToString());
|
var min = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@min_rawdata", min);
|
arrangeRawData.Add("@min_rawdata", min);
|
||||||
break;
|
break;
|
||||||
case "max":
|
case "max":
|
||||||
var max = Convert.ToDecimal(real["@val"].ToString());
|
var max = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@max_rawdata", max);
|
arrangeRawData.Add("@max_rawdata", max);
|
||||||
break;
|
break;
|
||||||
case "avg":
|
case "avg":
|
||||||
var avg = Convert.ToDecimal(real["@val"].ToString());
|
var avg = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@avg_rawdata", avg);
|
arrangeRawData.Add("@avg_rawdata", avg);
|
||||||
break;
|
break;
|
||||||
case "sum":
|
case "sum":
|
||||||
var sum = Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
var sum = real["@val"].ToString() == "NaN" ? -1 : Decimal.Parse(real["@val"].ToString(), System.Globalization.NumberStyles.Float);
|
||||||
arrangeRawData.Add("@sum_rawdata", sum);
|
arrangeRawData.Add("@sum_rawdata", sum);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
var aemmEndDate = input.tableType == "year" ? $"year(DATE_ADD(fd.date, INTERVAL +1 {input.tableType}))" : $"DATE_ADD(fd.date, INTERVAL +1 {input.tableType})";
|
var aemmEndDate = input.tableType == "year" ? $"year(DATE_ADD(fd.date, INTERVAL +1 {input.tableType}))" : $"DATE_ADD(fd.date, INTERVAL +1 {input.tableType})";
|
||||||
var aemmStaDate = input.tableType == "year" ? "year(fd.date)" : "fd.date";
|
var aemmStaDate = input.tableType == "year" ? "year(fd.date)" : "fd.date";
|
||||||
var sql = $@"set @i = -1;
|
var sql = $@"set @i = -1;
|
||||||
select fd.device_number, aemm.avg_rawdata, DATE_FORMAT(fd.date, @dateFormat) as timestamp
|
select fd.device_number, case when aemm.avg_rawdata = -1 then 'NaN' when aemm.avg_rawdata is null then 0.00 else aemm.avg_rawdata end as avg_rawdata, DATE_FORMAT(fd.date, @dateFormat) as timestamp
|
||||||
from (
|
from (
|
||||||
select *
|
select *
|
||||||
from (
|
from (
|
||||||
@ -164,7 +164,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
foreach (var l in list)
|
foreach (var l in list)
|
||||||
{
|
{
|
||||||
l.rawData = new List<HydroMeterRawDataOutput>();
|
l.rawData = new List<HydroMeterRawDataOutput>();
|
||||||
l.device_full_name = await backendRepository.GetOneAsync<string>($"select full_name from device where device_number = '{l.device_number}' and deleted = 0");
|
l.device_full_name = await backendRepository.GetOneAsync<string>($"select full_name from device where device_number = '{l.device_number}'");
|
||||||
if (tag_quantity == "5")
|
if (tag_quantity == "5")
|
||||||
{
|
{
|
||||||
l.rawData.AddRange(
|
l.rawData.AddRange(
|
||||||
@ -179,7 +179,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
}
|
}
|
||||||
l.building_name = await backendRepository.GetOneAsync<string>("select full_name from building where building_tag = @building_tag and deleted = 0",
|
l.building_name = await backendRepository.GetOneAsync<string>("select full_name from building where building_tag = @building_tag and deleted = 0",
|
||||||
new { building_tag = l.building_tag });
|
new { building_tag = l.building_tag });
|
||||||
l.total = l.rawData.Sum(x => x.avg_rawdata).ToString();
|
l.total = l.rawData.Where(x => x.avg_rawdata != "NaN").Sum(x => decimal.Parse(x.avg_rawdata ?? "0", System.Globalization.NumberStyles.Float)).ToString();
|
||||||
l.price = input.price.HasValue
|
l.price = input.price.HasValue
|
||||||
? (Math.Round(input.price.Value, 2)).ToString()
|
? (Math.Round(input.price.Value, 2)).ToString()
|
||||||
: Math.Round((await backendRepository.GetOneAsync<decimal>("select system_value from variable where system_type = 'ElectricPrice' and deleted = 0")), 2).ToString();
|
: Math.Round((await backendRepository.GetOneAsync<decimal>("select system_value from variable where system_type = 'ElectricPrice' and deleted = 0")), 2).ToString();
|
||||||
@ -289,7 +289,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
var aemmEndDate = input.tableType == "year" ? $"year(DATE_ADD(fd.date, INTERVAL +1 {input.tableType}))" : $"DATE_ADD(fd.date, INTERVAL +1 {input.tableType})";
|
var aemmEndDate = input.tableType == "year" ? $"year(DATE_ADD(fd.date, INTERVAL +1 {input.tableType}))" : $"DATE_ADD(fd.date, INTERVAL +1 {input.tableType})";
|
||||||
var aemmStaDate = input.tableType == "year" ? "year(fd.date)" : "fd.date";
|
var aemmStaDate = input.tableType == "year" ? "year(fd.date)" : "fd.date";
|
||||||
var sql = $@"set @i = -1;
|
var sql = $@"set @i = -1;
|
||||||
select fd.device_number, aemm.avg_rawdata, DATE_FORMAT(fd.date, @dateFormat) as timestamp
|
select fd.device_number, case when aemm.avg_rawdata = -1 then 'NaN' when aemm.avg_rawdata is null then 0.00 else aemm.avg_rawdata end as avg_rawdata, DATE_FORMAT(fd.date, @dateFormat) as timestamp
|
||||||
from (
|
from (
|
||||||
select *
|
select *
|
||||||
from (
|
from (
|
||||||
@ -337,7 +337,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
foreach (var l in list)
|
foreach (var l in list)
|
||||||
{
|
{
|
||||||
l.rawData = new List<HydroMeterRawDataOutput>();
|
l.rawData = new List<HydroMeterRawDataOutput>();
|
||||||
l.device_full_name = await backendRepository.GetOneAsync<string>($"select full_name from device where device_number = '{l.device_number}' and deleted = 0");
|
l.device_full_name = await backendRepository.GetOneAsync<string>($"select full_name from device where device_number = '{l.device_number}'");
|
||||||
if (tag_quantity == "5")
|
if (tag_quantity == "5")
|
||||||
{
|
{
|
||||||
l.rawData.AddRange(
|
l.rawData.AddRange(
|
||||||
@ -352,7 +352,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
}
|
}
|
||||||
l.building_name = await backendRepository.GetOneAsync<string>("select full_name from building where building_tag = @building_tag and deleted = 0",
|
l.building_name = await backendRepository.GetOneAsync<string>("select full_name from building where building_tag = @building_tag and deleted = 0",
|
||||||
new { building_tag = l.building_tag });
|
new { building_tag = l.building_tag });
|
||||||
l.total = l.rawData.Sum(x => x.avg_rawdata).ToString();
|
l.total = l.rawData.Where(x => x.avg_rawdata != "NaN").Sum(x => decimal.Parse(x.avg_rawdata, System.Globalization.NumberStyles.Float)).ToString();
|
||||||
l.price = input.price.HasValue
|
l.price = input.price.HasValue
|
||||||
? (Math.Round(input.price.Value, 2)).ToString()
|
? (Math.Round(input.price.Value, 2)).ToString()
|
||||||
: Math.Round((await backendRepository.GetOneAsync<decimal>("select system_value from variable where system_type = 'WaterPrice' and deleted = 0")), 2).ToString();
|
: Math.Round((await backendRepository.GetOneAsync<decimal>("select system_value from variable where system_type = 'WaterPrice' and deleted = 0")), 2).ToString();
|
||||||
|
@ -292,7 +292,7 @@ namespace FrontendWebApi.Models
|
|||||||
public class HistoryExport
|
public class HistoryExport
|
||||||
{
|
{
|
||||||
public string deviceName { get; set; }
|
public string deviceName { get; set; }
|
||||||
public double value { get; set; }
|
public string value { get; set; }
|
||||||
public DateTime timestamp { get; set; }
|
public DateTime timestamp { get; set; }
|
||||||
public DateTime starttime { get; set; }
|
public DateTime starttime { get; set; }
|
||||||
public DateTime? endtime { get; set; }
|
public DateTime? endtime { get; set; }
|
||||||
|
@ -37,7 +37,7 @@ namespace FrontendWebApi.Models
|
|||||||
{
|
{
|
||||||
public string timeStamp { get; set; }
|
public string timeStamp { get; set; }
|
||||||
public string device_number { get; set; }
|
public string device_number { get; set; }
|
||||||
public decimal avg_rawdata { get; set; }
|
public string avg_rawdata { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class HydroMeterPriceInput
|
public class HydroMeterPriceInput
|
||||||
|
Loading…
Reference in New Issue
Block a user