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