From 2b6ad4b0c472322e40a0010b81c4bef416a4ab98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A2=E6=B1=9F=E6=B5=B7?= <18360817963@163.com> Date: Fri, 28 Mar 2025 09:50:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Quality/QualitySmartService.cs | 55 ++++++++----------- 1 file changed, 24 insertions(+), 31 deletions(-) diff --git a/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs b/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs index 1a07cd3..9dcc868 100644 --- a/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs +++ b/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs @@ -247,47 +247,40 @@ namespace DOAN.Service.MES.SmartScreen.Quality } echartsXAxis.Data = dateStringList; echartsOptions.XAxis = echartsXAxis; - - List echartsSeriesList = new List(); // 使用 SqlSugar 进行联表查询和分组统计 List qcFinishedproductDefectCollections = Context.Queryable() .Where(defect => defect.CheckDatetime >= firstDayOfMonth && defect.CheckDatetime <= lastDayOfMonth).ToList(); - - List classname = qcFinishedproductDefectCollections.OrderBy(o => o.DefectCode).Select(o => o.DefectName).Distinct().ToList(); - - foreach (var classitem in classname) + List echartsSeriesDatas = new List(); + foreach (var dateitem in dateList) { - EchartsSeries echartsSeries = new EchartsSeries(); - echartsSeries.Name = classitem; - List echartsSeriesDatas = new List(); - foreach (var dateitem in dateList) - { - - DateTime startOfDay = dateitem.Date; - DateTime endOfDay = startOfDay.AddDays(1).AddSeconds(-1); - decimal plannum =Convert.ToDecimal(proWorkorders.Where(o => o.WorkorderDate >= startOfDay && o.WorkorderDate <= endOfDay).Sum(o=>o.PlanNum)); - decimal nopassnum= Convert.ToDecimal(qcFinishedproductDefectCollections.Where(o => o.DefectName == classitem && o.CheckDatetime >= startOfDay && o.CheckDatetime <= endOfDay).Sum(o => o.Number)); - decimal passnum = plannum - nopassnum; - EchartsSeriesData echartsSeriesData = new EchartsSeriesData(); - echartsSeriesData.Name = dateitem.ToString("MM-dd"); - if (plannum==0) - { - echartsSeriesData.Value =0; - } - else - { - echartsSeriesData.Value = passnum / plannum; - } - - echartsSeriesDatas.Add(echartsSeriesData); + DateTime startOfDay = dateitem.Date; + DateTime endOfDay = startOfDay.AddDays(1).AddSeconds(-1); + decimal plannum = Convert.ToDecimal(proWorkorders.Where(o => o.WorkorderDate >= startOfDay && o.WorkorderDate <= endOfDay).Sum(o => o.PlanNum)); + decimal nopassnum = Convert.ToDecimal(qcFinishedproductDefectCollections.Where(o => o.CheckDatetime >= startOfDay && o.CheckDatetime <= endOfDay).Sum(o => o.Number)); + decimal passnum = plannum - nopassnum; + EchartsSeriesData echartsSeriesData = new EchartsSeriesData(); + echartsSeriesData.Name = dateitem.ToString("MM-dd"); + if (plannum == 0) + { + echartsSeriesData.Value = 0; } - echartsSeries.Data = echartsSeriesDatas; - echartsSeriesList.Add(echartsSeries); + else + { + echartsSeriesData.Value = passnum / plannum; + } + + echartsSeriesDatas.Add(echartsSeriesData); + } + EchartsSeries echartsSeries = new EchartsSeries(); + echartsSeries.Name = "每日良品率"; + echartsSeries.Type = "line"; + echartsSeries.Data = echartsSeriesDatas; + echartsSeriesList.Add(echartsSeries); echartsOptions.Series = echartsSeriesList; return echartsOptions; }