|
|
@ -426,7 +426,8 @@ namespace BBWYB.Server.Business |
|
|
|
PurchaserId = purchaseOrder.PurchaserId, |
|
|
|
PurchaserName = purchaseOrder.PurchaserName, |
|
|
|
PurchaserOrderId = purchaseOrder.PurchaseOrderId, |
|
|
|
IsEnabled = purchaseOrder.IsEnabled |
|
|
|
IsEnabled = purchaseOrder.IsEnabled, |
|
|
|
PurchaseMethod = purchaseOrder.PurchaseMethod.Value |
|
|
|
}; |
|
|
|
|
|
|
|
var currentOrderCostDetailList = orderCostDetailList.Where(ocd => ocd.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); |
|
|
@ -466,7 +467,6 @@ namespace BBWYB.Server.Business |
|
|
|
if (request.AssociationPurchaseOrderList == null || request.AssociationPurchaseOrderList.Count() == 0) |
|
|
|
throw new BusinessException("缺少采购单信息"); |
|
|
|
|
|
|
|
|
|
|
|
var dbPurchaseOrderList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == request.OrderId).ToList(); |
|
|
|
var dbInvalidPurchaseOrderIdList = dbPurchaseOrderList.Where(opi => !opi.IsEnabled).Select(opi => opi.PurchaseOrderId).ToList(); |
|
|
|
|
|
|
@ -500,7 +500,7 @@ namespace BBWYB.Server.Business |
|
|
|
IsEnabled = true, |
|
|
|
BelongSkuIds = string.Join(",", purchaseOrder.AssocationOrderCostDetailList.Select(x => x.SkuId)), |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
PurchaseMethod = Enums.PurchaseMethod.线下采购, |
|
|
|
PurchaseMethod = Enums.PurchaseMethod.关联外部单, |
|
|
|
PurchaseOrderId = purchaseOrder.PurchaserOrderId, |
|
|
|
PurchasePlatform = purchaseOrder.PurchasePlatform, |
|
|
|
PurchaserId = purchaseOrder.PurchaserId, |
|
|
@ -522,7 +522,8 @@ namespace BBWYB.Server.Business |
|
|
|
ProductId = dbOrderSku.ProductId, |
|
|
|
SkuId = assOrderCostDetail.SkuId, |
|
|
|
PurchaseFreight = avgFreight, |
|
|
|
TotalCost = assOrderCostDetail.SkuAmount + avgFreight |
|
|
|
TotalCost = assOrderCostDetail.SkuAmount + avgFreight, |
|
|
|
PurchaseOrderId = purchaseOrder.PurchaserOrderId |
|
|
|
}; |
|
|
|
insertOrderCostDetailList.Add(orderCostDetail); |
|
|
|
} |
|
|
@ -597,19 +598,17 @@ namespace BBWYB.Server.Business |
|
|
|
} |
|
|
|
insertOrderCost?.ExecuteAffrows(); |
|
|
|
updateOrderCost?.ExecuteAffrows(); |
|
|
|
if (dbOrder.OrderState == Enums.OrderState.待付款) |
|
|
|
fsql.Update<Order>(dbOrder.Id).Set(o => o.OrderState, Enums.OrderState.待出库).ExecuteAffrows(); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
public void SetHistoryPurchaseOrder(SetHistoryPurchaseOrderRequest request) |
|
|
|
{ |
|
|
|
var dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId) |
|
|
|
.ToList(); |
|
|
|
var dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId).ToList(); |
|
|
|
var dbOrderCost = fsql.Select<OrderCost>(request.OrderId).ToOne(); |
|
|
|
var dbOrder = fsql.Select<Order>(request.OrderId).ToOne(); |
|
|
|
|
|
|
|
var invalidCost = dbOrderCostDetailList.Sum(ocd => ocd.SkuAmount + ocd.PurchaseFreight); |
|
|
|
|
|
|
|
//orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio;
|
|
|
|
try |
|
|
|
{ |
|
|
|
dbOrderCost.PurchaseAmount = dbOrderCostDetailList.Where(ocd => ocd.PurchaseOrderId != request.PurchaseOrderId).Sum(ocd => ocd.TotalCost); |
|
|
@ -958,14 +957,16 @@ namespace BBWYB.Server.Business |
|
|
|
if (dbOrderCostDetails.Count() == 0) |
|
|
|
throw new Exception($"采购单{purchaseOrderId}-未查询到订单{orderPurchaseInfo.OrderId}的明细成本"); |
|
|
|
|
|
|
|
var dbOrderPurchaseRelationInfos = fsql.Select<OrderPurchaseRelationInfo>().Where(x => x.OrderId == dbOrder.Id).ToList(); |
|
|
|
if (dbOrderPurchaseRelationInfos.Count() == 0) |
|
|
|
throw new Exception($"采购单{purchaseOrderId}-未查询到采购单关联明细,手动关联的采购单不支持改价"); |
|
|
|
|
|
|
|
var dbOrderPurchaseInfoList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == orderPurchaseInfo.OrderId && opi.IsEnabled == true).ToList(); |
|
|
|
if (dbOrderPurchaseInfoList.Count() == 0) |
|
|
|
throw new Exception($"采购单{purchaseOrderId}-未查询到订单{orderPurchaseInfo.OrderId}的采购单集合"); |
|
|
|
|
|
|
|
var dbPurchaseOrderIdList = dbOrderPurchaseInfoList.Select(x => x.PurchaseOrderId).ToList(); |
|
|
|
var dbOrderPurchaseRelationInfos = fsql.Select<OrderPurchaseRelationInfo>().Where(x => dbPurchaseOrderIdList.Contains(x.PurchaseOrderId)).ToList(); |
|
|
|
if (dbOrderPurchaseRelationInfos.Count() == 0) |
|
|
|
throw new Exception($"采购单{purchaseOrderId}-未查询到采购单关联明细,手动关联的采购单不支持改价"); |
|
|
|
|
|
|
|
List<IUpdate<OrderCostDetail>> updateOrderCostDetailList = new List<IUpdate<OrderCostDetail>>(); |
|
|
|
IUpdate<OrderCost> updateOrderCost = null; |
|
|
|
|
|
|
|