[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.device_point_name + "', '" +
|
||||||
row.parent_path + "', '" +
|
row.parent_path + "', '" +
|
||||||
row.full_name + "'," +
|
row.full_name + "'," +
|
||||||
row.isHistory + ", now() " +
|
"true" + ", now() " +
|
||||||
|
//row.isHistory + ", now() " +
|
||||||
");";
|
");";
|
||||||
sb.Append(ss);
|
sb.Append(ss);
|
||||||
}
|
}
|
||||||
@ -293,12 +294,11 @@ CREATE TABLE `import_niagara_item` (
|
|||||||
using (IDbConnection conn = GetDbConnection())
|
using (IDbConnection conn = GetDbConnection())
|
||||||
{
|
{
|
||||||
conn.Open();
|
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;
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
@ -306,74 +306,108 @@ SET FOREIGN_KEY_CHECKS = 0;
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `import_niagara_item_history`;
|
DROP TABLE IF EXISTS `import_niagara_item_history`;
|
||||||
CREATE TABLE `import_niagara_item_history` (
|
CREATE TABLE `import_niagara_item_history` (
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
`device_area_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
`device_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '完整 TagName 設備編號',
|
||||||
`device_building_tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
`device_area_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_building_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_system_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_name_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_floor_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_master_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_last_name_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,
|
`device_serial_tag` 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,
|
`device_point_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||||
`is_history` bit(1) NULL DEFAULT b'0',
|
`parent_path` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||||
`full_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
`is_history` bit(1) NULL DEFAULT b'0',
|
||||||
`check_status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
`full_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||||
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
`check_status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 271 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
|
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;";
|
SET FOREIGN_KEY_CHECKS = 1;";
|
||||||
|
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||||
|
{
|
||||||
await conn.ExecuteAsync(sql);
|
await conn.ExecuteAsync(sql);
|
||||||
|
}
|
||||||
|
|
||||||
#region 刪除 import_niagara_item資料表中選取的棟別
|
#region 刪除 import_niagara_item資料表中選取的棟別
|
||||||
//foreach (var b in building)
|
//foreach (var b in building)
|
||||||
//{
|
//{
|
||||||
|
|
||||||
// sql = "delete from import_niagara_item_history where device_building_tag = '" + b + "'";
|
// sql = "delete from import_niagara_item_history where device_building_tag = '" + b + "'";
|
||||||
// await conn.ExecuteAsync(sql);
|
// await conn.ExecuteAsync(sql);
|
||||||
//}
|
//}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
int count = 0;
|
||||||
|
#region 放入import_niagara_item資料表
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
string ss = string.Empty;
|
||||||
#region 放入import_niagara_item資料表
|
foreach (var row in ds)
|
||||||
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,
|
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_floor_tag, device_master_tag, device_last_name_tag, device_serial_tag, device_point_name, parent_path, full_name, is_history, created_at)
|
device_last_name_tag, device_serial_tag, device_point_name, parent_path, full_name, is_history, created_at) values";
|
||||||
values('" +
|
}
|
||||||
row.device_area_tag + "', '" +
|
|
||||||
row.device_building_tag + "', '" +
|
ss += $@" ('" +
|
||||||
row.device_system_tag + "', '" +
|
row.device_area_tag + "', '" +
|
||||||
row.device_name_tag + "', '" +
|
row.device_building_tag + "', '" +
|
||||||
row.device_floor_tag + "', '" +
|
row.device_system_tag + "', '" +
|
||||||
row.device_master_tag + "', '" +
|
row.device_name_tag + "', '" +
|
||||||
row.device_last_name_tag + "', '" +
|
row.device_floor_tag + "', '" +
|
||||||
row.device_serial_tag + "', '" +
|
row.device_master_tag + "', '" +
|
||||||
row.device_point_name + "', '" +
|
row.device_last_name_tag + "', '" +
|
||||||
row.parent_path + "', '" +
|
row.device_serial_tag + "', '" +
|
||||||
row.full_name + "'," +
|
row.device_point_name + "', '" +
|
||||||
row.isHistory + ", now() " +
|
row.parent_path + "', '" +
|
||||||
");";
|
row.full_name + "'," +
|
||||||
|
"true" + ", now() " +
|
||||||
|
")";
|
||||||
|
|
||||||
|
count++;
|
||||||
|
if (count == 100)
|
||||||
|
{
|
||||||
|
ss += ";";
|
||||||
sb.Append(ss);
|
sb.Append(ss);
|
||||||
}
|
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||||
if (sb.Length > 0)
|
{
|
||||||
{
|
await conn.ExecuteAsync(sb.ToString());
|
||||||
await conn.ExecuteAsync(sb.ToString());
|
}
|
||||||
sb.Clear();
|
sb.Clear();
|
||||||
|
ss = string.Empty;
|
||||||
|
count = 0;
|
||||||
}
|
}
|
||||||
#endregion
|
else
|
||||||
|
ss += ",";
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
|
||||||
|
sb.Append(ss);
|
||||||
|
if (sb.Length > 0)
|
||||||
{
|
{
|
||||||
throw exception;
|
sb.Clear();
|
||||||
}
|
ss = ss.Remove(ss.Length - 1);
|
||||||
finally
|
ss += ";";
|
||||||
{
|
sb.Append(ss);
|
||||||
conn.Close();
|
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||||
|
{
|
||||||
|
await conn.ExecuteAsync(sb.ToString());
|
||||||
|
}
|
||||||
|
sb.Clear();
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
conn.Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user