[後端] Niagara 資料同步 修改 sql 語法DeviceComparison

This commit is contained in:
keke 2023-08-22 12:29:40 +08:00
parent 5261de75e2
commit 01d0ad6db1

View File

@ -14,6 +14,7 @@ using Microsoft.Extensions.Primitives;
using System.Web; using System.Web;
using Org.BouncyCastle.Utilities.Collections; using Org.BouncyCastle.Utilities.Collections;
using System.Reflection; using System.Reflection;
using System.Drawing;
namespace Repository.BackendRepository.Implement namespace Repository.BackendRepository.Implement
{ {
@ -326,6 +327,7 @@ namespace Repository.BackendRepository.Implement
device_name_tag = x.Key.device_name_tag2 device_name_tag = x.Key.device_name_tag2
}); });
int count = 0;
foreach (var data in result) foreach (var data in result)
{ {
//開關控制在個別燈具(device_node層) and 小類為二線式照明系統 and tag第八段開頭不是 G //開關控制在個別燈具(device_node層) and 小類為二線式照明系統 and tag第八段開頭不是 G
@ -350,9 +352,17 @@ namespace Repository.BackendRepository.Implement
data.device_serial_tag + "', '" + data.device_serial_tag + "', '" +
data.niagara_tags + "', '" + data.niagara_tags + "', '" +
data.device_system_tag + "', 1, now(), now() );"); data.device_system_tag + "', 1, now(), now() );");
count += 1;
if (count >= 100)
{
await conn.ExecuteAsync(sb.ToString());
sb.Clear();
count = 0;
}
} }
} }
count = 0;
foreach (var data in result2) foreach (var data in result2)
{ {
var sqlString = new StringBuilder(); var sqlString = new StringBuilder();
@ -366,6 +376,13 @@ namespace Repository.BackendRepository.Implement
created_by, created_at) created_by, created_at)
VALUES (uuid(), '" + data.device_building_tag + "', '" + data.device_system_tag + "', '" + data.device_name_tag + VALUES (uuid(), '" + data.device_building_tag + "', '" + data.device_system_tag + "', '" + data.device_name_tag +
"', 0, 0, 1, 0, 'B43E3CA7-96DD-4FC7-B6E6-974ACC3B0878', now());"); "', 0, 0, 1, 0, 'B43E3CA7-96DD-4FC7-B6E6-974ACC3B0878', now());");
count += 1;
if (count >= 100)
{
await conn.ExecuteAsync(sb2.ToString());
sb2.Clear();
count = 0;
}
} }
} }
@ -405,6 +422,7 @@ namespace Repository.BackendRepository.Implement
device_name_tag = x.Key.device_name_tag2 device_name_tag = x.Key.device_name_tag2
}); });
int count = 0;
foreach (var data in result) foreach (var data in result)
{ {
//開關控制在個別燈具(device_node層) and 小類為二線式照明系統 and tag第八段開頭不是 G //開關控制在個別燈具(device_node層) and 小類為二線式照明系統 and tag第八段開頭不是 G
@ -416,6 +434,13 @@ namespace Repository.BackendRepository.Implement
",'" + data.niagara_tags + // device_number ",'" + data.niagara_tags + // device_number
"', '" + data.device_full_name + //full_name "', '" + data.device_full_name + //full_name
"','B43E3CA7-96DD-4FC7-B6E6-974ACC3B0878', now(), now());"); "','B43E3CA7-96DD-4FC7-B6E6-974ACC3B0878', now(), now());");
count += 1;
if (count >= 100)
{
await conn.ExecuteAsync(sb.ToString());
sb.Clear();
count = 0;
}
} }
} }
@ -434,7 +459,7 @@ namespace Repository.BackendRepository.Implement
SELECT niagara_tags SELECT niagara_tags
FROM import_niagara_tag FROM import_niagara_tag
LIMIT 100000 LIMIT 100000
) i ON d.device_number COLLATE utf8mb4_0900_ai_ci = i.niagara_tags COLLATE utf8mb4_0900_ai_ci ) i ON d.device_number = i.niagara_tags
SET d.is_link = 0 SET d.is_link = 0
WHERE d.is_link = 1 and i.niagara_tags is null;"); WHERE d.is_link = 1 and i.niagara_tags is null;");
await conn.ExecuteAsync(sb.ToString()); await conn.ExecuteAsync(sb.ToString());
@ -455,7 +480,8 @@ namespace Repository.BackendRepository.Implement
} }
catch (Exception exception) catch (Exception exception)
{ {
throw exception; //throw exception;
throw;
} }
finally finally
{ {