数字翻牌器修改

This commit is contained in:
qianhao.xu
2024-12-27 09:21:26 +08:00
parent 9d22ec83eb
commit 2944e38bb1
2 changed files with 29 additions and 21 deletions

View File

@@ -19,12 +19,15 @@ namespace DOAN.Model.MES.SmartScreen.Product
/// <summary> /// <summary>
/// 今日已经完成工单数 /// 今日已经完成工单数
/// </summary> /// </summary>
public int FinishedWorkorderQuantity { get; set; } //public int FinishedWorkorderQuantity { get; set; }
/// <summary> /// <summary>
/// 今日未完成工单数 /// 今日物料领用
/// </summary> /// </summary>
public int UnFinishedWorkorderQuantity { get; set; } public int MaterialRequisitionQuantity { get; set; }
/// <summary> /// <summary>
/// 今日生产计划总数 /// 今日生产计划总数
@@ -32,12 +35,13 @@ namespace DOAN.Model.MES.SmartScreen.Product
public int ProductionPlanQuantity { get; set; } public int ProductionPlanQuantity { get; set; }
/// <summary> ///// <summary>
/// 今日生产完成总数 ///// 今日生产完成总数
/// </summary> ///// </summary>
public int ProductionFinishQuantity { get; set; } //public int ProductionFinishQuantity { get; set; }
// 今日出货数量
public int ShipmentQuantity { get; set; }
/// <summary> /// <summary>
/// 今天动用组数 /// 今天动用组数
/// </summary> /// </summary>

View File

@@ -32,20 +32,22 @@ namespace DOAN.Service.MES.SmartScreen.Product
DigitalTurntableModel digital=new DigitalTurntableModel(); DigitalTurntableModel digital=new DigitalTurntableModel();
digital.WorkorderQuantity = Context.Queryable<ProWorkorder>().Where(it=>it.WorkorderDate==DateTime.Today).Count(); digital.WorkorderQuantity = Context.Queryable<ProWorkorder>().Where(it=>it.WorkorderDate==DateTime.Today).Count();
digital.FinishedWorkorderQuantity=Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today) //digital.FinishedWorkorderQuantity=Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today)
.Where(it=>it.Status==2) // .Where(it=>it.Status==2)
.Count(); // .Count();
digital.UnFinishedWorkorderQuantity = Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today) //digital.UnFinishedWorkorderQuantity = Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today)
.Where(it => it.Status <2) // .Where(it => it.Status <2)
.Count(); // .Count();
digital.ProductionPlanQuantity = Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today).Sum(it=>it.PlanNum??0); digital.ProductionPlanQuantity = Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today).Sum(it=>it.PlanNum??0);
digital.ProductionFinishQuantity = Context.Queryable<ProReportwork01>().Where(it => it.JobDateTime >= DateTime.Today && it.JobDateTime < DateTime.Today.AddDays(1)) //digital.ProductionFinishQuantity = Context.Queryable<ProReportwork01>().Where(it => it.JobDateTime >= DateTime.Today && it.JobDateTime < DateTime.Today.AddDays(1))
.Where(it => it.ProcessId == 90).Sum(it => it.FinishNum??0); // .Where(it => it.ProcessId == 90).Sum(it => it.FinishNum??0);
digital.MaterialRequisitionQuantity = Context.Queryable<ProReportwork01>().Where(it => it.ProcessId == 10 && it.JobDateTime >= DateTime.Today && it.JobDateTime < DateTime.Today.AddDays(1)).Sum(it => it.FinishNum ?? 0);
digital.ShipmentQuantity = Context.Queryable<ProReportwork01>().Where(it => it.ProcessId == 90 && it.JobDateTime >= DateTime.Today && it.JobDateTime < DateTime.Today.AddDays(1)).Sum(it => it.FinishNum ?? 0);
digital.GroupQuantity=Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today).Select(it=>it.GroupCode).Distinct().Count(); digital.GroupQuantity=Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today).Select(it=>it.GroupCode).Distinct().Count();
@@ -336,11 +338,12 @@ namespace DOAN.Service.MES.SmartScreen.Product
.ToArray(); .ToArray();
//1 X轴 //1 X轴
List<DateTime> DateTimeArray= new List<DateTime>(); List<DateTime> DateTimeArray= new List<DateTime>();
// 定义起始时间和结束时间 // 定义起始时间和结束时间
DateTime startTime = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0); //DateTime startTime = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0);
DateTime endTime = startTime.AddHours(13); // 8 AM + 12 hours = 8 PM DateTime startTime = DateTime.Today;
DateTime endTime = DateTime.Today.AddDays(1); // 8 AM + 12 hours = 8 PM
// 使用循环生成每10分钟的时间戳 // 使用循环生成每10分钟的时间戳
for (DateTime currentTime = startTime; currentTime <= endTime; currentTime = currentTime.AddMinutes(10)) for (DateTime currentTime = startTime; currentTime <= endTime; currentTime = currentTime.AddMinutes(10))
@@ -361,7 +364,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
List<EchartsSeriesData> echartsSeriesDatas = new List<EchartsSeriesData>(); List<EchartsSeriesData> echartsSeriesDatas = new List<EchartsSeriesData>();
string sql = "SELECT" + string sql = "SELECT" +
" FROM_UNIXTIME( FLOOR( UNIX_TIMESTAMP( job_datetime ) / 600 ) * 600 ) AS time_period," + " FROM_UNIXTIME( FLOOR( UNIX_TIMESTAMP(job_datetime) / 600 ) * 600 ) AS time_period," +
" SUM( finish_num ) AS count " + " SUM( finish_num ) AS count " +
" FROM" + " FROM" +
" pro_reportwork " + " pro_reportwork " +
@@ -371,8 +374,9 @@ namespace DOAN.Service.MES.SmartScreen.Product
" FLOOR( UNIX_TIMESTAMP( job_datetime ) / 600 )" + " FLOOR( UNIX_TIMESTAMP( job_datetime ) / 600 )" +
" ORDER BY" + " ORDER BY" +
" time_period"; " time_period";
string sql2 = "SELECT time_period, SUM(finish_num) AS count\r\nFROM (\r\n SELECT FROM_UNIXTIME( FLOOR( UNIX_TIMESTAMP( job_datetime ) / 600 ) * 600 ) AS time_period,\r\n finish_num\r\n FROM pro_reportwork\r\n WHERE DATE(job_datetime) = CURDATE() AND @process_id=process_id\r\n) AS subquery\r\nGROUP BY time_period\r\nORDER BY time_period";
DataTable result = Context.Ado.GetDataTable(sql, new { process_id = processArray[i], }); DataTable result = Context.Ado.GetDataTable(sql2, new { process_id = processArray[i], });
int sum = 0; int sum = 0;