fix: opcuamaster插件属性UI未正确显示

This commit is contained in:
Diego
2025-05-20 15:20:14 +08:00
parent 562b3f17c9
commit 4ac482f9ee
6 changed files with 40 additions and 42 deletions

View File

@@ -1,8 +1,8 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<PluginVersion>10.6.11</PluginVersion> <PluginVersion>10.6.12</PluginVersion>
<ProPluginVersion>10.6.11</ProPluginVersion> <ProPluginVersion>10.6.12</ProPluginVersion>
<AuthenticationVersion>2.1.7</AuthenticationVersion> <AuthenticationVersion>2.1.7</AuthenticationVersion>
</PropertyGroup> </PropertyGroup>

View File

@@ -386,7 +386,7 @@ internal sealed class ChannelService : BaseService<Channel>, IChannelService
if (channel == null) if (channel == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["ImportNullError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["ImportNullError"]));
return; return;
} }
@@ -409,7 +409,7 @@ internal sealed class ChannelService : BaseService<Channel>, IChannelService
if (stringBuilder.Length > 0) if (stringBuilder.Length > 0)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, stringBuilder.ToString())); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, stringBuilder.ToString()));
return; return;
} }
@@ -430,19 +430,19 @@ internal sealed class ChannelService : BaseService<Channel>, IChannelService
if (channel.IsUp && ((dataScope != null && dataScope?.Count > 0 && !dataScope.Contains(channel.CreateOrgId)) || dataScope?.Count == 0 && channel.CreateUserId != UserManager.UserId)) if (channel.IsUp && ((dataScope != null && dataScope?.Count > 0 && !dataScope.Contains(channel.CreateOrgId)) || dataScope?.Count == 0 && channel.CreateUserId != UserManager.UserId))
{ {
importPreviewOutput.Results.Add((row++, false, "Operation not permitted")); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, "Operation not permitted"));
} }
else else
{ {
channels.Add(channel); channels.Add(channel);
importPreviewOutput.Results.Add((row++, true, null)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), true, null));
} }
return; return;
} }
catch (Exception ex) catch (Exception ex)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, ex.Message)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, ex.Message));
return; return;
} }
}); });

View File

@@ -432,7 +432,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (device == null) if (device == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["ImportNullError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["ImportNullError"]));
return; return;
} }
@@ -449,7 +449,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
{ {
// 如果找不到对应的冗余设备,则添加错误信息到导入预览结果并返回 // 如果找不到对应的冗余设备,则添加错误信息到导入预览结果并返回
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["RedundantDeviceError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["RedundantDeviceError"]));
return; return;
} }
} }
@@ -459,7 +459,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (device.RedundantEnable) if (device.RedundantEnable)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["RedundantDeviceError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["RedundantDeviceError"]));
return; return;
} }
} }
@@ -473,7 +473,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
{ {
// 如果找不到对应的通道信息,则添加错误信息到导入预览结果并返回 // 如果找不到对应的通道信息,则添加错误信息到导入预览结果并返回
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["ChannelError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["ChannelError"]));
return; return;
} }
} }
@@ -481,7 +481,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
{ {
// 如果未提供通道信息,则添加错误信息到导入预览结果并返回 // 如果未提供通道信息,则添加错误信息到导入预览结果并返回
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["ChannelError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["ChannelError"]));
return; return;
} }
@@ -504,7 +504,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (stringBuilder.Length > 0) if (stringBuilder.Length > 0)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, stringBuilder.ToString())); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, stringBuilder.ToString()));
return; return;
} }
@@ -527,12 +527,12 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
// 将设备添加到设备列表中,并添加成功信息到导入预览结果 // 将设备添加到设备列表中,并添加成功信息到导入预览结果
if (device.IsUp && ((dataScope != null && dataScope?.Count > 0 && !dataScope.Contains(device.CreateOrgId)) || dataScope?.Count == 0 && device.CreateUserId != UserManager.UserId)) if (device.IsUp && ((dataScope != null && dataScope?.Count > 0 && !dataScope.Contains(device.CreateOrgId)) || dataScope?.Count == 0 && device.CreateUserId != UserManager.UserId))
{ {
importPreviewOutput.Results.Add((row++, false, "Operation not permitted")); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, "Operation not permitted"));
} }
else else
{ {
devices.Add(device); devices.Add(device);
importPreviewOutput.Results.Add((row++, true, null)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), true, null));
} }
return; return;
} }
@@ -540,7 +540,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
{ {
// 捕获异常并添加错误信息到导入预览结果 // 捕获异常并添加错误信息到导入预览结果
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, ex.Message)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, ex.Message));
return; return;
} }
}); });
@@ -573,7 +573,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (driverPluginType == null) if (driverPluginType == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["NotNull", sheetName])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["NotNull", sheetName]));
return; return;
} }
@@ -617,7 +617,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (propertys.Item1 == null) if (propertys.Item1 == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["PluginNotNull"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["PluginNotNull"]));
continue; continue;
} }
@@ -625,7 +625,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (!item.TryGetValue(ExportString.DeviceName, out var deviceName)) if (!item.TryGetValue(ExportString.DeviceName, out var deviceName))
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["DeviceNotNull"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["DeviceNotNull"]));
continue; continue;
} }
@@ -637,7 +637,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (!hasDevice) if (!hasDevice)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["NotNull", value])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["NotNull", value]));
continue; continue;
} }
@@ -648,7 +648,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (pluginProp == null) if (pluginProp == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, Localizer["ImportNullError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["ImportNullError"]));
return; return;
} }
@@ -671,7 +671,7 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
if (stringBuilder.Length > 0) if (stringBuilder.Length > 0)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, stringBuilder.ToString())); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, stringBuilder.ToString()));
return; return;
} }
@@ -687,14 +687,14 @@ internal sealed class DeviceService : BaseService<Device>, IDeviceService
// 更新设备导入预览数据中对应设备的属性信息,并添加成功信息到导入预览结果 // 更新设备导入预览数据中对应设备的属性信息,并添加成功信息到导入预览结果
deviceImportPreview.Data[value].DevicePropertys = devices; deviceImportPreview.Data[value].DevicePropertys = devices;
importPreviewOutput.Results.Add((row++, true, null)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), true, null));
continue; continue;
} }
catch (Exception ex) catch (Exception ex)
{ {
// 捕获异常并添加错误信息到导入预览结果并返回 // 捕获异常并添加错误信息到导入预览结果并返回
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((row++, false, ex.Message)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, ex.Message));
return; return;
} }
} }

View File

@@ -619,7 +619,7 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
if (deviceId == null) if (deviceId == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, Localizer["NotNull", deviceName])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["NotNull", deviceName]));
return; return;
} }
// 手动补录变量ID和设备ID // 手动补录变量ID和设备ID
@@ -642,7 +642,7 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
if (stringBuilder.Length > 0) if (stringBuilder.Length > 0)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, stringBuilder.ToString())); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, stringBuilder.ToString()));
return; return;
} }
@@ -661,19 +661,19 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
} }
if (device.IsUp && ((dataScope != null && dataScope?.Count > 0 && !dataScope.Contains(variable.CreateOrgId)) || dataScope?.Count == 0 && variable.CreateUserId != UserManager.UserId)) if (device.IsUp && ((dataScope != null && dataScope?.Count > 0 && !dataScope.Contains(variable.CreateOrgId)) || dataScope?.Count == 0 && variable.CreateUserId != UserManager.UserId))
{ {
importPreviewOutput.Results.Add((row++, false, "Operation not permitted")); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, "Operation not permitted"));
} }
else else
{ {
variables.Add(variable); variables.Add(variable);
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), true, null)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), true, null));
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
// 捕获异常并添加错误信息到导入预览结果 // 捕获异常并添加错误信息到导入预览结果
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, ex.Message)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, ex.Message));
} }
}); });
@@ -702,7 +702,7 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
if (driverPluginType == null) if (driverPluginType == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, Localizer["NotNull", sheetName])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["NotNull", sheetName]));
return deviceImportPreview; return deviceImportPreview;
} }
@@ -742,7 +742,7 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
if (propertys.Item3?.Count == null || propertys.Item1 == null) if (propertys.Item3?.Count == null || propertys.Item1 == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, Localizer["ImportNullError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["ImportNullError"]));
return; return;
} }
@@ -753,7 +753,7 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
if (pluginProp == null) if (pluginProp == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, Localizer["ImportNullError"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["ImportNullError"]));
return; return;
} }
@@ -768,13 +768,13 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
if (businessDevName == null || businessDevice == null || collectDevName == null || collectDevice == null) if (businessDevName == null || businessDevice == null || collectDevName == null || collectDevice == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, Localizer["DeviceNotNull"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["DeviceNotNull"]));
return; return;
} }
if (variableNameObj == null) if (variableNameObj == null)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, Localizer["VariableNotNull"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["VariableNotNull"]));
return; return;
} }
@@ -797,7 +797,7 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
if (stringBuilder.Length > 0) if (stringBuilder.Length > 0)
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, stringBuilder.ToString())); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, stringBuilder.ToString()));
return; return;
} }
@@ -818,12 +818,12 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
{ {
deviceVariable.VariablePropertys ??= new(); deviceVariable.VariablePropertys ??= new();
deviceVariable.VariablePropertys?.AddOrUpdate(businessDevice.Id, dependencyProperties); deviceVariable.VariablePropertys?.AddOrUpdate(businessDevice.Id, dependencyProperties);
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), true, null)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), true, null));
} }
else else
{ {
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, Localizer["VariableNotNull"])); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, Localizer["VariableNotNull"]));
return; return;
} }
} }
@@ -831,7 +831,7 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
{ {
// 捕获异常并添加错误信息到导入预览结果 // 捕获异常并添加错误信息到导入预览结果
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, ex.Message)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, ex.Message));
} }
}); });
} }
@@ -839,7 +839,7 @@ internal sealed class VariableService : BaseService<Variable>, IVariableService
{ {
// 捕获异常并添加错误信息到导入预览结果 // 捕获异常并添加错误信息到导入预览结果
importPreviewOutput.HasError = true; importPreviewOutput.HasError = true;
importPreviewOutput.Results.Add((Interlocked.Add(ref row, 1), false, ex.Message)); importPreviewOutput.Results.Add((Interlocked.Increment(ref row), false, ex.Message));
} }
} }

View File

@@ -42,8 +42,6 @@ public class OpcUaMaster : CollectBase
/// <inheritdoc/> /// <inheritdoc/>
public override Type DriverDebugUIType => typeof(ThingsGateway.Debug.OpcUaMaster); public override Type DriverDebugUIType => typeof(ThingsGateway.Debug.OpcUaMaster);
public override Type DriverPropertyUIType => typeof(OpcUaMasterRuntimeRazor);
public override Type DriverUIType => typeof(OpcUaMasterRuntimeRazor); public override Type DriverUIType => typeof(OpcUaMasterRuntimeRazor);
protected override async Task InitChannelAsync(IChannel? channel, CancellationToken cancellationToken) protected override async Task InitChannelAsync(IChannel? channel, CancellationToken cancellationToken)

View File

@@ -1,6 +1,6 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<Version>10.6.11</Version> <Version>10.6.12</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>