Browse Source

Fix Alarm DB Search issue
Merge - ReCreate Service base

Zixuan 19 hours ago
parent
commit
d98abf5e02

+ 28 - 21
Analizer/ProximaAnalizer/ViewModels/DBInfoAlarmViewModel.cs

@@ -58,41 +58,40 @@ internal partial class DBInfoAlarmViewModel : ObservableObject
 
         this._DBDataHelper.SetTimeRange(this.Start, this.End);
 
-        if (!this._DBDataHelper.GetAlarmData(out List<EventData>? alarms) || alarms is null)
-            return;
-        Dictionary<DateTime, StringBuilder> alarmCache = [];
-        foreach (var alarm in alarms)
+        if (this._DBDataHelper.GetAlarmData(out List<EventData>? alarms) && alarms is not null)
         {
-            if (alarm is null || string.IsNullOrEmpty(alarm.Level))
-                continue;
+            Dictionary<DateTime, StringBuilder> alarmCache = [];
+            foreach (EventData? alarm in alarms)
+            {
+                if (alarm is null || string.IsNullOrEmpty(alarm.Level))
+                    continue;
 
-            DateTime occorTime = TimeRounder.IngoreMillionSeconds(alarm.Occur_Time.Ticks);
+                DateTime occorTime = TimeRounder.IngoreMillionSeconds(alarm.Occur_Time.Ticks);
 
-            if (!alarmCache.TryGetValue(occorTime, out StringBuilder? events) || events is null)
-            {
-                events = new();
-                alarmCache[occorTime] = events;
+                if (!alarmCache.TryGetValue(occorTime, out StringBuilder? events) || events is null)
+                {
+                    events = new();
+                    alarmCache[occorTime] = events;
+                    events.Append(alarm.Description);
+                    continue;
+                }
+
+                events.Append(Environment.NewLine);
                 events.Append(alarm.Description);
-                continue;
             }
-
-            events.Append(Environment.NewLine);
-            events.Append(alarm.Description);
+            this.Alarms = alarmCache;
         }
-        this.Alarms = alarmCache;
 
         if (alarmData.Selected is not null)
         {
             DateTime time = TimeRounder.IngoreMillionSeconds(alarmData.Selected.Occur_Time.Ticks);
             this.Current = time;
             this.CurrentLong = time.Ticks;
-        }
-        else
-        {
-            this.Current = this.Start;
-            this.CurrentLong = this.Start.Ticks;
+            return;
         }
 
+        this.Current = this.Start;
+        this.CurrentLong = this.Start.Ticks;
     }
 
     [ObservableProperty]
@@ -199,15 +198,23 @@ internal partial class DBInfoAlarmViewModel : ObservableObject
         switch (para)
         {
             case "+":
+                if (this.Current >= this.End)
+                    return;
                 this.CurrentLong += 10000000;
                 break;
             case "-":
+                if (this.Current <= Start)
+                    return;
                 this.CurrentLong -= 10000000;
                 break;
             case "++":
+                if (this.Current >= this.End)
+                    return;
                 this.CurrentLong += 600000000;
                 break;
             case "--":
+                if (this.Current <= Start)
+                    return;
                 this.CurrentLong -= 600000000;
                 break;
             case "---":

+ 2 - 3
Analizer/ProximaAnalizer/ViewModels/DBInfoTraceViewModel.cs

@@ -392,10 +392,9 @@ internal partial class DBInfoTraceViewModel : ObservableObject
         foreach (var item in this._DisplayDataHelper.DataRight)
             this._PlotHelper.AddRightLine(this._DisplayDataHelper.Time, item.Value, ((LineType)Right[item.Key])!.LinePattern, MarkerStyle.None, 1.5f, ((LineType)Right[item.Key])!.HexRGB!);
 
-        if (!this._DBDataHelper.GetAlarmData(out List<EventData>? alarm) || alarm is null)
-            return;
+        if (this._DBDataHelper.GetAlarmData(out List<EventData>? alarm) && alarm is not null)
+            this.GenerateAlarm(alarm);
 
-        this.GenerateAlarm(alarm);
 
         this.PlotControl.Plot.Axes.AutoScale();
         this.PlotControl.Refresh();

+ 11 - 5
EEMSMain.sln

@@ -80,6 +80,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EEMSClientCore", "Server\EE
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EEMSUIClientCore", "Server\EEMSUIClientCore\EEMSUIClientCore.csproj", "{0C79BB69-475D-40CC-AC3A-583AFD8F7527}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServiceBase", "Server\ServiceBase\ServiceBase.csproj", "{4D7874BD-0AFD-1BDF-FC6D-74C2F1EE9448}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -186,10 +188,10 @@ Global
 		{E1F62B2E-BC79-4A21-9458-B5CA3641BD08}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{E1F62B2E-BC79-4A21-9458-B5CA3641BD08}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{E1F62B2E-BC79-4A21-9458-B5CA3641BD08}.Release|Any CPU.Build.0 = Release|Any CPU
-		{C1F57098-909D-4546-A1CB-660E473446AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C1F57098-909D-4546-A1CB-660E473446AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C1F57098-909D-4546-A1CB-660E473446AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C1F57098-909D-4546-A1CB-660E473446AA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C3C15903-D7E2-47CA-9717-A88DDC9B7F0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C3C15903-D7E2-47CA-9717-A88DDC9B7F0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C3C15903-D7E2-47CA-9717-A88DDC9B7F0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C3C15903-D7E2-47CA-9717-A88DDC9B7F0D}.Release|Any CPU.Build.0 = Release|Any CPU
 		{0B0BF6F8-6BFC-4294-A9C9-014075A09392}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{0B0BF6F8-6BFC-4294-A9C9-014075A09392}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{0B0BF6F8-6BFC-4294-A9C9-014075A09392}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -198,6 +200,10 @@ Global
 		{0C79BB69-475D-40CC-AC3A-583AFD8F7527}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{0C79BB69-475D-40CC-AC3A-583AFD8F7527}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{0C79BB69-475D-40CC-AC3A-583AFD8F7527}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4D7874BD-0AFD-1BDF-FC6D-74C2F1EE9448}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4D7874BD-0AFD-1BDF-FC6D-74C2F1EE9448}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4D7874BD-0AFD-1BDF-FC6D-74C2F1EE9448}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4D7874BD-0AFD-1BDF-FC6D-74C2F1EE9448}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -222,9 +228,9 @@ Global
 		{3F13236F-F673-42A2-B928-61A5F4B4C3AD} = {9EF4E4C0-6304-4339-8367-3BFD5E816464}
 		{8E249AE0-505B-4481-8C83-42C71561370E} = {9EF4E4C0-6304-4339-8367-3BFD5E816464}
 		{E1F62B2E-BC79-4A21-9458-B5CA3641BD08} = {A6000E18-5F55-4CD7-B3F5-82BB4A4A0E80}
-		{C1F57098-909D-4546-A1CB-660E473446AA} = {A6000E18-5F55-4CD7-B3F5-82BB4A4A0E80}
 		{0B0BF6F8-6BFC-4294-A9C9-014075A09392} = {A6000E18-5F55-4CD7-B3F5-82BB4A4A0E80}
 		{0C79BB69-475D-40CC-AC3A-583AFD8F7527} = {A6000E18-5F55-4CD7-B3F5-82BB4A4A0E80}
+		{4D7874BD-0AFD-1BDF-FC6D-74C2F1EE9448} = {A6000E18-5F55-4CD7-B3F5-82BB4A4A0E80}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {331844F6-59F5-4D02-BFA4-2329C0EAB6EF}