diff --git a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Quality/QualitySmartController.cs b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Quality/QualitySmartController.cs
index d99a7e6..0ee7399 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Quality/QualitySmartController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Quality/QualitySmartController.cs
@@ -55,11 +55,25 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Quality
///
///
[HttpGet("GetQualitySmartScreenForMonth")]
+ [AllowAnonymous]
public IActionResult GetQualitySmartScreenForMonth()
{
var response = _QualitySmartService.GetQualitySmartScreenForMonth();
return SUCCESS(response);
}
+
+ ///
+ /// 按月获取质量大屏数据数状图
+ ///
+ ///
+ [HttpGet("GetQualitySmartScreenForBarChart")]
+ [AllowAnonymous]
+ public IActionResult GetQualitySmartScreenForBarChart()
+ {
+
+ var response = _QualitySmartService.GetQualitySmartScreenForBarChart();
+ return SUCCESS(response);
+ }
}
}
diff --git a/DOAN.Model/MES/SmartScreen/EchartsDto.cs b/DOAN.Model/MES/SmartScreen/EchartsDto.cs
index 622a76d..402d0d6 100644
--- a/DOAN.Model/MES/SmartScreen/EchartsDto.cs
+++ b/DOAN.Model/MES/SmartScreen/EchartsDto.cs
@@ -78,8 +78,13 @@ namespace DOAN.Model.MES.SmartScreen
/// 参数值
///
public List Data { get; set; } = new List();
+
+
}
+
+
+
///
/// echarts图表series返回值内容
///
diff --git a/DOAN.Service/MES/SmartScreen/Quality/IService/IQualitySmartService.cs b/DOAN.Service/MES/SmartScreen/Quality/IService/IQualitySmartService.cs
index 142c80d..25cf09f 100644
--- a/DOAN.Service/MES/SmartScreen/Quality/IService/IQualitySmartService.cs
+++ b/DOAN.Service/MES/SmartScreen/Quality/IService/IQualitySmartService.cs
@@ -16,5 +16,9 @@ namespace DOAN.Service.MES.SmartScreen.Quality.IService
List GetQualitySmartScreenForWeek();
List GetQualitySmartScreenForMonth();
+
+ //barchart EchartsOptions
+
+ EchartsOptions GetQualitySmartScreenForBarChart();
}
}
diff --git a/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs b/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs
index 33dec93..77dcdd8 100644
--- a/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs
+++ b/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs
@@ -23,7 +23,7 @@ namespace DOAN.Service.MES.SmartScreen.Quality
{
public QualityScreenHeadDto GetQualityScreenHead()
{
- QualityScreenHeadDto qualityScreenHeadDto = new QualityScreenHeadDto();
+ QualityScreenHeadDto qualityScreenHeadDto = new QualityScreenHeadDto();
// 当前日期
DateTime now = DateTime.Now;
// 当前月份的第一天 00:00:00
@@ -42,8 +42,8 @@ namespace DOAN.Service.MES.SmartScreen.Quality
.AddSeconds(59);
var response = Queryable().ToList();
- qualityScreenHeadDto.MonthFQC = response.Where(o => o.CheckDatetime >= firstDayOfMonth && o.CheckDatetime <= lastDayOfMonth).Sum(o=>o.Number);
- qualityScreenHeadDto.WeekFQC= response.Where(o => o.CheckDatetime >= startOfWeek && o.CheckDatetime <= endOfWeek).Sum(o => o.Number);
+ qualityScreenHeadDto.MonthFQC = response.Where(o => o.CheckDatetime >= firstDayOfMonth && o.CheckDatetime <= lastDayOfMonth).Sum(o => o.Number);
+ qualityScreenHeadDto.WeekFQC = response.Where(o => o.CheckDatetime >= startOfWeek && o.CheckDatetime <= endOfWeek).Sum(o => o.Number);
return qualityScreenHeadDto;
}
@@ -94,13 +94,80 @@ namespace DOAN.Service.MES.SmartScreen.Quality
.GroupBy(defect => new { defect.DefectCode })
.Select(defect => new EchartsSeriesData
{
-
+
Name = defect.DefectName,
- Value =Convert.ToDecimal(SqlFunc.AggregateSum(defect.Number))
+ Value = Convert.ToDecimal(SqlFunc.AggregateSum(defect.Number))
})
.ToList();
return result;
}
+
+ public EchartsOptions GetQualitySmartScreenForBarChart()
+ {
+
+ // 获取当前日期
+ DateTime now = DateTime.Now;
+ // 当前月份的第一天 00:00:00
+ DateTime firstDayOfMonth = new DateTime(now.Year, now.Month, 1);
+ // 当前月份的最后一天 23:59:59
+ DateTime lastDayOfMonth = new DateTime(now.Year, now.Month, 1)
+ .AddMonths(1)
+ .AddSeconds(-1);
+ // 创建字符串集合存储日期
+ List dateList = new List();
+
+ // 遍历从第一天到最后一天的日期
+ for (DateTime date = firstDayOfMonth; date <= lastDayOfMonth; date = date.AddDays(1))
+ {
+ dateList.Add(date); // 使用标准日期格式
+ }
+
+
+
+ EchartsOptions echartsOptions = new EchartsOptions();
+ EchartsXAxis echartsXAxis = new EchartsXAxis();
+
+ List dateStringList= new List();
+ foreach (var date in dateList)
+ {
+ dateStringList.Add(date.ToString("MM-dd"));
+ }
+ 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.Select(o => o.DefectName).Distinct().ToList();
+
+ foreach (var classitem in classname)
+ {
+ EchartsSeries echartsSeries = new EchartsSeries();
+ echartsSeries.Name = classitem;
+ List echartsSeriesDatas = new List();
+ foreach (var dateitem in dateList)
+ {
+ DateTime startOfDay = dateitem.Date;
+
+ // 结束时间:当天的 23:59:59
+ DateTime endOfDay = startOfDay.AddDays(1).AddSeconds(-1);
+ EchartsSeriesData echartsSeriesData = new EchartsSeriesData();
+ echartsSeriesData.Name = dateitem.ToString("MM-dd");
+ echartsSeriesData.Value =Convert.ToDecimal(qcFinishedproductDefectCollections.Where(o=>o.DefectName==classitem&&o.CheckDatetime >= startOfDay && o.CheckDatetime<= endOfDay).Sum(o=>o.Number));
+ echartsSeriesDatas.Add(echartsSeriesData);
+
+ }
+ echartsSeries.Data = echartsSeriesDatas;
+ echartsSeriesList.Add(echartsSeries);
+ }
+ echartsOptions.Series = echartsSeriesList;
+ return echartsOptions;
+ }
}
}