refactor(adminui): delete the dead LoadTagsForEquipmentAsync surface (R04 S4)
v3 retired the equipment-Tag binding; IUnsTreeService.LoadTagsForEquipmentAsync always returned empty, had no production caller, and EquipmentTagRow plus the always-zero tagCounts / EquipmentRow.TagCount plumbing existed only to feed it. All removed; the equipment badge count (virtual tags) is unchanged. Refs #745 Claude-Session: https://claude.ai/code/session_01Ub9hGmYLQvn9XETzw7CMsT
This commit is contained in:
@@ -2,11 +2,6 @@ using ZB.MOM.WW.OtOpcUa.Configuration.Enums;
|
||||
|
||||
namespace ZB.MOM.WW.OtOpcUa.AdminUI.Uns;
|
||||
|
||||
/// <summary>A tag row for the equipment page's Tags tab table — display columns plus the id used to
|
||||
/// open the edit modal. RowVersion is re-read fresh on delete (matching the tree's delete path).</summary>
|
||||
public sealed record EquipmentTagRow(
|
||||
string TagId, string Name, string DriverInstanceId, string DataType, TagAccessLevel AccessLevel);
|
||||
|
||||
/// <summary>A virtual-tag row for the equipment page's Virtual Tags tab table.</summary>
|
||||
public sealed record EquipmentVirtualTagRow(string VirtualTagId, string Name, string DataType, string ScriptId, bool Enabled);
|
||||
|
||||
|
||||
@@ -117,17 +117,6 @@ public interface IUnsTreeService
|
||||
/// <returns>The enterprise root nodes, each populated down to equipment.</returns>
|
||||
Task<IReadOnlyList<UnsNode>> LoadStructureAsync(CancellationToken ct = default);
|
||||
|
||||
/// <summary>
|
||||
/// Loads the driver tags bound to a single equipment as flat row projections for the equipment
|
||||
/// page's Tags tab table, ordered by Name. Each row carries the display columns plus the
|
||||
/// <c>TagId</c> the table uses to open the edit modal. Reads untracked. Returns an empty list when
|
||||
/// the equipment has no tags.
|
||||
/// </summary>
|
||||
/// <param name="equipmentId">The equipment whose tags to load.</param>
|
||||
/// <param name="ct">A token to cancel the load.</param>
|
||||
/// <returns>The equipment's tag rows ordered by Name; empty if it has none.</returns>
|
||||
Task<IReadOnlyList<EquipmentTagRow>> LoadTagsForEquipmentAsync(string equipmentId, CancellationToken ct = default);
|
||||
|
||||
/// <summary>
|
||||
/// Loads the virtual tags scoped to a single equipment as flat row projections for the equipment
|
||||
/// page's Virtual Tags tab table, ordered by Name. Each row carries the display columns plus the
|
||||
|
||||
@@ -75,13 +75,13 @@ public readonly record struct AreaRow(string UnsAreaId, string ClusterId, string
|
||||
/// <summary>Flat structural row describing a UNS line and its owning area.</summary>
|
||||
public readonly record struct LineRow(string UnsLineId, string UnsAreaId, string Name);
|
||||
|
||||
/// <summary>Flat structural row describing an equipment node, its owning line and its tag/virtual-tag counts.</summary>
|
||||
/// <summary>Flat structural row describing an equipment node, its owning line and its virtual-tag count.
|
||||
/// (The driver-tag count was retired with the v3 equipment↔Tag binding; it was always zero.)</summary>
|
||||
public readonly record struct EquipmentRow(
|
||||
string EquipmentId,
|
||||
string UnsLineId,
|
||||
string MachineCode,
|
||||
string Name,
|
||||
int TagCount,
|
||||
int VirtualTagCount);
|
||||
|
||||
/// <summary>
|
||||
@@ -237,7 +237,7 @@ public static class UnsTreeAssembly
|
||||
|
||||
private static UnsNode BuildEquipment(EquipmentRow equipment, string clusterId)
|
||||
{
|
||||
var childCount = equipment.TagCount + equipment.VirtualTagCount;
|
||||
var childCount = equipment.VirtualTagCount;
|
||||
return new UnsNode
|
||||
{
|
||||
Kind = UnsNodeKind.Equipment,
|
||||
|
||||
@@ -61,11 +61,6 @@ public sealed class UnsTreeService(
|
||||
})
|
||||
.ToListAsync(ct);
|
||||
|
||||
// Per-equipment driver-tag counts: the equipment↔Tag binding was retired in v3
|
||||
// (Tag is now Raw-only; authoring moved to the Raw tree in Batch 2/3). No binding
|
||||
// exists to count against, so every equipment reports zero driver tags.
|
||||
var tagCounts = new Dictionary<string, int>(StringComparer.Ordinal);
|
||||
|
||||
// Per-equipment virtual-tag counts (virtual tags with no equipment are excluded).
|
||||
var vtagCounts = (await db.VirtualTags
|
||||
.AsNoTracking()
|
||||
@@ -81,21 +76,12 @@ public sealed class UnsTreeService(
|
||||
e.UnsLineId,
|
||||
e.MachineCode,
|
||||
e.Name,
|
||||
tagCounts.GetValueOrDefault(e.EquipmentId),
|
||||
vtagCounts.GetValueOrDefault(e.EquipmentId)))
|
||||
.ToList();
|
||||
|
||||
return UnsTreeAssembly.Build(clusters, areas, lines, equipment);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public Task<IReadOnlyList<EquipmentTagRow>> LoadTagsForEquipmentAsync(string equipmentId, CancellationToken ct = default)
|
||||
{
|
||||
// The equipment↔Tag binding was retired in v3 (Tag is now Raw-only; authoring moved to
|
||||
// the Raw tree in Batch 2/3). No equipment-bound tags exist to list.
|
||||
return Task.FromResult<IReadOnlyList<EquipmentTagRow>>(Array.Empty<EquipmentTagRow>());
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<IReadOnlyList<EquipmentVirtualTagRow>> LoadVirtualTagsForEquipmentAsync(string equipmentId, CancellationToken ct = default)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user