[Backend]改善同步timeout、是否顯示歷史資料問題
This commit is contained in:
parent
5766931a1f
commit
f5d08d9fa9
@ -254,7 +254,8 @@ CREATE TABLE `import_niagara_item` (
|
||||
row.device_point_name + "', '" +
|
||||
row.parent_path + "', '" +
|
||||
row.full_name + "'," +
|
||||
row.isHistory + ", now() " +
|
||||
"true" + ", now() " +
|
||||
//row.isHistory + ", now() " +
|
||||
");";
|
||||
sb.Append(ss);
|
||||
}
|
||||
@ -293,12 +294,11 @@ CREATE TABLE `import_niagara_item` (
|
||||
using (IDbConnection conn = GetDbConnection())
|
||||
{
|
||||
conn.Open();
|
||||
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
//改成每次都新增
|
||||
string sql = @"SET NAMES utf8mb4;
|
||||
|
||||
//改成每次都新增
|
||||
string sql = @"SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
@ -306,74 +306,108 @@ SET FOREIGN_KEY_CHECKS = 0;
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `import_niagara_item_history`;
|
||||
CREATE TABLE `import_niagara_item_history` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`device_area_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_building_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_system_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_name_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_floor_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_master_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_last_name_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_serial_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_point_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`parent_path` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`is_history` bit(1) NULL DEFAULT b'0',
|
||||
`full_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`check_status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 271 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`device_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '完整 TagName 設備編號',
|
||||
`device_area_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_building_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_system_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_name_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_floor_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_master_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_last_name_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_serial_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`device_point_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`parent_path` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`is_history` bit(1) NULL DEFAULT b'0',
|
||||
`full_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`check_status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_device_number` (`device_number`)
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;";
|
||||
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||
{
|
||||
await conn.ExecuteAsync(sql);
|
||||
}
|
||||
|
||||
#region 刪除 import_niagara_item資料表中選取的棟別
|
||||
//foreach (var b in building)
|
||||
//{
|
||||
#region 刪除 import_niagara_item資料表中選取的棟別
|
||||
//foreach (var b in building)
|
||||
//{
|
||||
|
||||
// sql = "delete from import_niagara_item_history where device_building_tag = '" + b + "'";
|
||||
// await conn.ExecuteAsync(sql);
|
||||
//}
|
||||
#endregion
|
||||
// sql = "delete from import_niagara_item_history where device_building_tag = '" + b + "'";
|
||||
// await conn.ExecuteAsync(sql);
|
||||
//}
|
||||
#endregion
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int count = 0;
|
||||
#region 放入import_niagara_item資料表
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
#region 放入import_niagara_item資料表
|
||||
foreach (var row in ds)
|
||||
string ss = string.Empty;
|
||||
foreach (var row in ds)
|
||||
{
|
||||
if (count == 0)
|
||||
{
|
||||
string ss = $@" insert import_niagara_item_history(device_area_tag, device_building_tag, device_system_tag, device_name_tag,
|
||||
device_floor_tag, device_master_tag, device_last_name_tag, device_serial_tag, device_point_name, parent_path, full_name, is_history, created_at)
|
||||
values('" +
|
||||
row.device_area_tag + "', '" +
|
||||
row.device_building_tag + "', '" +
|
||||
row.device_system_tag + "', '" +
|
||||
row.device_name_tag + "', '" +
|
||||
row.device_floor_tag + "', '" +
|
||||
row.device_master_tag + "', '" +
|
||||
row.device_last_name_tag + "', '" +
|
||||
row.device_serial_tag + "', '" +
|
||||
row.device_point_name + "', '" +
|
||||
row.parent_path + "', '" +
|
||||
row.full_name + "'," +
|
||||
row.isHistory + ", now() " +
|
||||
");";
|
||||
sb.Append(ss);
|
||||
ss = @"insert import_niagara_item_history(device_area_tag, device_building_tag, device_system_tag, device_name_tag, device_floor_tag, device_master_tag,
|
||||
device_last_name_tag, device_serial_tag, device_point_name, parent_path, full_name, is_history, created_at) values";
|
||||
}
|
||||
if (sb.Length > 0)
|
||||
|
||||
ss += $@" ('" +
|
||||
row.device_area_tag + "', '" +
|
||||
row.device_building_tag + "', '" +
|
||||
row.device_system_tag + "', '" +
|
||||
row.device_name_tag + "', '" +
|
||||
row.device_floor_tag + "', '" +
|
||||
row.device_master_tag + "', '" +
|
||||
row.device_last_name_tag + "', '" +
|
||||
row.device_serial_tag + "', '" +
|
||||
row.device_point_name + "', '" +
|
||||
row.parent_path + "', '" +
|
||||
row.full_name + "'," +
|
||||
"true" + ", now() " +
|
||||
")";
|
||||
|
||||
count++;
|
||||
if (count == 100)
|
||||
{
|
||||
ss += ";";
|
||||
sb.Append(ss);
|
||||
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||
{
|
||||
await conn.ExecuteAsync(sb.ToString());
|
||||
}
|
||||
sb.Clear();
|
||||
ss = string.Empty;
|
||||
count = 0;
|
||||
}
|
||||
else
|
||||
ss += ",";
|
||||
}
|
||||
|
||||
sb.Append(ss);
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
sb.Clear();
|
||||
ss = ss.Remove(ss.Length - 1);
|
||||
ss += ";";
|
||||
sb.Append(ss);
|
||||
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||
{
|
||||
await conn.ExecuteAsync(sb.ToString());
|
||||
sb.Clear();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
throw exception;
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
sb.Clear();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
throw exception;
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user