lixiaojun
2024-05-06 09e5635e174d3ee6e8b699f7d0d4f125d3e1c46f
修复运行分析bug
已修改4个文件
239 ■■■■ 文件已修改
Yw.Server.Run/01-equipment/02-single/EquipmentRunAnalySingleJob.cs 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Server.Run/02-emws/02-single/EMWSRunAnalySingleJob.cs 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.TopShelf.Run/Program.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.TopShelf.Run/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Server.Run/01-equipment/02-single/EquipmentRunAnalySingleJob.cs
@@ -100,8 +100,8 @@
                        ObjectID = configure.ObjectID,
                        DataTime = DateTime.Now,
                        RSa = Yw.Run.RunStatus.Shut,
                        ContinueTime = configure.Frequency,
                        TotalShutTime = configure.Frequency,
                        ContinueTime = 0,
                        TotalShutTime = 0,
                        TotalRunTime = 0,
                        BootTimes = 0,
                        AnalyStatus = Yw.Run.AnalyStatus.Normal,
@@ -112,33 +112,6 @@
                    if (lastRunRecord == null)
                    {
                        runRecord.AnalyInfo = "首次分析";
                        if (lastRecord == null)
                        {
                            runRecord.AnalyStatus = Yw.Run.AnalyStatus.Missing;
                        }
                        else
                        {
                            if (Yw.Monitor.DataStatus.HasError(lastRecord.DataStatus))
                            {
                                runRecord.AnalyStatus = Yw.Run.AnalyStatus.Abnormal;
                            }
                            else
                            {
                                if (int.TryParse(lastRecord.DataValue, out int intDataValue))
                                {
                                    if (intDataValue > Yw.Monitor.RunStatus.Shut)
                                    {
                                        runRecord.RSa = Yw.Run.RunStatus.Run;
                                        runRecord.BootTimes += 1;
                                        runRecord.TotalRunTime += configure.Frequency;
                                    }
                                }
                                else
                                {
                                    runRecord.AnalyStatus = Yw.Run.AnalyStatus.Error;
                                }
                            }
                        }
                    }
                    else
                    {
@@ -147,49 +120,60 @@
                        runRecord.TotalShutTime = lastRunRecord.TotalShutTime;
                        runRecord.TotalRunTime = lastRunRecord.TotalRunTime;
                        runRecord.BootTimes = lastRunRecord.BootTimes;
                    }
                    var rsa = Yw.Run.RunStatus.Shut;
                    if (lastRecord == null)
                    {
                        runRecord.AnalyStatus = Yw.Run.AnalyStatus.Missing;
                    }
                    else
                    {
                        if (Yw.Monitor.DataStatus.HasError(lastRecord.DataStatus))
                        {
                            runRecord.AnalyStatus = Yw.Run.AnalyStatus.Abnormal;
                        }
                        var enable_interrupt = Yw.Run.SysParas.EnableMonitorInterruptJudgement.GetPValue<bool?>();
                        if (enable_interrupt.HasValue && enable_interrupt.Value)
                        {
                            if (monitor.IsInterrupt(lastRecord))
                            {
                                runRecord.AnalyStatus = Yw.Run.AnalyStatus.Interrupt;
                            }
                        }
                        if (int.TryParse(lastRecord.DataValue, out int intDataValue))
                        {
                            rsa = intDataValue > Yw.Monitor.RunStatus.Shut ? Yw.Run.RunStatus.Run : Yw.Run.RunStatus.Shut;
                        }
                    }
                    //发生改变
                    if (runRecord.RSa != rsa)
                    {
                        if (EquipmentRunAnalyChangeTimesHelper.HasChanged(configure.ID, configure.ChangeTimes))
                        {
                            runRecord.RSa = runRecord.RSa == Yw.Run.RunStatus.Run ? Yw.Run.RunStatus.Shut : Yw.Run.RunStatus.Run;
                            runRecord.ContinueTime = configure.Frequency;
                            runRecord.RSa = rsa;
                            runRecord.ContinueTime = 0;
                            if (runRecord.RSa == Yw.Run.RunStatus.Run)
                            {
                                runRecord.BootTimes += 1;
                            }
                        }
                        else
                        {
                            runRecord.ContinueTime += configure.Frequency;
                        }
                    }
                        if (runRecord.RSa == Yw.Run.RunStatus.Shut)
                        {
                            runRecord.TotalShutTime += configure.Frequency;
                        }
                        else
                        {
                            runRecord.TotalRunTime += configure.Frequency;
                        }
                    //持续时间
                    runRecord.ContinueTime += configure.Frequency;
                        if (lastRecord == null)
                        {
                            runRecord.AnalyStatus = Yw.Run.AnalyStatus.Missing;
                        }
                        else
                        {
                            if (Yw.Monitor.DataStatus.HasError(lastRecord.DataStatus))
                            {
                                runRecord.AnalyStatus = Yw.Run.AnalyStatus.Abnormal;
                            }
                            var enable_interrupt = Yw.Run.SysParas.EnableMonitorInterruptJudgement.GetPValue<bool?>();
                            if (enable_interrupt.HasValue && enable_interrupt.Value)
                            {
                                if (monitor.IsInterrupt(lastRecord))
                                {
                                    runRecord.AnalyStatus = Yw.Run.AnalyStatus.Interrupt;
                                }
                            }
                        }
                    //总关机时间
                    if (runRecord.RSa == Yw.Run.RunStatus.Shut)
                    {
                        runRecord.TotalShutTime += configure.Frequency;
                    }
                    //总运行时间
                    if (runRecord.RSa == Yw.Run.RunStatus.Run)
                    {
                        runRecord.TotalRunTime += configure.Frequency;
                    }
                    #endregion
Yw.Server.Run/02-emws/02-single/EMWSRunAnalySingleJob.cs
@@ -113,8 +113,8 @@
                        ObjectID = configure.ObjectID,
                        DataTime = DateTime.Now,
                        RSa = Yw.Run.RunStatus.Shut,
                        ContinueTime = configure.Frequency,
                        TotalShutTime = configure.Frequency,
                        ContinueTime = 0,
                        TotalShutTime = 0,
                        TotalRunTime = 0,
                        BootTimes = 0,
                        AnalyStatus = Yw.Run.AnalyStatus.Normal,
@@ -125,33 +125,6 @@
                    if (lastRunRecord == null)
                    {
                        runRecord.AnalyInfo = "首次分析";
                        if (lastRecord == null)
                        {
                            runRecord.AnalyStatus = Yw.Run.AnalyStatus.Missing;
                        }
                        else
                        {
                            if (Yw.Monitor.DataStatus.HasError(lastRecord.DataStatus))
                            {
                                runRecord.AnalyStatus = Yw.Run.AnalyStatus.Abnormal;
                            }
                            else
                            {
                                if (int.TryParse(lastRecord.DataValue, out int intDataValue))
                                {
                                    if (intDataValue > Yw.Monitor.RunStatus.Shut)
                                    {
                                        runRecord.RSa = Yw.Run.RunStatus.Run;
                                        runRecord.BootTimes += 1;
                                        runRecord.TotalRunTime += configure.Frequency;
                                    }
                                }
                                else
                                {
                                    runRecord.AnalyStatus = Yw.Run.AnalyStatus.Error;
                                }
                            }
                        }
                    }
                    else
                    {
@@ -160,49 +133,60 @@
                        runRecord.TotalShutTime = lastRunRecord.TotalShutTime;
                        runRecord.TotalRunTime = lastRunRecord.TotalRunTime;
                        runRecord.BootTimes = lastRunRecord.BootTimes;
                    }
                        if (EMWSRunAnalyChangeTimesHelper.HasChanged(configure.ID, configure.ChangeTimes))
                    var rsa = Yw.Run.RunStatus.Shut;
                    if (lastRecord == null)
                    {
                        runRecord.AnalyStatus = Yw.Run.AnalyStatus.Missing;
                    }
                    else
                    {
                        if (Yw.Monitor.DataStatus.HasError(lastRecord.DataStatus))
                        {
                            runRecord.RSa = runRecord.RSa == Yw.Run.RunStatus.Run ? Yw.Run.RunStatus.Shut : Yw.Run.RunStatus.Run;
                            runRecord.ContinueTime = configure.Frequency;
                            runRecord.AnalyStatus = Yw.Run.AnalyStatus.Abnormal;
                        }
                        var enable_interrupt = Yw.Run.SysParas.EnableMonitorInterruptJudgement.GetPValue<bool?>();
                        if (enable_interrupt.HasValue && enable_interrupt.Value)
                        {
                            if (monitor.IsInterrupt(lastRecord))
                            {
                                runRecord.AnalyStatus = Yw.Run.AnalyStatus.Interrupt;
                            }
                        }
                        if (int.TryParse(lastRecord.DataValue, out int intDataValue))
                        {
                            rsa = intDataValue > Yw.Monitor.RunStatus.Shut ? Yw.Run.RunStatus.Run : Yw.Run.RunStatus.Shut;
                        }
                    }
                    //发生改变
                    if (runRecord.RSa != rsa)
                    {
                        if (EquipmentRunAnalyChangeTimesHelper.HasChanged(configure.ID, configure.ChangeTimes))
                        {
                            runRecord.RSa = rsa;
                            runRecord.ContinueTime = 0;
                            if (runRecord.RSa == Yw.Run.RunStatus.Run)
                            {
                                runRecord.BootTimes += 1;
                            }
                        }
                        else
                        {
                            runRecord.ContinueTime += configure.Frequency;
                        }
                    }
                        if (runRecord.RSa == Yw.Run.RunStatus.Shut)
                        {
                            runRecord.TotalShutTime += configure.Frequency;
                        }
                        else
                        {
                            runRecord.TotalRunTime += configure.Frequency;
                        }
                    //持续时间
                    runRecord.ContinueTime += configure.Frequency;
                        if (lastRecord == null)
                        {
                            runRecord.AnalyStatus = Yw.Run.AnalyStatus.Missing;
                        }
                        else
                        {
                            if (Yw.Monitor.DataStatus.HasError(lastRecord.DataStatus))
                            {
                                runRecord.AnalyStatus = Yw.Run.AnalyStatus.Abnormal;
                            }
                            var enable_interrupt = Yw.Run.SysParas.EnableMonitorInterruptJudgement.GetPValue<bool?>();
                            if (enable_interrupt.HasValue && enable_interrupt.Value)
                            {
                                if (monitor.IsInterrupt(lastRecord))
                                {
                                    runRecord.AnalyStatus = Yw.Run.AnalyStatus.Interrupt;
                                }
                            }
                        }
                    //总关机时间
                    if (runRecord.RSa == Yw.Run.RunStatus.Shut)
                    {
                        runRecord.TotalShutTime += configure.Frequency;
                    }
                    //总运行时间
                    if (runRecord.RSa == Yw.Run.RunStatus.Run)
                    {
                        runRecord.TotalRunTime += configure.Frequency;
                    }
                    #endregion
Yw.TopShelf.Run/Program.cs
@@ -16,13 +16,26 @@
//SMI
//HostFactory.Run(x =>
//{
//    x.Service<Service>();
//    x.RunAsLocalSystem();
//    x.SetDescription("智慧泵站Core版运行分析程序(SMI)");
//    x.SetDisplayName("IStation.Core.Server.Run.SMI");
//    x.SetServiceName("IStation.Core.Server.Run.SMI");
//    x.EnableServiceRecovery(r => r.RestartService(TimeSpan.FromSeconds(120)));
//    x.StartAutomatically();
//});
//PHM
HostFactory.Run(x =>
{
    x.Service<Service>();
    x.RunAsLocalSystem();
    x.SetDescription("智慧泵站Core版运行分析程序(SMI)");
    x.SetDisplayName("IStation.Core.Server.Run.SMI");
    x.SetServiceName("IStation.Core.Server.Run.SMI");
    x.SetDescription("智慧泵站Core版运行分析程序(PHM)");
    x.SetDisplayName("IStation.Core.Server.Run.PHM");
    x.SetServiceName("IStation.Core.Server.Run.PHM");
    x.EnableServiceRecovery(r => r.RestartService(TimeSpan.FromSeconds(120)));
    x.StartAutomatically();
});
Yw.TopShelf.Run/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2024-04-26T05:38:39.5183442Z;False|2024-04-26T13:36:48.1771029+08:00;True|2024-04-04T16:12:48.6153997+08:00;</History>
    <History>True|2024-05-04T13:41:10.0872570Z;True|2024-04-26T13:38:39.5183442+08:00;False|2024-04-26T13:36:48.1771029+08:00;True|2024-04-04T16:12:48.6153997+08:00;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>