@page "/clusters/{ClusterId}/draft/{GenerationId:long}/import-equipment" @using Microsoft.AspNetCore.Components.Authorization @using ZB.MOM.WW.OtOpcUa.Admin.Services @using ZB.MOM.WW.OtOpcUa.Configuration.Entities @inject DriverInstanceService DriverSvc @inject UnsService UnsSvc @inject EquipmentImportBatchService BatchSvc @inject NavigationManager Nav @inject AuthenticationStateProvider AuthProvider
@ClusterId · draft generation @GenerationId
@EquipmentCsvImporter.VersionMarker-headered CSV per Stream B.3.
Required columns: @string.Join(", ", EquipmentCsvImporter.RequiredColumns).
Optional columns cover the OPC 40010 Identification fields. Paste the file contents
or upload directly — the parser runs client-stream-side and shows a row-level preview
before anything lands in the draft. ZTag + SAPID uniqueness across the fleet is NOT
enforced here yet (see task #197); for now the finalise may fail at commit time if a
reservation conflict exists.
No accepted rows.
} else {| ZTag | Machine | Name | Line |
|---|---|---|---|
@r.ZTag |
@r.MachineCode | @r.Name | @r.UnsLineName |
No rejections.
} else {| Line | Reason |
|---|---|
| @e.LineNumber | @e.Reason |