质量大屏
This commit is contained in:
@@ -55,11 +55,25 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Quality
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("GetQualitySmartScreenForMonth")]
|
[HttpGet("GetQualitySmartScreenForMonth")]
|
||||||
|
[AllowAnonymous]
|
||||||
public IActionResult GetQualitySmartScreenForMonth()
|
public IActionResult GetQualitySmartScreenForMonth()
|
||||||
{
|
{
|
||||||
|
|
||||||
var response = _QualitySmartService.GetQualitySmartScreenForMonth();
|
var response = _QualitySmartService.GetQualitySmartScreenForMonth();
|
||||||
return SUCCESS(response);
|
return SUCCESS(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 按月获取质量大屏数据数状图
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("GetQualitySmartScreenForBarChart")]
|
||||||
|
[AllowAnonymous]
|
||||||
|
public IActionResult GetQualitySmartScreenForBarChart()
|
||||||
|
{
|
||||||
|
|
||||||
|
var response = _QualitySmartService.GetQualitySmartScreenForBarChart();
|
||||||
|
return SUCCESS(response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,8 +78,13 @@ namespace DOAN.Model.MES.SmartScreen
|
|||||||
/// 参数值
|
/// 参数值
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<EchartsSeriesData> Data { get; set; } = new List<EchartsSeriesData>();
|
public List<EchartsSeriesData> Data { get; set; } = new List<EchartsSeriesData>();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// echarts图表series返回值内容
|
/// echarts图表series返回值内容
|
||||||
///</summary>
|
///</summary>
|
||||||
|
|||||||
@@ -16,5 +16,9 @@ namespace DOAN.Service.MES.SmartScreen.Quality.IService
|
|||||||
|
|
||||||
List<EchartsSeriesData> GetQualitySmartScreenForWeek();
|
List<EchartsSeriesData> GetQualitySmartScreenForWeek();
|
||||||
List<EchartsSeriesData> GetQualitySmartScreenForMonth();
|
List<EchartsSeriesData> GetQualitySmartScreenForMonth();
|
||||||
|
|
||||||
|
//barchart EchartsOptions
|
||||||
|
|
||||||
|
EchartsOptions GetQualitySmartScreenForBarChart();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ namespace DOAN.Service.MES.SmartScreen.Quality
|
|||||||
{
|
{
|
||||||
public QualityScreenHeadDto GetQualityScreenHead()
|
public QualityScreenHeadDto GetQualityScreenHead()
|
||||||
{
|
{
|
||||||
QualityScreenHeadDto qualityScreenHeadDto = new QualityScreenHeadDto();
|
QualityScreenHeadDto qualityScreenHeadDto = new QualityScreenHeadDto();
|
||||||
// 当前日期
|
// 当前日期
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
// 当前月份的第一天 00:00:00
|
// 当前月份的第一天 00:00:00
|
||||||
@@ -42,8 +42,8 @@ namespace DOAN.Service.MES.SmartScreen.Quality
|
|||||||
.AddSeconds(59);
|
.AddSeconds(59);
|
||||||
var response = Queryable().ToList();
|
var response = Queryable().ToList();
|
||||||
|
|
||||||
qualityScreenHeadDto.MonthFQC = response.Where(o => o.CheckDatetime >= firstDayOfMonth && o.CheckDatetime <= lastDayOfMonth).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);
|
qualityScreenHeadDto.WeekFQC = response.Where(o => o.CheckDatetime >= startOfWeek && o.CheckDatetime <= endOfWeek).Sum(o => o.Number);
|
||||||
return qualityScreenHeadDto;
|
return qualityScreenHeadDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,13 +94,80 @@ namespace DOAN.Service.MES.SmartScreen.Quality
|
|||||||
.GroupBy(defect => new { defect.DefectCode })
|
.GroupBy(defect => new { defect.DefectCode })
|
||||||
.Select(defect => new EchartsSeriesData
|
.Select(defect => new EchartsSeriesData
|
||||||
{
|
{
|
||||||
|
|
||||||
Name = defect.DefectName,
|
Name = defect.DefectName,
|
||||||
Value =Convert.ToDecimal(SqlFunc.AggregateSum(defect.Number))
|
Value = Convert.ToDecimal(SqlFunc.AggregateSum(defect.Number))
|
||||||
})
|
})
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
return result;
|
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<DateTime> dateList = new List<DateTime>();
|
||||||
|
|
||||||
|
// 遍历从第一天到最后一天的日期
|
||||||
|
for (DateTime date = firstDayOfMonth; date <= lastDayOfMonth; date = date.AddDays(1))
|
||||||
|
{
|
||||||
|
dateList.Add(date); // 使用标准日期格式
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
EchartsOptions echartsOptions = new EchartsOptions();
|
||||||
|
EchartsXAxis echartsXAxis = new EchartsXAxis();
|
||||||
|
|
||||||
|
List<string> dateStringList= new List<string>();
|
||||||
|
foreach (var date in dateList)
|
||||||
|
{
|
||||||
|
dateStringList.Add(date.ToString("MM-dd"));
|
||||||
|
}
|
||||||
|
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.Select(o => o.DefectName).Distinct().ToList();
|
||||||
|
|
||||||
|
foreach (var classitem in classname)
|
||||||
|
{
|
||||||
|
EchartsSeries echartsSeries = new EchartsSeries();
|
||||||
|
echartsSeries.Name = classitem;
|
||||||
|
List<EchartsSeriesData> echartsSeriesDatas = new List<EchartsSeriesData>();
|
||||||
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user