using DOAN.Model.MES.order; using Infrastructure.Attribute; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using DOAN.Service.MES.SmartScreen.Order.IService; using DOAN.Model.MES.order.Dto; using DOAN.Model.MES.SmartScreen.Order; using MathNet.Numerics.Distributions; using NPOI.SS.Formula.Functions; namespace DOAN.Service.MES.SmartScreen.Order { /// /// 采购订单Service业务层处理 /// [AppService(ServiceType = typeof(IOrderSmartService), ServiceLifetime = LifeTime.Transient)] public class OrderSmartService : BaseService, IOrderSmartService { public LargeScreenOrderDto GetLargeScreenOrder() { // 当前日期 DateTime now = DateTime.Now; // 当前月份的第一天 00:00:00 DateTime firstDayOfMonth = new DateTime(now.Year, now.Month, 1); // 当前月份的最后一天 23:59:59 DateTime lastDayOfMonth = new DateTime(now.Year, now.Month, 1) .AddMonths(1) .AddSeconds(-1); var response = Queryable().ToList(); LargeScreenOrderDto largeScreenOrderDto = new LargeScreenOrderDto(); largeScreenOrderDto.OrderTotalNum = response.Count; largeScreenOrderDto.IncompleteOrderNum = response.Where(o=>o.Orderindicator!=1).Count(); largeScreenOrderDto.CompletedOrderNum = response.Where(o => o.Orderindicator == 1).Count(); largeScreenOrderDto.MonthOrderTotalNum = response.Where(o=>o.DeliveryDate>= firstDayOfMonth&&o.DeliveryDate <= lastDayOfMonth).Count(); largeScreenOrderDto.MonthIncompleteOrderNum = response.Where(o => o.DeliveryDate >= firstDayOfMonth && o.DeliveryDate <= lastDayOfMonth && o.Orderindicator !=1).Count(); largeScreenOrderDto.MonthCompletedOrderNum = response.Where(o => o.DeliveryDate >= firstDayOfMonth && o.DeliveryDate <= lastDayOfMonth && o.Orderindicator == 1).Count(); return largeScreenOrderDto; } } }