diff --git a/ZR.Model/MES/andon/Dto/AndonFaultRecordDto.cs b/ZR.Model/MES/andon/Dto/AndonFaultRecordDto.cs index 364b17d..a5ea15f 100644 --- a/ZR.Model/MES/andon/Dto/AndonFaultRecordDto.cs +++ b/ZR.Model/MES/andon/Dto/AndonFaultRecordDto.cs @@ -59,6 +59,8 @@ namespace ZR.Model.Dto public string LineCode { get; set; } public string AskPerson { get; set; } public string FaultDict { get; set; } + + public int Status { get; set; } public DateTime[] DateTimeRange { get; set; } } diff --git a/ZR.Service/MES/andon/AndonDataAnalysisServcie.cs b/ZR.Service/MES/andon/AndonDataAnalysisServcie.cs index 163c7b2..05d213d 100644 --- a/ZR.Service/MES/andon/AndonDataAnalysisServcie.cs +++ b/ZR.Service/MES/andon/AndonDataAnalysisServcie.cs @@ -175,8 +175,27 @@ namespace ZR.Service.MES.andon } EveTNUM.Data = Data; } + SeriesData_ ResponseTime = new SeriesData_(); + ResponseTime.Name = "响应时间"; + ResponseTime.Type = "line"; + ResponseTime.YAxisIndex = 1; + ResponseTime.ShowBackground = true; - exceptionDistributionResult.seriesData = new SeriesData_[] { EveTIME, EveTNUM }; + if (Xdata.Count > 0) + { + decimal[] Data = new decimal[Xdata.Count]; + foreach (var xdata in Xdata) + { + DateTime midnight = GetMidnightTime(xdata); + DateTime noon = GetNoonTime(xdata); + decimal temp = InitData.Where(it => it.StartTime >= midnight && it.StartTime <= noon).Sum(it=>it.Duration).Value; + Data[Xdata.IndexOf(xdata)] = Math.Round(temp, 2); + + + } + ResponseTime.Data = Data; + } + exceptionDistributionResult.seriesData = new SeriesData_[] { EveTIME, EveTNUM, ResponseTime }; return exceptionDistributionResult; } diff --git a/ZR.Service/MES/andon/AndonFaultRecordService.cs b/ZR.Service/MES/andon/AndonFaultRecordService.cs index 1664213..faeef17 100644 --- a/ZR.Service/MES/andon/AndonFaultRecordService.cs +++ b/ZR.Service/MES/andon/AndonFaultRecordService.cs @@ -31,6 +31,8 @@ namespace ZR.Service.MES.andon .AndIF(!string.IsNullOrEmpty(parm.AskPerson),it=>it.AskPerson.Contains(parm.AskPerson)) .AndIF(!string.IsNullOrEmpty(parm.FaultDict),it=>it.FaultDict.Contains(parm.FaultDict)) .AndIF(!string.IsNullOrEmpty(parm.FaultDict),it=>it.FaultDict.Contains(parm.FaultDict)) + .AndIF(parm.Status==1,it=>it.Status==1) + .AndIF(parm.Status==2,it=>it.Status==2) .AndIF(parm.DateTimeRange.Count()==2&&parm.DateTimeRange[0]>DateTime.MinValue,it=>it.StartTime>= parm.DateTimeRange[0]) .AndIF(parm.DateTimeRange.Count() == 2&&parm.DateTimeRange[1]>DateTime.MinValue,it=>it.StartTime<= parm.DateTimeRange[1]) ;