diff --git a/DOAN.Admin.WebApi/Controllers/MES/BigScreen/quality/QualityController.cs b/DOAN.Admin.WebApi/Controllers/MES/BigScreen/quality/QualityController.cs
index 1cd2c79..c02a21c 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/BigScreen/quality/QualityController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/BigScreen/quality/QualityController.cs
@@ -11,5 +11,88 @@ namespace DOAN.WebApi.Controllers.MES.BigScreen
[AllowAnonymous]
[Route("mes/bigscreen/quality")]
public class QualityController : BaseController
- {}
+ {
+ private readonly IQualityBigScreenService bigScreenService;
+
+ public QualityController(IQualityBigScreenService bigScreenService)
+ {
+ this.bigScreenService=bigScreenService;
+ }
+
+ ///
+ /// 获取今日IQC 缺陷饼图
+ ///
+ ///
+
+ [HttpGet("get_moudle01")]
+ public IActionResult GetMoudle01()
+ {
+ var response = bigScreenService.GetMoudle01();
+ return SUCCESS(response);
+ }
+
+ ///
+ /// 获取今日IpQC 缺陷饼图
+ ///
+ ///
+
+ [HttpGet("get_moudle02")]
+ public IActionResult GetMoudle02()
+ {
+ var response = bigScreenService.GetMoudle02();
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 获取今日FQC 缺陷饼图
+ ///
+ ///
+
+ [HttpGet("get_moudle03")]
+ public IActionResult GetMoudle03()
+ {
+ var response = bigScreenService.GetMoudle03();
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 获取近 七日 IQC 缺陷直方图
+ ///
+ ///
+
+ [HttpGet("get_moudle04")]
+ public IActionResult GetMoudle04()
+ {
+ var response = bigScreenService.GetMoudle04();
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 获取近 七日 IPQC 缺陷直方图
+ ///
+ ///
+
+ [HttpGet("get_moudle05")]
+ public IActionResult GetMoudle05()
+ {
+ var response = bigScreenService.GetMoudle05();
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 获取近 七日 FQC 缺陷直方图
+ ///
+ ///
+
+ [HttpGet("get_moudle06")]
+ public IActionResult GetMoudle06()
+ {
+ var response = bigScreenService.GetMoudle06();
+ return SUCCESS(response);
+ }
+ }
}
\ No newline at end of file
diff --git a/DOAN.Service/MES/bigScreen/IService/IQualityBigScreenService.cs b/DOAN.Service/MES/bigScreen/IService/IQualityBigScreenService.cs
index 190c4a8..554237e 100644
--- a/DOAN.Service/MES/bigScreen/IService/IQualityBigScreenService.cs
+++ b/DOAN.Service/MES/bigScreen/IService/IQualityBigScreenService.cs
@@ -1,7 +1,15 @@
using DOAN.Model.MES.bigscreen.Dto;
using DOAN.Model.MES.dev;
+using DOAN.Model.mes.echarts;
namespace DOAN.Service.MES.bigScreen.IService;
public interface IQualityBigScreenService : IBaseService
-{}
\ No newline at end of file
+{
+ EchartsOptions GetMoudle01();
+ EchartsOptions GetMoudle02();
+ EchartsOptions GetMoudle03();
+ EchartsOptions GetMoudle04();
+ EchartsOptions GetMoudle05();
+ EchartsOptions GetMoudle06();
+}
\ No newline at end of file
diff --git a/DOAN.Service/MES/bigScreen/ProductBigScreenService.cs b/DOAN.Service/MES/bigScreen/ProductBigScreenService.cs
index ad9f20e..095c279 100644
--- a/DOAN.Service/MES/bigScreen/ProductBigScreenService.cs
+++ b/DOAN.Service/MES/bigScreen/ProductBigScreenService.cs
@@ -60,8 +60,8 @@ public class ProductBigScreenService : BaseService, IProductBigScr
var Title = new EchartsTitle();
- Title.Text = "7日产量趋势图";
- Title.SubText = "7日产量趋势图";
+ Title.Text = "前7日产量趋势图";
+ Title.SubText = "前7日产量趋势图";
LineEchart.Title = Title;
var XAxis = new EchartsXAxis();
@@ -114,8 +114,8 @@ public class ProductBigScreenService : BaseService, IProductBigScr
var Title = new EchartsTitle();
- Title.Text = "7日工单趋势图";
- Title.SubText = "7日工单趋势图";
+ Title.Text = "本周工单趋势图";
+ Title.SubText = "本周工单趋势图";
LineEchart.Title = Title;
var XAxis = new EchartsXAxis();
@@ -204,7 +204,7 @@ public class ProductBigScreenService : BaseService, IProductBigScr
// List Series=new List();
EchartsSeries SeriesData = new EchartsSeries();
- var EchartsSeriesDataList= Context.Queryable().LeftJoin((w, l) =>
+ var EchartsSeriesDataList= Context.Queryable().LeftJoin((w, l) =>
w.Workorder == l.Workorder )
.Where((w,l)=>w.WorkorderDate < DateTime.Today.AddDays(1) &&
w.WorkorderDate < DateTime.Today.AddDays(-6))
diff --git a/DOAN.Service/MES/bigScreen/QualityBigScreenService.cs b/DOAN.Service/MES/bigScreen/QualityBigScreenService.cs
index 1d09b84..e302266 100644
--- a/DOAN.Service/MES/bigScreen/QualityBigScreenService.cs
+++ b/DOAN.Service/MES/bigScreen/QualityBigScreenService.cs
@@ -2,7 +2,12 @@ using Infrastructure.Attribute;
using DOAN.Model.MES.base_;
using DOAN.Model.MES.bigscreen.Dto;
using DOAN.Model.MES.dev;
+using DOAN.Model.mes.echarts;
using DOAN.Model.MES.mm;
+using DOAN.Model.MES.product;
+using DOAN.Model.MES.quality.FQC;
+using DOAN.Model.MES.quality.IPQC;
+using DOAN.Model.MES.quality.IQC;
using DOAN.Service.MES.bigScreen.IService;
@@ -13,7 +18,268 @@ namespace DOAN.Service.MES.bigScreen
///
[AppService(ServiceType = typeof(IQualityBigScreenService), ServiceLifetime = LifeTime.Transient)]
public class QualityBigScreenService : BaseService, IQualityBigScreenService
- {}
+ {
+ public EchartsOptions GetMoudle01()
+ {
+ var LineEchart = new EchartsOptions();
+
+ LineEchart.Title = new EchartsTitle("今天IQC缺陷分布占比", "今天IQC缺陷分布占比");
+
+ // List Series=new List();
+ EchartsSeries SeriesData = new EchartsSeries();
+
+ var EchartsSeriesDataList= Context.Queryable()
+ .Where(it=>it.DateTime==DateTime.Today)
+ .Where(it=>it.Type==1)
+ .GroupBy(it=>it.DefectDescription)
+ .Select(it => new EchartsSeriesData
+ {
+ Name = it.DefectDescription,
+ Value = SqlFunc.AggregateSum(it.Quantity)
+
+ }).ToList();
+ SeriesData.Type = "pie";
+ SeriesData.Data = EchartsSeriesDataList;
+ SeriesData.Name = "缺陷数";
+ LineEchart.Series= new List(){SeriesData};
+ return LineEchart;
+ }
+
+ public EchartsOptions GetMoudle02()
+ {
+ var LineEchart = new EchartsOptions();
+
+ LineEchart.Title = new EchartsTitle("今天IPQC缺陷分布占比", "今天IPQC缺陷分布占比");
+
+ // List Series=new List();
+ EchartsSeries SeriesData = new EchartsSeries();
+
+ var EchartsSeriesDataList= Context.Queryable()
+ .Where(it=>it.DateTime==DateTime.Today)
+ .Where(it=>it.Type==2)
+ .GroupBy(it=>it.DefectDescription)
+ .Select(it => new EchartsSeriesData
+ {
+ Name = it.DefectDescription,
+ Value = SqlFunc.AggregateSum(it.Quantity)
+
+ }).ToList();
+ SeriesData.Type = "pie";
+ SeriesData.Data = EchartsSeriesDataList;
+ SeriesData.Name = "缺陷数";
+ LineEchart.Series= new List(){SeriesData};
+ return LineEchart;
+ }
+
+ public EchartsOptions GetMoudle03()
+ {
+ var LineEchart = new EchartsOptions();
+
+ LineEchart.Title = new EchartsTitle("今天FQC缺陷分布占比", "今天FQC缺陷分布占比");
+
+ // List Series=new List();
+ EchartsSeries SeriesData = new EchartsSeries();
+
+ var EchartsSeriesDataList = Context.Queryable()
+ .LeftJoin((p, f) => p.Workorder == f.Workorder)
+ .LeftJoin((p, f, d) => f.DefectCode == d.Code)
+ .Where((p, f, d) => p.WorkorderDate == DateTime.Today)
+ .GroupBy((p, f, d) => new { f.DefectCode, d.Name })
+ .Select((p, f, d) => new EchartsSeriesData()
+ {
+ Name = d.Name,
+ Value = SqlFunc.AggregateSum(f.Number ?? 0)
+ }).ToList();
+
+
+
+
+
+
+
+
+
+ SeriesData.Type = "pie";
+ SeriesData.Data = EchartsSeriesDataList;
+ SeriesData.Name = "缺陷数";
+ LineEchart.Series= new List(){SeriesData};
+ return LineEchart;
+ }
+
+ public EchartsOptions GetMoudle04()
+ {
+ var LineEchart = new EchartsOptions();
+
+
+ var Title = new EchartsTitle();
+ Title.Text = "前7日IQC缺陷数量直方图";
+ Title.SubText = "前7日IQC缺陷数量直方图";
+ LineEchart.Title = Title;
+
+ var XAxis = new EchartsXAxis();
+
+ // 获取今天的日期
+ var today = DateTime.Today;
+
+ // 创建一个数组来存储七天的日期
+ var dates = new DateTime[7];
+
+ // 填充数组
+ for (var i = 0; i < 7; i++) dates[i] = today.AddDays(-i);
+
+ // 反转数组,使得日期从最早的开始
+ Array.Reverse(dates);
+ XAxis.Data = dates.Select(it => it.ToString("yyyy-MM-dd")).ToList();
+ LineEchart.XAxis = XAxis;
+
+
+ var Series = new EchartsSeries();
+
+
+ var SeriesData =Context.Queryable()
+ .Where(it=>it.Type==1)
+ .Where(it=>it.DateTime>DateTime.Today.AddDays(-6)&&it.DateTimeit.DateTime)
+ .Select(it=> new EchartsSeriesData
+ {
+ Name =it.DateTime.Value.ToString("yyyy-MM-dd"),
+ Value = SqlFunc.AggregateSum(it.Quantity)
+ }).ToList();
+
+
+
+
+ Series.Data = SeriesData;
+ Series.Type = "line";
+ Series.Name = "缺陷数";
+
+ LineEchart.Series = new List(){Series};
+
+ return LineEchart;
+ }
+
+ public EchartsOptions GetMoudle05()
+ {
+ var LineEchart = new EchartsOptions();
+
+
+ var Title = new EchartsTitle();
+ Title.Text = "前7日IQC缺陷数量直方图";
+ Title.SubText = "前7日IQC缺陷数量直方图";
+ LineEchart.Title = Title;
+
+ var XAxis = new EchartsXAxis();
+
+ // 获取今天的日期
+ var today = DateTime.Today;
+
+ // 创建一个数组来存储七天的日期
+ var dates = new DateTime[7];
+
+ // 填充数组
+ for (var i = 0; i < 7; i++) dates[i] = today.AddDays(-i);
+
+ // 反转数组,使得日期从最早的开始
+ Array.Reverse(dates);
+ XAxis.Data = dates.Select(it => it.ToString("yyyy-MM-dd")).ToList();
+ LineEchart.XAxis = XAxis;
+
+
+ var Series = new EchartsSeries();
+
+
+ var SeriesData =Context.Queryable()
+ .Where(it=>it.Type==2)
+ .Where(it=>it.DateTime>DateTime.Today.AddDays(-6)&&it.DateTimeit.DateTime)
+ .Select(it=> new EchartsSeriesData
+ {
+ Name =it.DateTime.Value.ToString("yyyy-MM-dd"),
+ Value = SqlFunc.AggregateSum(it.Quantity)
+ }).ToList();
+
+
+
+
+ Series.Data = SeriesData;
+ Series.Type = "line";
+ Series.Name = "缺陷数";
+
+ LineEchart.Series = new List(){Series};
+
+ return LineEchart;
+ }
+
+ public EchartsOptions GetMoudle06()
+ {
+
+ var LineEchart = new EchartsOptions();
+
+
+ var Title = new EchartsTitle();
+ Title.Text = "前7日FQC缺陷数量直方图";
+ Title.SubText = "前7日FQC缺陷数量直方图";
+ LineEchart.Title = Title;
+
+ var XAxis = new EchartsXAxis();
+
+ // 获取今天的日期
+ var today = DateTime.Today;
+
+ // 创建一个数组来存储七天的日期
+ var dates = new DateTime[7];
+
+ // 填充数组
+ for (var i = 0; i < 7; i++) dates[i] = today.AddDays(-i);
+
+ // 反转数组,使得日期从最早的开始
+ Array.Reverse(dates);
+ XAxis.Data = dates.Select(it => it.ToString("yyyy-MM-dd")).ToList();
+ LineEchart.XAxis = XAxis;
+
+
+
+
+
+ var result =Context.Queryable()
+ .LeftJoin((p, f) => p.Workorder == f.Workorder)
+ .LeftJoin((p, f, d) => f.DefectCode == d.Code)
+ .Where((p, f, d) => p.WorkorderDate>DateTime.Today.AddDays(-6)&&p.WorkorderDate new { p.WorkorderDate ,f.DefectCode,d.Name})
+ .Select((p, f, d) => new
+ {
+ WorkorderDate=p.WorkorderDate,
+ DefectCode=f.DefectCode,
+ Name = d.Name,
+ Value = SqlFunc.AggregateSum(f.Number ?? 0)
+ }).ToList();
+ List QcDefectConfigList= Context.Queryable().ToList();
+ var list = new List();
+ foreach (var item in QcDefectConfigList)
+ {
+ EchartsSeries QcSeries = new EchartsSeries();
+ QcSeries.Name = item.Name+"-缺陷数";
+ List Data = result.Where(it => it.DefectCode == item.Code)
+ .Select(it => new EchartsSeriesData()
+ {
+ Name = it.Name,
+ Value = it.Value
+ }).ToList();
+ QcSeries.Data = Data;
+
+
+ list.Add(QcSeries);
+
+ }
+
+ LineEchart.Series = list;
+
+ return LineEchart;
+
+ }
+ }
}