zhuangpei-mesbackend/DOAN.Service/MES/bigScreen/Product2BigScreenService.cs
2024-11-18 14:41:49 +08:00

108 lines
3.1 KiB
C#

using DOAN.Model.MES.bigscreen.Dto;
using DOAN.Model.mes.echarts;
using DOAN.Model.MES.product;
using DOAN.Service.MES.bigScreen.IService;
using Infrastructure.Attribute;
namespace DOAN.Service.MES.bigScreen
{
/// <summary>
/// 生产大屏 2
/// </summary>
[AppService(ServiceType = typeof(IProduct2BigScreenService), ServiceLifetime = LifeTime.Transient)]
public class Product2BigScreenService : BaseService<ProWorkorder>, IProduct2BigScreenService
{
public ProductBigScreenMoudle02Dto GetMoudle01()
{
ProductBigScreenMoudle02Dto productBigScreen = new ProductBigScreenMoudle02Dto();
//今日班组
productBigScreen.TodayGroupQuantity= Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today)
.GroupBy(it => it.GroupCode).Count();
//今天产线
productBigScreen.TodayLineQuantity=Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today)
.GroupBy(it => it.LineCode).Count();
//今日计划产量
productBigScreen.TodayPlanQuantity = Context.Queryable<ProWorkorder>()
.Where(it => it.WorkorderDate == DateTime.Today)
.Sum(it => it.DeliveryNum ?? 0);
//今日实际产量
productBigScreen.TodayActionProductionQuantity = Context.Queryable<ProWorkorder>()
.LeftJoin<ProReportwork>((p, r) => p.Workorder == r.FkWorkorder)
.Where((p, r) => p.WorkorderDate == DateTime.Today)
.Sum((p, r) => r.FinishedNum ?? 0);
//今日产成品种类
productBigScreen.TodayProductTypeQuantity = Context.Queryable<ProWorkorder>()
.Where(it => it.WorkorderDate == DateTime.Today)
.GroupBy(it => it.ProductionCode)
.Count();
// 七日变更计划
productBigScreen.SevenDaysPriorPlanQuantity = Context.Queryable<ProWorkorderUpdateLog>()
.Where(it => it.ChangeTime <= DateTime.Today && it.ChangeTime >= DateTime.Today.AddDays(-7))
.Count();
return productBigScreen;
}
public EchartsOptions GetMoudle02()
{
return null;
}
public EchartsOptions GetMoudle03()
{
return null;
}
public EchartsOptions GetMoudle04()
{
return null;
}
public EchartsOptions GetMoudle05()
{
return null;
}
public EchartsOptions GetMoudle06()
{
return null;
}
public EchartsOptions GetMoudle07()
{
return null;
}
public EchartsOptions GetMoudle08()
{
return null;
}
public EchartsOptions GetMoudle09()
{
return null;
}
public EchartsOptions GetMoudle10()
{
return null;
}
}
}