diff --git a/DOAN.Service/MES/BI/AndonDataAnalysisService.cs b/DOAN.Service/MES/BI/AndonDataAnalysisService.cs index f70547c..ff3cfd7 100644 --- a/DOAN.Service/MES/BI/AndonDataAnalysisService.cs +++ b/DOAN.Service/MES/BI/AndonDataAnalysisService.cs @@ -236,7 +236,52 @@ namespace DOAN.Service.MES.BI /// public EchartsOptions MonthLineShutDown() { - return null; + EchartsOptions echartsOptions = new EchartsOptions(); + echartsOptions.Title = new EchartsTitle { Text = "本月各组异常时间统计", SubText = "本月各组异常时间统计" }; + + // X轴 + EchartsXAxis echartsXAxis = new EchartsXAxis(); + + echartsXAxis.Data= Context.Queryable().Where(it=>it.Status>0).Select(it=>it.Code).ToList(); + echartsOptions.XAxis = echartsXAxis; + + + //系列 + EchartsSeries echartsSeries = new EchartsSeries(); + echartsSeries.Name = "各组异常时间"; + echartsSeries.Type = "bar"; + + List seriesData = new List(); + + var subquery= Context.Queryable().GroupBy(it => it.LineCode) + .Select(it => new + { + LineCode = it.LineCode, + TotalDuration = SqlFunc.AggregateSum(it.Duration) + }); + + Context.Queryable().LeftJoin(subquery,(r,s)=>r.Code==s.LineCode) + .Select((r, s) => new + { + Code = r.Code, + TotalDuration = SqlFunc.IsNullOrEmpty(s.TotalDuration) ? 0 : s.TotalDuration + }) + .ToList() + .ForEach(it => + { + seriesData.Add(new EchartsSeriesData + { + Name = it.Code, + Value = it.TotalDuration??0 + }); + }); + + echartsSeries.Data=seriesData; + + echartsOptions.Series=new List { echartsSeries }; + + + return echartsOptions; } }