完善订单查询,导出功能,完善工单查询功能

This commit is contained in:
2025-12-30 16:58:01 +08:00
parent ba63c12824
commit 1cb9cbc6d8
7 changed files with 203 additions and 32 deletions

View File

@@ -1,16 +1,15 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Service.MES.order.IService;
using DOAN.Repository;
using DOAN.Model.MES.order.Dto;
using Aliyun.OSS;
using DOAN.Model.MES.order;
using DOAN.Model.MES.order.Dto;
using DOAN.Model.MES.product;
using DOAN.Repository;
using DOAN.Service.MES.order.IService;
using Infrastructure.Attribute;
using Infrastructure.Converter;
using Mapster;
using Microsoft.AspNetCore.Http;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.SS.Formula.Functions;
using Aliyun.OSS;
using Mapster;
using ZXing;
namespace DOAN.Service.MES.order
{
@@ -27,10 +26,49 @@ namespace DOAN.Service.MES.order
/// <returns></returns>
public PagedInfo<OrderPurchaseDto> GetList(OrderPurchaseQueryDto parm)
{
// 日期处理
if (parm != null && parm.ImportDate != null && parm.ImportDate.Length > 0)
{
if (parm.ImportDate[0] > DateTime.MinValue)
{
parm.ImportDate[0] = DOANConvertDate.ConvertLocalDate(parm.ImportDate[0]);
}
if (parm.ImportDate[1] > DateTime.MinValue)
{
parm.ImportDate[1] = DOANConvertDate.ConvertLocalDate(parm.ImportDate[1]);
}
}
string _orderNoMes = parm.OrderNoMes;
// 工单查询处理
if (parm != null && !string.IsNullOrEmpty(parm.WorkOrder))
{
var workorderInfo = Context.Queryable<ProWorkorder>()
.Where(it => it.Workorder.Contains(parm.WorkOrder))
.First();
if(workorderInfo != null)
{
parm.OrderNoMes = workorderInfo.CustomerOrder;
}
}
// 领料单查询处理
if (parm != null && !string.IsNullOrEmpty(parm.FeedOrder))
{
var workorderInfo = Context.Queryable<ProWorkorder>()
.Where(it => it.FeedOrder.Contains(parm.FeedOrder))
.First();
if (workorderInfo != null)
{
parm.OrderNoMes = workorderInfo.CustomerOrder;
}
}
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.OrderBy(it=> it.OrderNoMes)
.ToPage<OrderPurchase, OrderPurchaseDto>(parm);
return response;
@@ -81,10 +119,10 @@ namespace DOAN.Service.MES.order
var predicate = Expressionable.Create<OrderPurchase>()
.AndIF(!string.IsNullOrEmpty(parm.OrderNoMes), it => it.OrderNoMes.Contains(parm.OrderNoMes))
.AndIF(!string.IsNullOrEmpty(parm.PurchaseOrderErp), it => it.PurchaseOrderErp.Contains(parm.PurchaseOrderErp))
.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode.Contains(parm.MaterialCode))
.AndIF(parm.ImportDate != null && parm.ImportDate[0] > DateTime.MinValue, it => it.ImportDate >= parm.ImportDate[0])
.AndIF(parm.ImportDate != null && parm.ImportDate[1] > DateTime.MinValue, it => it.ImportDate <= parm.ImportDate[1])
.AndIF(parm.Orderindicator > -1, it => it.Orderindicator == parm.Orderindicator)
;
return predicate;
@@ -212,12 +250,63 @@ namespace DOAN.Service.MES.order
}
}
public List<OrderPurchaseDto> SelectOrderList(OrderPurchaseQueryDto orderPurchaseDto)
public List<OrderPurchaseExcelDto> SelectOrderList(OrderPurchaseQueryDto parm)
{
var predicate = QueryExp(orderPurchaseDto);
// 日期处理
if (parm != null && parm.ImportDate != null && parm.ImportDate.Length > 0)
{
if (parm.ImportDate[0] > DateTime.MinValue)
{
parm.ImportDate[0] = DOANConvertDate.ConvertLocalDate(parm.ImportDate[0]);
}
if (parm.ImportDate[1] > DateTime.MinValue)
{
parm.ImportDate[1] = DOANConvertDate.ConvertLocalDate(parm.ImportDate[1]);
}
}
string _orderNoMes = parm.OrderNoMes;
// 工单查询处理
if (parm != null && !string.IsNullOrEmpty(parm.WorkOrder))
{
var workorderInfo = Context.Queryable<ProWorkorder>()
.Where(it => it.Workorder.Contains(parm.WorkOrder))
.First();
if (workorderInfo != null)
{
parm.OrderNoMes = workorderInfo.CustomerOrder;
}
}
// 领料单查询处理
if (parm != null && !string.IsNullOrEmpty(parm.FeedOrder))
{
var workorderInfo = Context.Queryable<ProWorkorder>()
.Where(it => it.FeedOrder.Contains(parm.FeedOrder))
.First();
if (workorderInfo != null)
{
parm.OrderNoMes = workorderInfo.CustomerOrder;
}
}
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression()).Adapt<List<OrderPurchaseDto>>();
.Where(predicate.ToExpression())
.OrderBy(it => it.OrderNoMes)
.Select(it => new OrderPurchaseExcelDto
{
Id = it.Id,
OrderNoMes = it.OrderNoMes,
ImportDate = it.ImportDate,
MaterialCode = it.MaterialCode,
MaterialName = it.MaterialName,
DocumentDate = it.DocumentDate,
DemandQuantity = it.DemandQuantity,
DeliveryDate = it.DeliveryDate,
DeliveryQuantity = it.DeliveryQuantity,
Orderindicator = it.Orderindicator,
StartDate = it.StartDate,
EndDate = it.EndDate,
Remark = it.Remark
}).ToList();
return response;
}