diff --git a/Backend/Controllers/MybaseController.cs b/Backend/Controllers/MybaseController.cs index 4cb7fb4..6db4590 100644 --- a/Backend/Controllers/MybaseController.cs +++ b/Backend/Controllers/MybaseController.cs @@ -95,7 +95,8 @@ namespace Backend.Controllers { "@created_by", myUserInfo.Userinfo_guid} }; - backendRepository.InsertOperatorLog(operatorLog, "operation_back_log"); + if (actionName != "CompareData" && controllerName != "NiagaraDataSynchronize") //skip the log + backendRepository.InsertOperatorLog(operatorLog, "operation_back_log"); //operatorLogRepository.Add(operatorLog, properties); #endregion diff --git a/Backend/Controllers/NiagaraDataSynchronizeController.cs b/Backend/Controllers/NiagaraDataSynchronizeController.cs index 8209ed9..692f525 100644 --- a/Backend/Controllers/NiagaraDataSynchronizeController.cs +++ b/Backend/Controllers/NiagaraDataSynchronizeController.cs @@ -8,6 +8,7 @@ using Microsoft.Extensions.Logging; using Backend.Services; using Backend.Services.Implement; using Repository.Models; +using System.Linq; namespace Backend.Controllers { @@ -69,13 +70,14 @@ namespace Backend.Controllers /// /// [HttpPost] - public async Task> CompareData(List ds, string building) + public async Task> CompareData([FromBody] List ds) { bool result = false; + ApiResult apiResult = new ApiResult(); try { - + var building = ds.FirstOrDefault().building; await niagaraDataSynchronizeRepository.InsertNiagaraTagList(ds, building); await niagaraDataSynchronizeRepository.InsertItemFromNiagara(ds, building); await niagaraDataSynchronizeRepository.DeviceComparison(); diff --git a/Backend/Views/NiagaraDataSynchronize/Index.cshtml b/Backend/Views/NiagaraDataSynchronize/Index.cshtml index ac25e57..75ccf70 100644 --- a/Backend/Views/NiagaraDataSynchronize/Index.cshtml +++ b/Backend/Views/NiagaraDataSynchronize/Index.cshtml @@ -144,20 +144,29 @@ //比對資料,有差異的話,再同步到device等資料表 var url_synchronize_data = "/NiagaraDataSynchronize/CompareData/"; - var send_data = { - ds: ds, - building: building - } - $.post(url_synchronize_data, send_data, function (rel) { - if (rel.code != "0000") { - toast_error(rel.msg); - document.getElementById('loadDataText').innerText = "比對資料出錯了!"; - return; - } - var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds(); - var dateTime = date + ' ' + time; - document.getElementById('loadDataText').innerText = "比對完成 \n" + dateTime; - }, 'json'); + $.each(ds, function (i, v) { + v.building = building; + }) + + $.ajax({ + method: "POST", + url: url_synchronize_data, + data: JSON.stringify(ds), + cache: false, + async: false, + contentType: "application/json; charset=UTF-8", + dataType: 'json', + success: function (rel) { + if (rel.code != "0000") { + toast_error(rel.msg); + document.getElementById('loadDataText').innerText = "比對資料出錯了!"; + return; + } + var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds(); + var dateTime = date + ' ' + time; + document.getElementById('loadDataText').innerText = "比對完成 \n" + dateTime; + }, + }); } else { document.getElementById('loadDataText').innerText = "查無資料 無法比對!"; diff --git a/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs b/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs index 18e2e45..9522f55 100644 --- a/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs +++ b/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs @@ -10,7 +10,6 @@ using System.Threading.Tasks; using System.Transactions; using Repository.Models; - namespace Repository.BackendRepository.Implement { public class NiagaraDataSynchronizeRepository : BackendRepository, INiagaraDataSynchronizeRepository @@ -389,15 +388,22 @@ namespace Repository.BackendRepository.Implement { foreach (var data in result) { + StringBuilder sqlString = new StringBuilder(); + sqlString.Append(@"select * from building_menu where building_tag = '" + data.device_building_tag + "' and main_system_tag = '" + data.device_system_tag + "' and sub_system_tag = '" + data.device_name_tag + "'"); + var bm = (await conn.QueryAsync(sqlString.ToString())).ToList(); + #region insert building_menu - sb.Append(@"insert building_menu(building_tag, main_system_tag, sub_system_tag, device_building_tag, device_system_tag, - is_link, created_by, created_at, updated_by, updated_at) - VALUES ('" + data.device_building_tag + "', '" + - data.device_system_tag + "', '" + - data.device_name_tag + "', '" + - data.device_building_tag + "', '" + - data.device_system_tag + "', " + - "1, 'B43E3CA7-96DD-4FC7-B6E6-974ACC3B0878', now(), 'B43E3CA7-96DD-4FC7-B6E6-974ACC3B0878', now() );"); + if (bm.Count == 0) + { + sb.Append(@"insert building_menu(building_tag, main_system_tag, sub_system_tag, device_building_tag, device_system_tag, + is_link, created_by, created_at, updated_by, updated_at) + VALUES ('" + data.device_building_tag + "', '" + + data.device_system_tag + "', '" + + data.device_name_tag + "', '" + + data.device_building_tag + "', '" + + data.device_system_tag + "', " + + "1, 'B43E3CA7-96DD-4FC7-B6E6-974ACC3B0878', now(), 'B43E3CA7-96DD-4FC7-B6E6-974ACC3B0878', now() );"); + } #endregion } if (sb.Length > 0) diff --git a/Repository/Models/BackgroundServiceTask.cs b/Repository/Models/BackgroundServiceTask.cs index fafd4d4..d81f8d6 100644 --- a/Repository/Models/BackgroundServiceTask.cs +++ b/Repository/Models/BackgroundServiceTask.cs @@ -47,6 +47,7 @@ namespace Repository.Models public string value { get; set; } public string tag_name { get; set; } public string point_name { get; set; } + public string building { get; set; } } public class Device_item8 @@ -93,4 +94,10 @@ namespace Repository.Models public string device_point_name { get; set; } } + public class building_menu + { + public string building_tag { get; set; } + public string device_system_tag { get; set; } + public string device_name_tag { get; set; } + } }