From 43655165980184378cf3508fca1910bf3ef16c69 Mon Sep 17 00:00:00 2001 From: dev02 Date: Mon, 9 Jun 2025 11:15:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AA=BF=E6=95=B4=E5=90=8C=E6=AD=A5=E5=95=8F?= =?UTF-8?q?=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NiagaraDataSynchronizeRepository.cs | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs b/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs index a0d10f8..c0abda1 100644 --- a/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs +++ b/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs @@ -511,7 +511,7 @@ namespace Repository.BackendRepository.Implement sb.Append($@" insert device(device_guid, deleted, status, priority, is_link, device_area_tag, device_building_tag, device_system_tag, device_name_tag, full_name, device_floor_tag, device_master, device_last_name, device_serial_tag, device_model_tag, device_number, device_system_category_layer3, visible, created_at, updated_at) - values(uuid(), 0, 1, 0, 1, '" + + select uuid(), 0, 1, 0, 1, '" + data.device_area_tag + "', '" + data.device_building_tag + "', '" + data.device_system_tag + "', '" + @@ -523,7 +523,8 @@ namespace Repository.BackendRepository.Implement data.device_serial_tag + "', '" + data.device_model_tag + "', '" + data.niagara_tags + "', '" + - data.device_system_tag + "', 1, now(), now() );"); + data.device_system_tag + "', 1, now(), now() " + + $@"WHERE NOT EXISTS ( SELECT 1 FROM device WHERE device_number = '{data.niagara_tags}'); "); count += 1; if (count >= 100) { @@ -1425,17 +1426,13 @@ namespace Repository.BackendRepository.Implement { StringBuilder sb = new StringBuilder(); sb.Append(@"SET SQL_SAFE_UPDATES = 0; - update device d - JOIN ( - select niagara_tags, device_full_name from import_niagara_tag limit 100000 - ) m ON m.niagara_tags = d.device_number - LEFT JOIN ( - SELECT niagara_tags, device_full_name - FROM import_niagara_tag - LIMIT 100000 - ) m2 ON m2.niagara_tags = d.device_number AND m2.device_full_name = d.full_name + UPDATE device d + JOIN ( + SELECT niagara_tags, device_full_name + FROM import_niagara_tag + ) m ON m.niagara_tags = d.device_number SET d.full_name = m.device_full_name - WHERE m2.niagara_tags IS NULL;"); + WHERE d.full_name != m.device_full_name;"); await conn.ExecuteAsync(sb.ToString()); } catch (Exception exception)