[後端] 修改同步重複問題, 修改前台api新需求, 修改model 衝突問題

This commit is contained in:
dev02 2024-03-04 16:17:45 +08:00
parent a848dac30a
commit 8914bb7ac2
3 changed files with 24 additions and 2 deletions

View File

@ -82,7 +82,6 @@ namespace Backend.Models
public List<DeviceDisaster> Device_disasters { get; set; } //防災類型 public List<DeviceDisaster> Device_disasters { get; set; } //防災類型
public List<DeviceNode> Device_nodes { get; set; } //設備子節點 public List<DeviceNode> Device_nodes { get; set; } //設備子節點
public System.DateTime created_at { get; set; }
/// <summary> /// <summary>
/// 前次成功日期;下次重新歸檔日期 /// 前次成功日期;下次重新歸檔日期
/// </summary> /// </summary>

View File

@ -520,7 +520,7 @@ namespace FrontendWebApi.ApiControllers
{ {
if (!string.IsNullOrEmpty(projectName) && projectName.Contains("ibms_dome") && (post.main_system_tag == "S" && post.sub_system_tag == "P")) if (!string.IsNullOrEmpty(projectName) && projectName.Contains("ibms_dome") && (post.main_system_tag == "S" && post.sub_system_tag == "P"))
{ {
sub_system_guidsql = $@" and (d.device_name_tag = '{post.sub_system_tag}' or d.device_name_tag = 'B')"; sub_system_guidsql = $@" and (d.device_name_tag = '{post.sub_system_tag}' or d.device_name_tag = 'B') and d.device_number not like '%ATS%'";
singleSubSql = $"and (di.device_name_tag = '{post.sub_system_tag}' or di.device_name_tag = 'B')"; singleSubSql = $"and (di.device_name_tag = '{post.sub_system_tag}' or di.device_name_tag = 'B')";
} }
else else

View File

@ -407,11 +407,34 @@ namespace Repository.BackendRepository.Implement
{ {
await conn.ExecuteAsync(sb.ToString()); await conn.ExecuteAsync(sb.ToString());
} }
stopwatchSection.Stop(); stopwatchSection.Stop();
await KeepTimeLog("update device_item parent_path", stopwatchSection.ElapsedMilliseconds); await KeepTimeLog("update device_item parent_path", stopwatchSection.ElapsedMilliseconds);
stopwatch.Stop(); stopwatch.Stop();
await KeepTimeLog("InsertItemFromNiagara", stopwatch.ElapsedMilliseconds); await KeepTimeLog("InsertItemFromNiagara", stopwatch.ElapsedMilliseconds);
//delete the same point in
await conn.ExecuteAsync(@"DELETE ini1
FROM import_niagara_item ini1
JOIN (
SELECT DISTINCT ini1.id
FROM import_niagara_item ini1
JOIN import_niagara_item ini2 ON ini1.id != ini2.id
AND ini1.device_building_tag = ini2.device_building_tag
AND ini1.device_system_tag = ini2.device_system_tag
AND ini1.device_name_tag = ini2.device_name_tag
AND ini1.device_point_name = ini2.device_point_name
AND ini1.full_name = ini2.full_name
AND ini1.parent_path = ini2.parent_path
AND ini1.is_history = ini2.is_history
WHERE ini1.id NOT IN (
SELECT MIN(id)
FROM import_niagara_item
GROUP BY device_building_tag, device_system_tag, device_name_tag, device_point_name, full_name
HAVING COUNT(device_point_name) > 1
)
) AS to_delete ON ini1.id = to_delete.id;");
#endregion #endregion
} }
catch (Exception exception) catch (Exception exception)