This commit is contained in:
2025-12-30 17:26:34 +08:00
7 changed files with 203 additions and 32 deletions

View File

@@ -17,7 +17,7 @@ namespace DOAN.Service.MES.order.IService
OrderPurchase AddOrderPurchase(OrderPurchase parm);
int UpdateOrderPurchase(OrderPurchase parm);
List<OrderPurchaseDto> SelectOrderList(OrderPurchaseQueryDto orderPurchaseDto);
List<OrderPurchaseExcelDto> SelectOrderList(OrderPurchaseQueryDto orderPurchaseDto);
}
}

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;
}

View File

@@ -49,6 +49,8 @@ namespace DOAN.Service.MES.product
{
if (parm.WorkorderDate != null && parm.WorkorderDate.Length > 0)
{
parm.WorkorderDate[0] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[0]);
parm.WorkorderDate[1] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[1]);
parm.WorkorderDate[0] = parm.WorkorderDate[0].Date;
parm.WorkorderDate[1] = parm.WorkorderDate[1].Date;
}
@@ -63,6 +65,14 @@ namespace DOAN.Service.MES.product
!string.IsNullOrEmpty(parm.productionCode),
it => it.productionCode.Contains(parm.productionCode)
)
.AndIF(
!string.IsNullOrEmpty(parm.FeedOrder),
it => it.FeedOrder.Contains(parm.FeedOrder)
)
.AndIF(
!string.IsNullOrEmpty(parm.CustomerOrder),
it => it.CustomerOrder.Contains(parm.CustomerOrder)
)
.AndIF(!string.IsNullOrEmpty(parm.RouteCode), it => it.RouteCode == parm.RouteCode)
.AndIF(!string.IsNullOrEmpty(parm.GroupCode), it => it.GroupCode == parm.GroupCode)
.AndIF(
@@ -148,6 +158,13 @@ namespace DOAN.Service.MES.product
/// <returns></returns>
public PagedInfo<ProWorkorderDto> GetList_NOCheck(ProWorkorderQueryDto parm)
{
if (parm.WorkorderDate != null && parm.WorkorderDate.Length > 0)
{
parm.WorkorderDate[0] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[0]);
parm.WorkorderDate[1] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[1]);
parm.WorkorderDate[0] = parm.WorkorderDate[0].Date;
parm.WorkorderDate[1] = parm.WorkorderDate[1].Date;
}
var predicate = Expressionable
.Create<ProWorkorder>()
.AndIF(
@@ -162,6 +179,14 @@ namespace DOAN.Service.MES.product
!string.IsNullOrEmpty(parm.productionCode),
it => it.productionCode.Contains(parm.productionCode)
)
.AndIF(
!string.IsNullOrEmpty(parm.FeedOrder),
it => it.FeedOrder.Contains(parm.FeedOrder)
)
.AndIF(
!string.IsNullOrEmpty(parm.CustomerOrder),
it => it.CustomerOrder.Contains(parm.CustomerOrder)
)
.AndIF(!string.IsNullOrEmpty(parm.RouteCode), it => it.RouteCode == parm.RouteCode)
.AndIF(!string.IsNullOrEmpty(parm.GroupCode), it => it.GroupCode == parm.GroupCode)
.AndIF(