release:6.0.4.28

fix: 变量导出excel偶发插件属性丢失
refactor: 变量并发导出按变量名称排序
This commit is contained in:
Diego
2024-07-19 09:12:17 +08:00
parent 4216002ce5
commit 2df0441f0f
2 changed files with 27 additions and 8 deletions

View File

@@ -380,18 +380,21 @@ public class VariableService : BaseService<Variable>, IVariableService
;
#endregion
var varName = nameof(Variable.Name);
data.ParallelForEach((variable, state, index) =>
{
Dictionary<string, object> varExport = new();
deviceDicts.TryGetValue(variable.DeviceId.Value, out var device);
//设备实体没有包含设备名称,手动插入
varExport.TryAdd(ExportString.DeviceName, device?.Name ?? deviceName);
foreach (var item in propertyInfos)
{
//描述
var desc = type.GetPropertyDisplayName(item.Name);
if (item.Name == varName)
{
varName = desc;
}
//数据源增加
varExport.TryAdd(desc ?? item.Name, item.GetValue(variable)?.ToString());
}
@@ -456,8 +459,20 @@ public class VariableService : BaseService<Variable>, IVariableService
}
else
{
if (driverInfo.Count > 0)
devicePropertys.TryAdd(pluginName.Item2, new() { driverInfo });
lock (devicePropertys)
{
if (devicePropertys.ContainsKey(pluginName.Item2))
{
if (driverInfo.Count > 0)
devicePropertys[pluginName.Item2].Add(driverInfo);
}
else
{
if (driverInfo.Count > 0)
devicePropertys.TryAdd(pluginName.Item2, new() { driverInfo });
}
}
}
}
}
@@ -465,12 +480,17 @@ public class VariableService : BaseService<Variable>, IVariableService
#endregion sheet
});
variableExports = new(variableExports.OrderBy(a => a[ExportString.DeviceName]).ThenBy(a => a[varName]));
//添加设备页
sheets.Add(ExportString.VariableName, variableExports);
//HASH
foreach (var item in devicePropertys)
foreach (var item in devicePropertys.Keys)
{
devicePropertys[item] = new(devicePropertys[item].OrderBy(a => a[ExportString.DeviceName]).ThenBy(a => a[ExportString.VariableName]));
//HashSet<string> allKeys = item.Value.SelectMany(a => a.Keys).ToHashSet();
//foreach (var dict in item.Value)
@@ -484,8 +504,7 @@ public class VariableService : BaseService<Variable>, IVariableService
// }
// }
//}
sheets.Add(item.Key, item.Value);
sheets.Add(item, devicePropertys[item]);
}
return sheets;

View File

@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Version>6.0.4.27</Version>
<Version>6.0.4.28</Version>
</PropertyGroup>
<ItemGroup>