订单大屏

This commit is contained in:
卢江海
2025-03-26 15:19:34 +08:00
parent e11cbd080d
commit e41c2aa6de
11 changed files with 153 additions and 49 deletions

View File

@@ -1,12 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DOAN.Service.MES.SmartScreen.Order.IService
{
internal class IOrderService
{
}
}

View File

@@ -0,0 +1,22 @@
using DOAN.Model.MES.order;
using DOAN.Model.MES.order.Dto;
using DOAN.Model.MES.SmartScreen.Order;
using Infrastructure.Attribute;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DOAN.Service.MES.SmartScreen.Order.IService
{
/// <summary>
/// 采购订单service接口
/// </summary>
public interface IOrderSmartService : IBaseService<OrderPurchase>
{
LargeScreenOrderDto GetLargeScreenOrder();
}
}

View File

@@ -0,0 +1,45 @@

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
{
/// <summary>
/// 采购订单Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IOrderSmartService), ServiceLifetime = LifeTime.Transient)]
public class OrderSmartService : BaseService<OrderPurchase>, 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==0).Count();
largeScreenOrderDto.CompletedOrderNum = response.Where(o => o.Orderindicator == 1).Count();
largeScreenOrderDto.MonthOrderTotalNum = response.Where(o=>o.DocumentDate>= firstDayOfMonth&&o.DocumentDate<= lastDayOfMonth).Count();
largeScreenOrderDto.MonthIncompleteOrderNum = response.Where(o => o.DocumentDate >= firstDayOfMonth && o.DocumentDate <= lastDayOfMonth && o.Orderindicator == 0).Count();
largeScreenOrderDto.MonthCompletedOrderNum = response.Where(o => o.DocumentDate >= firstDayOfMonth && o.DocumentDate <= lastDayOfMonth && o.Orderindicator == 1).Count();
return largeScreenOrderDto;
}
}
}