51 lines
2.0 KiB
C#
51 lines
2.0 KiB
C#
using DOAN.Model.MES.product;
|
|
using DOAN.Service.MES.product.IService;
|
|
using Infrastructure.Attribute;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using DOAN.Service.MES.SmartScreen.Product.IService;
|
|
using DOAN.Model.MES.SmartScreen.Product;
|
|
|
|
namespace DOAN.Service.MES.SmartScreen.Product
|
|
{
|
|
/// <summary>
|
|
/// 生产智慧屏
|
|
/// </summary>
|
|
[AppService(ServiceType = typeof(IProductSmartScreenService), ServiceLifetime = LifeTime.Transient)]
|
|
public class ProductSmartScreenService : BaseService<ProWorkorder>, IProductSmartScreenService
|
|
{
|
|
/// <summary>
|
|
/// 数字翻牌器
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public DigitalTurntableModel DigitalTurntable()
|
|
{
|
|
DigitalTurntableModel digital=new DigitalTurntableModel();
|
|
digital.WorkorderQuantity = Context.Queryable<ProWorkorder>().Where(it=>it.WorkorderDate==DateTime.Today).Count();
|
|
|
|
digital.FinishedWorkorderQuantity=Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today)
|
|
.Where(it=>it.Status==2)
|
|
.Count();
|
|
|
|
digital.UnFinishedWorkorderQuantity = Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today)
|
|
.Where(it => it.Status <2)
|
|
.Count();
|
|
|
|
digital.ProductionPlanQuantity = Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today).Sum(it=>it.PlanNum??0);
|
|
|
|
|
|
digital.ProductionFinishQuantity = Context.Queryable<ProReportwork01>().Where(it => it.JobDate >= DateTime.Today && it.JobDate < DateTime.Today.AddDays(1))
|
|
.Where(it => it.ProcessId == 90).Sum(it => it.FinishNum??0);
|
|
|
|
|
|
digital.GroupQuantity=Context.Queryable<ProWorkorder>().Where(it => it.WorkorderDate == DateTime.Today).GroupBy(it=>it.GroupCode).Count();
|
|
|
|
|
|
return digital;
|
|
}
|
|
}
|
|
}
|