diff --git a/DOAN.Model/MES/SmartScreen/Product/DigitalTurntableModel.cs b/DOAN.Model/MES/SmartScreen/Product/DigitalTurntableModel.cs index d3a861b..3ef4f20 100644 --- a/DOAN.Model/MES/SmartScreen/Product/DigitalTurntableModel.cs +++ b/DOAN.Model/MES/SmartScreen/Product/DigitalTurntableModel.cs @@ -19,12 +19,15 @@ namespace DOAN.Model.MES.SmartScreen.Product /// /// 今日已经完成工单数 /// - public int FinishedWorkorderQuantity { get; set; } + //public int FinishedWorkorderQuantity { get; set; } + + /// - /// 今日未完成工单数 + /// 今日物料领用 /// - public int UnFinishedWorkorderQuantity { get; set; } + public int MaterialRequisitionQuantity { get; set; } + /// /// 今日生产计划总数 @@ -32,12 +35,13 @@ namespace DOAN.Model.MES.SmartScreen.Product public int ProductionPlanQuantity { get; set; } - /// - /// 今日生产完成总数 - /// - public int ProductionFinishQuantity { get; set; } - + ///// + ///// 今日生产完成总数 + ///// + //public int ProductionFinishQuantity { get; set; } + // 今日出货数量 + public int ShipmentQuantity { get; set; } /// /// 今天动用组数 /// diff --git a/DOAN.Service/MES/SmartScreen/Product/ProductSmartScreenService.cs b/DOAN.Service/MES/SmartScreen/Product/ProductSmartScreenService.cs index fa4f932..b910b1a 100644 --- a/DOAN.Service/MES/SmartScreen/Product/ProductSmartScreenService.cs +++ b/DOAN.Service/MES/SmartScreen/Product/ProductSmartScreenService.cs @@ -32,20 +32,22 @@ namespace DOAN.Service.MES.SmartScreen.Product DigitalTurntableModel digital=new DigitalTurntableModel(); digital.WorkorderQuantity = Context.Queryable().Where(it=>it.WorkorderDate==DateTime.Today).Count(); - digital.FinishedWorkorderQuantity=Context.Queryable().Where(it => it.WorkorderDate == DateTime.Today) - .Where(it=>it.Status==2) - .Count(); + //digital.FinishedWorkorderQuantity=Context.Queryable().Where(it => it.WorkorderDate == DateTime.Today) + // .Where(it=>it.Status==2) + // .Count(); - digital.UnFinishedWorkorderQuantity = Context.Queryable().Where(it => it.WorkorderDate == DateTime.Today) - .Where(it => it.Status <2) - .Count(); + //digital.UnFinishedWorkorderQuantity = Context.Queryable().Where(it => it.WorkorderDate == DateTime.Today) + // .Where(it => it.Status <2) + // .Count(); digital.ProductionPlanQuantity = Context.Queryable().Where(it => it.WorkorderDate == DateTime.Today).Sum(it=>it.PlanNum??0); - digital.ProductionFinishQuantity = Context.Queryable().Where(it => it.JobDateTime >= DateTime.Today && it.JobDateTime < DateTime.Today.AddDays(1)) - .Where(it => it.ProcessId == 90).Sum(it => it.FinishNum??0); + //digital.ProductionFinishQuantity = Context.Queryable().Where(it => it.JobDateTime >= DateTime.Today && it.JobDateTime < DateTime.Today.AddDays(1)) + // .Where(it => it.ProcessId == 90).Sum(it => it.FinishNum??0); + digital.MaterialRequisitionQuantity = Context.Queryable().Where(it => it.ProcessId == 10 && it.JobDateTime >= DateTime.Today && it.JobDateTime < DateTime.Today.AddDays(1)).Sum(it => it.FinishNum ?? 0); + digital.ShipmentQuantity = Context.Queryable().Where(it => it.ProcessId == 90 && it.JobDateTime >= DateTime.Today && it.JobDateTime < DateTime.Today.AddDays(1)).Sum(it => it.FinishNum ?? 0); digital.GroupQuantity=Context.Queryable().Where(it => it.WorkorderDate == DateTime.Today).Select(it=>it.GroupCode).Distinct().Count(); @@ -336,11 +338,12 @@ namespace DOAN.Service.MES.SmartScreen.Product .ToArray(); //1 X轴 List DateTimeArray= new List(); - + // 定义起始时间和结束时间 - 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 = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 8, 0, 0); + DateTime startTime = DateTime.Today; + DateTime endTime = DateTime.Today.AddDays(1); // 8 AM + 12 hours = 8 PM // 使用循环生成每10分钟的时间戳 for (DateTime currentTime = startTime; currentTime <= endTime; currentTime = currentTime.AddMinutes(10)) @@ -361,7 +364,7 @@ namespace DOAN.Service.MES.SmartScreen.Product List echartsSeriesDatas = new List(); 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 " + " FROM" + " pro_reportwork " + @@ -371,8 +374,9 @@ namespace DOAN.Service.MES.SmartScreen.Product " FLOOR( UNIX_TIMESTAMP( job_datetime ) / 600 )" + " ORDER BY" + " 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;