质量大屏
This commit is contained in:
parent
59d4105d15
commit
2b6ad4b0c4
@ -247,47 +247,40 @@ namespace DOAN.Service.MES.SmartScreen.Quality
|
||||
}
|
||||
echartsXAxis.Data = dateStringList;
|
||||
echartsOptions.XAxis = echartsXAxis;
|
||||
|
||||
|
||||
List<EchartsSeries> echartsSeriesList = new List<EchartsSeries>();
|
||||
|
||||
// 使用 SqlSugar 进行联表查询和分组统计
|
||||
List<QcFinishedproductDefectCollection> qcFinishedproductDefectCollections = Context.Queryable<QcFinishedproductDefectCollection>()
|
||||
.Where(defect => defect.CheckDatetime >= firstDayOfMonth && defect.CheckDatetime <= lastDayOfMonth).ToList();
|
||||
|
||||
|
||||
List<string> classname = qcFinishedproductDefectCollections.OrderBy(o => o.DefectCode).Select(o => o.DefectName).Distinct().ToList();
|
||||
|
||||
foreach (var classitem in classname)
|
||||
List<EchartsSeriesData> echartsSeriesDatas = new List<EchartsSeriesData>();
|
||||
foreach (var dateitem in dateList)
|
||||
{
|
||||
EchartsSeries echartsSeries = new EchartsSeries();
|
||||
echartsSeries.Name = classitem;
|
||||
List<EchartsSeriesData> echartsSeriesDatas = new List<EchartsSeriesData>();
|
||||
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;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user