From 7e43726b4f780804951f6d37fb4347fd21332262 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Mon, 23 Dec 2024 17:39:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A5=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Product/ProductSmartScreenController.cs | 2 +- .../Product/ProductSmartScreenService.cs | 59 +++++++++++++++++-- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Product/ProductSmartScreenController.cs b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Product/ProductSmartScreenController.cs index 119d453..21edda8 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Product/ProductSmartScreenController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Product/ProductSmartScreenController.cs @@ -9,7 +9,7 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Product /// /// 生产智慧屏 /// - [Verify] + [AllowAnonymous] [Route("mes/SmartScreen/Product")] public class ProductSmartScreenController : BaseController { diff --git a/DOAN.Service/MES/SmartScreen/Product/ProductSmartScreenService.cs b/DOAN.Service/MES/SmartScreen/Product/ProductSmartScreenService.cs index af36e3f..b317def 100644 --- a/DOAN.Service/MES/SmartScreen/Product/ProductSmartScreenService.cs +++ b/DOAN.Service/MES/SmartScreen/Product/ProductSmartScreenService.cs @@ -13,6 +13,7 @@ using Microsoft.Data.SqlClient; using DOAN.Model.MES.base_; using MathNet.Numerics; using System.Data; +using NPOI.SS.Formula.Atp; namespace DOAN.Service.MES.SmartScreen.Product { @@ -46,7 +47,7 @@ namespace DOAN.Service.MES.SmartScreen.Product .Where(it => it.ProcessId == 90).Sum(it => it.FinishNum??0); - digital.GroupQuantity=Context.Queryable().Where(it => it.WorkorderDate == DateTime.Today).Select(it=>it.GroupCode).MergeTable().Distinct().Count(); + digital.GroupQuantity=Context.Queryable().Where(it => it.WorkorderDate == DateTime.Today).Select(it=>it.GroupCode).Distinct().Count(); return digital; @@ -332,9 +333,23 @@ namespace DOAN.Service.MES.SmartScreen.Product .Select(it => it.ProcessId) .Distinct() .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 + + // 使用循环生成每10分钟的时间戳 + for (DateTime currentTime = startTime; currentTime <= endTime; currentTime = currentTime.AddMinutes(10)) + { + DateTimeArray.Add(currentTime); + } + List DateTimeArrayString = DateTimeArray.Select(it => it.ToString("HH:mm")).ToList(); + echartsOptions.XAxis = new EchartsXAxis() { Data = DateTimeArrayString }; //2 系列值-这组 今日实时累计完成数(每10分钟) - for(int i=0;i().Where(it => it.Id == processArray[i]).Select(it => it.Name).First(); @@ -374,11 +389,43 @@ namespace DOAN.Service.MES.SmartScreen.Product echartsSeriesDatas.Add(echartsSeriesData); } - echartsSeries.Data = echartsSeriesDatas.OrderBy(it => it.Name).ToList(); - echartsOptions.XAxis = new EchartsXAxis() { Data = echartsSeriesDatas.Select(it => it.Name).ToList() }; - echartsOptions.Series.Add(echartsSeries); + // 和X轴一 一对应 + for (int j = 0; j < DateTimeArray.Count; j++) + { + int point = 0; + foreach (var item in echartsSeriesDatas) + { + + if (item.Name == DateTimeArrayString[j]) + { + continue; + } + point++; + + } + + if (point == echartsSeriesDatas.Count()) + { + // 获取前一个时间段产量 + decimal productNum = 0; + if (j >= 1) + { + productNum = echartsSeriesDatas.Where(it => it.Name == DateTimeArrayString[j - 1]).Select(it => it.Value).FirstOrDefault(); + } + else + { + productNum = 0; + } + + + echartsSeriesDatas.Add(new EchartsSeriesData() { Name = DateTimeArrayString[j], Value = productNum }); + + } + } + echartsSeries.Data = echartsSeriesDatas.OrderBy(it => it.Name).ToList(); + echartsOptions.Series.Add(echartsSeries); }