修改大屏
This commit is contained in:
@@ -30,7 +30,6 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Product
|
||||
public IActionResult DigitalTurntable()
|
||||
{
|
||||
var response= _productSmartScreenService.DigitalTurntable();
|
||||
|
||||
return SUCCESS(response);
|
||||
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ namespace DOAN.Service.MES.quality.FQC
|
||||
.RightJoin<ProReportwork01>((t1, t2) => t1.Workorder == t2.Workorder)
|
||||
.RightJoin<QcFinishedproductDefectCollection>((t1, t2, t3) => t2.Workorder == t3.Workorder)
|
||||
.Where(predicate.ToExpression())
|
||||
.GroupBy((t1,t2,t3)=>new { t3.Workorder, t2.PlanNum, t2.FinishNum, t1.productionName, t1.productionCode })
|
||||
.GroupBy((t1,t2,t3)=>new { t3.Workorder, t2.FinishNum,t1.PlanNum, t1.productionName, t1.productionCode })
|
||||
.Select((t1, t2, t3) => new ResultFQCShowDto
|
||||
{
|
||||
Workorder = t3.Workorder,
|
||||
|
||||
@@ -45,8 +45,10 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
|
||||
//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);
|
||||
|
||||
// 今日物料领用
|
||||
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();
|
||||
@@ -77,10 +79,25 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
.GroupBy((it, w) => new {it.ProcessId,w.Name})
|
||||
.Select((it, w) => new EchartsSeriesData()
|
||||
{
|
||||
Name = w.Name,
|
||||
Name = w.Name,
|
||||
Value=SqlFunc.AggregateSum(it.FinishNum??0)
|
||||
}).ToList();
|
||||
echartsSeries.Data = Data;
|
||||
List<EchartsSeriesData> NewData = new List<EchartsSeriesData>();
|
||||
foreach (var item in xAxis.Data)
|
||||
{
|
||||
|
||||
decimal value=Data.Where(it=>it.Name==item).Select(it=>it.Value).FirstOrDefault();
|
||||
if(value==0)
|
||||
{
|
||||
NewData.Add(new EchartsSeriesData() { Name = item, Value = 0 });
|
||||
}
|
||||
else
|
||||
{
|
||||
NewData.Add(new EchartsSeriesData() { Name = item, Value = value });
|
||||
}
|
||||
|
||||
}
|
||||
echartsSeries.Data = NewData;
|
||||
echartsOptions.Series.Add(echartsSeries);
|
||||
//获取各个工序今日累计计划值
|
||||
EchartsSeries echartsSeries2 = new EchartsSeries();
|
||||
@@ -95,7 +112,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
Value = SqlFunc.AggregateSum(it.PlanNum ?? 0)
|
||||
}).ToList();
|
||||
echartsSeries2.Data = Data2;
|
||||
echartsOptions.Series.Add(echartsSeries2);
|
||||
// echartsOptions.Series.Add(echartsSeries2);
|
||||
|
||||
|
||||
|
||||
@@ -121,7 +138,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
EchartsXAxis xAxis = new EchartsXAxis();
|
||||
|
||||
xAxis.Data = Context.Queryable<BaseRelWorkRouteProcesses>().LeftJoin<BaseWorkProcesses>((r, p) => r.FkWorkProcesses == p.Id)
|
||||
.Where((r, p) => r.FkWorkRoute == 32)
|
||||
.Where((r, p) => r.FkWorkRoute == 32&&p.Status==1)
|
||||
.OrderBy((r, p) => p.Id)
|
||||
.Select((r, p) => p.Name)
|
||||
.ToList();
|
||||
@@ -138,7 +155,22 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
Name = w.Name,
|
||||
Value = SqlFunc.AggregateSum(it.FinishNum ?? 0)
|
||||
}).ToList();
|
||||
echartsSeries.Data = Data;
|
||||
List<EchartsSeriesData> NewData = new List<EchartsSeriesData>();
|
||||
foreach (var item in xAxis.Data)
|
||||
{
|
||||
|
||||
decimal value = Data.Where(it => it.Name == item).Select(it => it.Value).FirstOrDefault();
|
||||
if (value == 0)
|
||||
{
|
||||
NewData.Add(new EchartsSeriesData() { Name = item, Value = 0 });
|
||||
}
|
||||
else
|
||||
{
|
||||
NewData.Add(new EchartsSeriesData() { Name = item, Value = value });
|
||||
}
|
||||
|
||||
}
|
||||
echartsSeries.Data = NewData;
|
||||
echartsOptions.Series.Add(echartsSeries);
|
||||
//获取各个工序今日累计计划值
|
||||
EchartsSeries echartsSeries2 = new EchartsSeries();
|
||||
@@ -153,7 +185,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
Value = SqlFunc.AggregateSum(it.PlanNum ?? 0)
|
||||
}).ToList();
|
||||
echartsSeries2.Data = Data2;
|
||||
echartsOptions.Series.Add(echartsSeries2);
|
||||
//echartsOptions.Series.Add(echartsSeries2);
|
||||
|
||||
|
||||
|
||||
@@ -194,7 +226,22 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
Name = w.Name,
|
||||
Value = SqlFunc.AggregateSum(it.FinishNum ?? 0)
|
||||
}).ToList();
|
||||
echartsSeries.Data = Data;
|
||||
List<EchartsSeriesData> NewData = new List<EchartsSeriesData>();
|
||||
foreach (var item in xAxis.Data)
|
||||
{
|
||||
|
||||
decimal value = Data.Where(it => it.Name == item).Select(it => it.Value).FirstOrDefault();
|
||||
if (value == 0)
|
||||
{
|
||||
NewData.Add(new EchartsSeriesData() { Name = item, Value = 0 });
|
||||
}
|
||||
else
|
||||
{
|
||||
NewData.Add(new EchartsSeriesData() { Name = item, Value = value });
|
||||
}
|
||||
|
||||
}
|
||||
echartsSeries.Data = NewData;
|
||||
echartsOptions.Series.Add(echartsSeries);
|
||||
//获取各个工序今日累计计划值
|
||||
EchartsSeries echartsSeries2 = new EchartsSeries();
|
||||
@@ -209,7 +256,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
Value = SqlFunc.AggregateSum(it.PlanNum ?? 0)
|
||||
}).ToList();
|
||||
echartsSeries2.Data = Data2;
|
||||
echartsOptions.Series.Add(echartsSeries2);
|
||||
// echartsOptions.Series.Add(echartsSeries2);
|
||||
|
||||
|
||||
|
||||
@@ -256,7 +303,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
|
||||
var result = Context.Queryable<ProWorkorder>()
|
||||
.LeftJoin<ProReportwork01>((w, r) => w.Workorder == r.Workorder)
|
||||
.Where((w, r) => w.Status == 1 && w.WorkorderDate >= firstDayOfMonth && w.WorkorderDate <= lastDayOfMonth)
|
||||
.Where((w, r) =>r.ProcessId==70&&w.Status == 1 && w.WorkorderDate >= firstDayOfMonth && w.WorkorderDate <= lastDayOfMonth)
|
||||
.GroupBy((w, r) => w.WorkorderDate)
|
||||
.Select((w, r) => new EchartsSeriesData()
|
||||
{
|
||||
@@ -287,7 +334,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
var GroupresultList = Context.Queryable<ProWorkorder>()
|
||||
.LeftJoin<ProReportwork01>((w, r) => w.Workorder == r.Workorder)
|
||||
.Where((w, r) => groupArray.Contains(w.GroupCode))
|
||||
.Where((w, r) => w.Status == 1 && w.WorkorderDate >= firstDayOfMonth && w.WorkorderDate <= lastDayOfMonth)
|
||||
.Where((w, r) =>r.ProcessId==70&& w.Status == 1 && w.WorkorderDate >= firstDayOfMonth && w.WorkorderDate <= lastDayOfMonth)
|
||||
.GroupBy((w, r) => new { w.GroupCode, w.WorkorderDate })
|
||||
.Select((w, r) => new
|
||||
{
|
||||
@@ -327,7 +374,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
{
|
||||
EchartsOptions echartsOptions = new EchartsOptions();
|
||||
|
||||
echartsOptions.Title = new EchartsTitle("今日各工序实时累计完工数折线图", "今日各工序实时累计完工数折线图");
|
||||
echartsOptions.Title = new EchartsTitle("昨日-今日各工序实时累计完工数折线图", "昨日-今日各工序实时累计完工数折线图");
|
||||
|
||||
//1.查询各个工序
|
||||
int[] processArray= Context.Queryable<ProReportwork01>()
|
||||
@@ -341,18 +388,26 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
|
||||
|
||||
// 定义起始时间和结束时间
|
||||
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
|
||||
// 获取当前日期和时间
|
||||
DateTime now = DateTime.Now;
|
||||
|
||||
// 使用循环生成每10分钟的时间戳
|
||||
for (DateTime currentTime = startTime; currentTime <= endTime; currentTime = currentTime.AddMinutes(10))
|
||||
// 获取昨天的日期
|
||||
DateTime yesterday = now.AddDays(-1);
|
||||
|
||||
// 设置时间为 20:00
|
||||
DateTime startTime = new DateTime(yesterday.Year, yesterday.Month, yesterday.Day, 20, 0, 0);
|
||||
//DateTime startTime = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day., 8, 0, 0);
|
||||
// DateTime startTime = DateTime.Today;
|
||||
DateTime endTime = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 20, 0, 0); // 8 AM + 12 hours = 8 PM
|
||||
|
||||
// 使用循环生成每30分钟的时间戳
|
||||
for (DateTime currentTime = startTime; currentTime <= endTime; currentTime = currentTime.AddMinutes(30))
|
||||
{
|
||||
DateTimeArray.Add(currentTime);
|
||||
}
|
||||
List<string> DateTimeArrayString = DateTimeArray.Select(it => it.ToString("HH:mm")).ToList();
|
||||
List<string> DateTimeArrayString = DateTimeArray.Select(it => it.ToString("dd-HH:mm")).ToList();
|
||||
echartsOptions.XAxis = new EchartsXAxis() { Data = DateTimeArrayString };
|
||||
//2 系列值-这组 今日实时累计完成数(每10分钟)
|
||||
//2 系列值-这组 今日实时累计完成数(每30分钟)
|
||||
for (int i=0;i<processArray.Length;i++)
|
||||
{
|
||||
string ProcessName= Context.Queryable<BaseWorkProcesses>().Where(it => it.Id == processArray[i]).Select(it => it.Name).First();
|
||||
@@ -375,8 +430,9 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
" 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";
|
||||
string sql3 = "SELECT time_period, SUM(finish_num) AS count\r\nFROM (\r\n SELECT FROM_UNIXTIME( FLOOR( UNIX_TIMESTAMP( job_datetime ) / 1800 ) * 1800 ) AS time_period,\r\n finish_num\r\n FROM pro_reportwork\r\n WHERE job_datetime>=@SearchDateTime01 AND job_datetime<=@SearchDateTime02 AND process_id=@process_id\r\n) AS subquery\r\nGROUP BY time_period\r\nORDER BY time_period";
|
||||
|
||||
DataTable result = Context.Ado.GetDataTable(sql2, new { process_id = processArray[i], });
|
||||
DataTable result = Context.Ado.GetDataTable(sql3, new { SearchDateTime01= startTime, SearchDateTime02=endTime, process_id = processArray[i], });
|
||||
int sum = 0;
|
||||
|
||||
|
||||
@@ -389,7 +445,7 @@ namespace DOAN.Service.MES.SmartScreen.Product
|
||||
sum = sum + count;
|
||||
EchartsSeriesData echartsSeriesData = new EchartsSeriesData()
|
||||
{
|
||||
Name = value.ToString("HH:mm"),
|
||||
Name = value.ToString("dd-HH:mm"),
|
||||
Value = sum
|
||||
};
|
||||
echartsSeriesDatas.Add(echartsSeriesData);
|
||||
|
||||
Reference in New Issue
Block a user