feat(native-alarms): per-binding IsMesReportable on native alarm source bindings (ScadaBridge#59)
TemplateNativeAlarmSource.IsMesReportable + tri-state InstanceNativeAlarmSourceOverride .IsMesReportableOverride flatten onto ResolvedNativeAlarmSource; NativeAlarmActor stamps every mirrored condition and InstanceActor the quiet-binding placeholder, so ScriptAlarm, Alarms.MesReportableAsync() and the #60 wire fields carry it. Additive to the 900-999 severity band. Migration AddNativeAlarmSourceMesReportable. Management commands, CLI --mes-reportable, Central UI (template dialog checkbox, instance override select), Transport DTOs/importer/diff and the revision hash (true-only, so existing hashes are unchanged) carry it. Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV
This commit is contained in:
@@ -23,6 +23,13 @@ public class TemplateNativeAlarmSource
|
||||
public string SourceReference { get; set; } = string.Empty;
|
||||
/// <summary>Optional condition filter; null = mirror all conditions under the source.</summary>
|
||||
public string? ConditionFilter { get; set; }
|
||||
/// <summary>
|
||||
/// When true, every condition mirrored under this binding is MES-reportable
|
||||
/// (<c>AlarmStateChanged.IsMesReportable</c> / <c>ScriptAlarm.IsMesReportable</c>). Additive to the
|
||||
/// 900-999 severity-band convention, which still flags a condition on its own. Default false.
|
||||
/// Overridable per instance via <c>InstanceNativeAlarmSourceOverride.IsMesReportableOverride</c>.
|
||||
/// </summary>
|
||||
public bool IsMesReportable { get; set; }
|
||||
/// <summary>When true, this binding cannot be overridden in derived templates.</summary>
|
||||
public bool IsLocked { get; set; }
|
||||
/// <summary>True when copied from a base template and not yet overridden on the derived template.</summary>
|
||||
|
||||
Reference in New Issue
Block a user