[FE API] 更新總表比較查詢,更新 API 名稱

This commit is contained in:
keke 2023-08-28 12:45:01 +08:00
parent 0ec343d5e5
commit b479e1d5c5

View File

@ -836,7 +836,7 @@ namespace FrontendWebApi.ApiControllers
}
input.building_tag = fix_buildingTag.ToString().TrimEnd(',', ' ');
result.Add(ElectricList_keke(input).Result.Value.Data.ToList());
result.Add(ElectricListEachTotal(input).Result.Value.Data.ToList());
// --- 8/24 修改到這裡囉 ---
@ -996,8 +996,8 @@ namespace FrontendWebApi.ApiControllers
}
[HttpPost]
[Route("api/ElectricList_keke")]
public async Task<ActionResult<ApiResult<List<HydroMeterOutput>>>> ElectricList_keke([FromBody] HydroMeterInput input)
[Route("api/ElectricListEachTotal")]
public async Task<ActionResult<ApiResult<List<HydroMeterOutput>>>> ElectricListEachTotal([FromBody] HydroMeterInput input)
{
//switch (input.Mode)
@ -1051,14 +1051,27 @@ namespace FrontendWebApi.ApiControllers
string buildingSql = "";
string tag_quantity = await backendRepository.GetOneAsync<string>("select system_value from variable where system_type = 'obixConfig' and system_key = 'tag_quantity' and deleted = 0");
switch (input.Mode)
{
case HydroMeterInputSearchMode.All:
break;
case HydroMeterInputSearchMode.Custom:
sqlWhere = @$" and device_number in (SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(system_value, '/', -1), '_', 8) COLLATE utf8mb4_0900_ai_ci as val FROM variable where system_type = 'dashboard_total_elec')";
break;
default:
break;
}
// 將棟別字串前處理 (後續 SQL 語法可以使用 IN 的格式)
//string[] parts_buildingTag = input.building_tag.Split(',');
//StringBuilder fix_buildingTag = new StringBuilder();
//foreach (string part in parts_buildingTag)
//{
// fix_buildingTag.Append("'").Append(part.Trim()).Append("', ");
//}
//input.building_tag = fix_buildingTag.ToString().TrimEnd(',', ' ');
string[] parts_buildingtag = input.building_tag.Split(',');
StringBuilder fix_buildingtag = new StringBuilder();
foreach (string part in parts_buildingtag)
{
fix_buildingtag.Append("'").Append(part.Trim()).Append("', ");
}
input.building_tag = fix_buildingtag.ToString().TrimEnd(',', ' ');
if (tag_quantity == "5")
buildingSql = @$" and SUBSTRING_INDEX(device_number, '_', 1) in ({input.building_tag}) ";
@ -1095,7 +1108,7 @@ from (
select device_number
from {table}
where start_timestamp >= @startTime and end_timestamp < @endTime and point = 'KWH' {buildingSql}
{sqlWhere}
{sqlWhere}
group by device_number
) dn
)