订单查询,出货撤销与,工单查询功能修改
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
using DOAN.Model.MES.order;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using DOAN.Model.MES.order;
|
||||
using DOAN.Model.MES.order.Dto;
|
||||
using DOAN.Model.MES.Order.Dto;
|
||||
using DOAN.Model.MES.product;
|
||||
@@ -6,15 +11,13 @@ using DOAN.Service.MES.order.IService;
|
||||
using DOAN.Service.MES.Order.IService;
|
||||
using Infrastructure.Attribute;
|
||||
using Infrastructure.Converter;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DOAN.Service.MES.Order
|
||||
{
|
||||
[AppService(ServiceType = typeof(IDeliveryScheduleService), ServiceLifetime = LifeTime.Transient)]
|
||||
[AppService(
|
||||
ServiceType = typeof(IDeliveryScheduleService),
|
||||
ServiceLifetime = LifeTime.Transient
|
||||
)]
|
||||
public class DeliveryScheduleService : BaseService<OrderPurchase>, IDeliveryScheduleService
|
||||
{
|
||||
/// <summary>
|
||||
@@ -37,68 +40,86 @@ namespace DOAN.Service.MES.Order
|
||||
}
|
||||
}
|
||||
var predicate = QueryExp(parm);
|
||||
var queryResult = Context.Queryable<OrderPurchase>()
|
||||
var queryResult = Context
|
||||
.Queryable<OrderPurchase>()
|
||||
.LeftJoin<ProWorkorder>((o, w) => o.OrderNoMes == w.CustomerOrder)
|
||||
.Where(predicate.ToExpression())
|
||||
.Where((o, w) => !SqlFunc.IsNullOrEmpty(o.OrderNoMes))
|
||||
.OrderBy((o, w) => o.OrderNoMes)
|
||||
.Select((o, w) => new OrderScheduleDto
|
||||
{
|
||||
Id = o.Id,
|
||||
ImportDate = o.ImportDate,
|
||||
OrderNoMes = o.OrderNoMes,
|
||||
PurchaseOrderErp = o.PurchaseOrderErp,
|
||||
Poitem = o.Poitem,
|
||||
Variety = o.Variety,
|
||||
Specordindicator = o.Specordindicator,
|
||||
KdType = o.KdType,
|
||||
DocumentDate = o.DocumentDate,
|
||||
Seller = o.Seller,
|
||||
SalesArea = o.SalesArea,
|
||||
MaterialName = o.MaterialName,
|
||||
MaterialCode = o.MaterialCode,
|
||||
DemandQuantity = o.DemandQuantity,
|
||||
DeliveryQuantity= o.DeliveryQuantity,
|
||||
DeliveryDate = o.DeliveryDate,
|
||||
//DeliveryQuantity = SqlFunc.Subqueryable<ProWorkorder>()
|
||||
//.Where(w => w.FeedOrder == o.OrderNoMes).Sum(it=>it.ShipmentNum),
|
||||
.Select(
|
||||
(o, w) =>
|
||||
new OrderScheduleDto
|
||||
{
|
||||
Id = o.Id,
|
||||
ImportDate = o.ImportDate,
|
||||
OrderNoMes = o.OrderNoMes,
|
||||
PurchaseOrderErp = o.PurchaseOrderErp,
|
||||
Poitem = o.Poitem,
|
||||
Variety = o.Variety,
|
||||
Specordindicator = o.Specordindicator,
|
||||
KdType = o.KdType,
|
||||
DocumentDate = o.DocumentDate,
|
||||
Seller = o.Seller,
|
||||
SalesArea = o.SalesArea,
|
||||
MaterialName = o.MaterialName,
|
||||
MaterialCode = o.MaterialCode,
|
||||
DemandQuantity = o.DemandQuantity,
|
||||
DeliveryQuantity = o.DeliveryQuantity,
|
||||
DeliveryDate = o.DeliveryDate,
|
||||
//DeliveryQuantity = SqlFunc.Subqueryable<ProWorkorder>()
|
||||
//.Where(w => w.FeedOrder == o.OrderNoMes).Sum(it=>it.ShipmentNum),
|
||||
|
||||
StartDate = o.StartDate,
|
||||
EndDate = o.EndDate,
|
||||
Orderindicator = o.Orderindicator,
|
||||
RouteCode = o.RouteCode,
|
||||
Status = o.Status,
|
||||
Remark = o.Remark,
|
||||
CreatedBy = o.CreatedBy,
|
||||
CreatedTime = o.CreatedTime,
|
||||
UpdatedBy = o.UpdatedBy,
|
||||
UpdatedTime = o.UpdatedTime,
|
||||
Children = SqlFunc.Subqueryable<ProWorkorder>()
|
||||
.Where(w => w.CustomerOrder == o.OrderNoMes) // 子查询,获取对应的工单数据
|
||||
.ToList()
|
||||
})
|
||||
StartDate = o.StartDate,
|
||||
EndDate = o.EndDate,
|
||||
Orderindicator = o.Orderindicator,
|
||||
RouteCode = o.RouteCode,
|
||||
Status = o.Status,
|
||||
Remark = o.Remark,
|
||||
CreatedBy = o.CreatedBy,
|
||||
CreatedTime = o.CreatedTime,
|
||||
UpdatedBy = o.UpdatedBy,
|
||||
UpdatedTime = o.UpdatedTime,
|
||||
Children = SqlFunc
|
||||
.Subqueryable<ProWorkorder>()
|
||||
.Where(w => w.CustomerOrder == o.OrderNoMes) // 子查询,获取对应的工单数据
|
||||
.ToList(),
|
||||
}
|
||||
)
|
||||
.Distinct()
|
||||
.ToList();
|
||||
|
||||
return queryResult;
|
||||
}
|
||||
|
||||
private static Expressionable<OrderPurchase, ProWorkorder> QueryExp(OrderPurchaseQueryDto parm)
|
||||
private static Expressionable<OrderPurchase, ProWorkorder> QueryExp(
|
||||
OrderPurchaseQueryDto parm
|
||||
)
|
||||
{
|
||||
var predicate = Expressionable.Create<OrderPurchase, ProWorkorder>()
|
||||
.AndIF(!string.IsNullOrEmpty(parm.OrderNoMes), (o, w) => o.OrderNoMes.Contains(parm.OrderNoMes))
|
||||
.AndIF(!string.IsNullOrEmpty(parm.PurchaseOrderErp), (o, w) => o.PurchaseOrderErp.Contains(parm.PurchaseOrderErp))
|
||||
.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), (o, w) => o.MaterialCode.Contains(parm.MaterialCode))
|
||||
.AndIF(parm.ImportDate != null && parm.ImportDate[0] > DateTime.MinValue, (o, w) => o.ImportDate >= parm.ImportDate[0])
|
||||
.AndIF(parm.ImportDate != null && parm.ImportDate[1] > DateTime.MinValue, (o, w) => o.ImportDate <= parm.ImportDate[1])
|
||||
.AndIF(parm.Orderindicator>-2,(o,w)=>o.Orderindicator==parm.Orderindicator)
|
||||
|
||||
;
|
||||
var predicate = Expressionable
|
||||
.Create<OrderPurchase, ProWorkorder>()
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.OrderNoMes),
|
||||
(o, w) => o.OrderNoMes.Contains(parm.OrderNoMes)
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.PurchaseOrderErp),
|
||||
(o, w) => o.PurchaseOrderErp.Contains(parm.PurchaseOrderErp)
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.MaterialCode),
|
||||
(o, w) => o.MaterialCode.Contains(parm.MaterialCode)
|
||||
)
|
||||
.AndIF(
|
||||
parm.ImportDate != null && parm.ImportDate[0] > DateTime.MinValue,
|
||||
(o, w) => o.ImportDate >= parm.ImportDate[0]
|
||||
)
|
||||
.AndIF(
|
||||
parm.ImportDate != null && parm.ImportDate[1] > DateTime.MinValue,
|
||||
(o, w) => o.ImportDate <= parm.ImportDate[1]
|
||||
)
|
||||
.AndIF(parm.Orderindicator > -2, (o, w) => o.Orderindicator == parm.Orderindicator);
|
||||
|
||||
return predicate;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user