Browse Source

查询支持待议价

yijia
shanji 2 years ago
parent
commit
4ad1063a46
  1. 39
      BBWYB.Server.Business/Order/OrderBusiness.cs
  2. 5
      BBWYB.Server.Model/Dto/Request/Order/QueryOrderRequest.cs
  3. 5
      BBWYB.Server.Model/Dto/Response/Order/OrderCountByStateResponse.cs
  4. 5
      BBWYB.Server.Model/Dto/Response/Order/OrderSkuResponse.cs

39
BBWYB.Server.Business/Order/OrderBusiness.cs

@ -58,17 +58,27 @@ namespace BBWYB.Server.Business
select = select.Where((o, ocs, oct) => o.OrderSn == request.OrderSn);
else
{
//if (request.IsNeedOptimization == 1)
// request.OrderState = Enums.OrderState.等待采购;
//else if (request.OrderState == Enums.OrderState.等待采购)
//{
// request.IsNeedOptimization = 0;
//}
if (!string.IsNullOrEmpty(request.Sku) ||
!string.IsNullOrEmpty(request.SourceSku) ||
!string.IsNullOrEmpty(request.ProductId) ||
request.IsWaitConfig)
request.IsWaitConfig ||
request.OrderState == Enums.OrderState.)
{
var childSelect = fsql.Select<OrderSku>().As("osku")
.WhereIf(!string.IsNullOrEmpty(request.Sku), osku => osku.SkuId == request.Sku)
.WhereIf(!string.IsNullOrEmpty(request.SourceSku), osku => osku.BelongSkuId == request.SourceSku)
.WhereIf(!string.IsNullOrEmpty(request.ProductId), osku => osku.ProductId == request.ProductId)
.WhereIf(request.IsWaitConfig && request.IsOnlyDisplayPackConfigEditState != 1, osku => waitConfigStateList.Contains(osku.PackConfigState) || osku.PackConfigState == null)
.WhereIf(request.IsWaitConfig && request.IsOnlyDisplayPackConfigEditState == 1, osku => osku.PackConfigState == Enums.PackConfigState.);
.WhereIf(request.IsWaitConfig && request.IsOnlyDisplayPackConfigEditState == 1, osku => osku.PackConfigState == Enums.PackConfigState.)
.WhereIf(request.OrderState == Enums.OrderState. && request.IsNeedOptimization == 1, osku => osku.IsNeedOptimization == 1)
.WhereIf(request.OrderState == Enums.OrderState. && request.IsNeedOptimization != 1, osku => osku.IsNeedOptimization == 0);
select = select.WhereIf(request.IsWaitConfig, (o, ocs, oct) => o.OrderState != Enums.OrderState. &&
o.OrderState != Enums.OrderState. &&
o.IntoStoreType == Enums.IntoStoreType. &&
@ -390,6 +400,12 @@ namespace BBWYB.Server.Business
t.TaskType == Enums.TimeLimitTaskType.);
#endregion
#region 待议价任务
orderSku.OptimizationTimeLimitTask = orderTimeLimitTaskList.FirstOrDefault(t => t.OrderId == order.Id &&
t.SkuId == orderSku.SkuId &&
t.TaskType == Enums.TimeLimitTaskType.);
#endregion
#region 判断sku的发货状态
var purchaseOrder = order.OrderPurchaseInfoList.FirstOrDefault(opi => opi.OrderId == order.Id && opi.BelongSkuIds.Contains(orderSku.SkuId));
if (purchaseOrder != null)
@ -815,20 +831,32 @@ namespace BBWYB.Server.Business
OrderState = g.Key,
OrderCount = g.Count()
});
long waitConfigCount = 0;
{
var childSelect = fsql.Select<OrderSku>().As("osku").Where(osku => waitConfigStateList.Contains(osku.PackConfigState) || osku.PackConfigState == null);
var waitConfigCount = fsql.Select<Order>().Where(o => o.ShopId == shopId)
waitConfigCount = fsql.Select<Order>().Where(o => o.ShopId == shopId)
.Where(o => !noOrderStateList.Contains(o.OrderState.Value))
.Where(o => o.IntoStoreType == Enums.IntoStoreType.)
.Where(o => o.IsPurchased == true)
.Where(o => childSelect.Where(osku => osku.OrderId == o.Id).Any())
.Count();
}
int opitimizationCount = 0;
{
var childSelect = fsql.Select<OrderSku>().As("osku").Where(osku => osku.IsNeedOptimization == 1);
opitimizationCount = Convert.ToInt32(fsql.Select<Order>().Where(o => o.ShopId == shopId)
.Where(o => o.OrderState == Enums.OrderState.)
.Where(o => childSelect.Where(osku => osku.OrderId == o.Id).Any())
.Count());
}
return new OrderCountByStateResponse()
{
WaitPayCount = orderCountGroup.FirstOrDefault(o => o.OrderState == Enums.OrderState.)?.OrderCount ?? 0,
WaitPurchaseCount = orderCountGroup.Where(o => o.OrderState == Enums.OrderState. ||
o.OrderState == Enums.OrderState.).Sum(o => o.OrderCount),
o.OrderState == Enums.OrderState.).Sum(o => o.OrderCount) - opitimizationCount,
WaitShipmentCount = orderCountGroup.Where(o => o.OrderState == Enums.OrderState. ||
o.OrderState == Enums.OrderState.).Sum(o => o.OrderCount),
WaitReceiveCount = orderCountGroup.Where(o => o.OrderState == Enums.OrderState. ||
@ -836,6 +864,7 @@ namespace BBWYB.Server.Business
WaitCheckCount = orderCountGroup.FirstOrDefault(o => o.OrderState == Enums.OrderState.)?.OrderCount ?? 0,
WaitComputationCount = orderCountGroup.FirstOrDefault(o => o.OrderState == Enums.OrderState.)?.OrderCount ?? 0,
WaitConfigCount = waitConfigCount,
OpitimizationCount = opitimizationCount
};
}

5
BBWYB.Server.Model/Dto/Request/Order/QueryOrderRequest.cs

@ -114,5 +114,10 @@
/// 是否仅显示特殊单,是=1否=0,null则不处理该条件
/// </summary>
public int? IsOnlyDisplaySpecialOrder { get; set; }
/// <summary>
/// 是否需要优化(待议价),仅在订单为等待采购状态有效, 是=1 否=0
/// </summary>
public int? IsNeedOptimization { get; set; }
}
}

5
BBWYB.Server.Model/Dto/Response/Order/OrderCountByStateResponse.cs

@ -36,5 +36,10 @@
/// 待核算数量
/// </summary>
public long WaitComputationCount { get; set; }
/// <summary>
/// 待议价数量
/// </summary>
public long OpitimizationCount { get; set; }
}
}

5
BBWYB.Server.Model/Dto/Response/Order/OrderSkuResponse.cs

@ -39,5 +39,10 @@ namespace BBWYB.Server.Model.Dto
/// 待核算任务
/// </summary>
public TimeLimitTaskResponse? CheckComputationTimeLimitTask { get; set; }
/// <summary>
/// 待议价任务
/// </summary>
public TimeLimitTaskResponse OptimizationTimeLimitTask { get; set; }
}
}

Loading…
Cancel
Save