Browse Source

修复关联采购单bug

updatebug
shanji 2 years ago
parent
commit
59022553e9
  1. 25
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  2. 2
      BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs
  3. 7
      BBWYB.Server.Model/Enums.cs
  4. BIN
      zh-Hans/FreeSql.resources.dll

25
BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -426,7 +426,8 @@ namespace BBWYB.Server.Business
PurchaserId = purchaseOrder.PurchaserId, PurchaserId = purchaseOrder.PurchaserId,
PurchaserName = purchaseOrder.PurchaserName, PurchaserName = purchaseOrder.PurchaserName,
PurchaserOrderId = purchaseOrder.PurchaseOrderId, PurchaserOrderId = purchaseOrder.PurchaseOrderId,
IsEnabled = purchaseOrder.IsEnabled IsEnabled = purchaseOrder.IsEnabled,
PurchaseMethod = purchaseOrder.PurchaseMethod.Value
}; };
var currentOrderCostDetailList = orderCostDetailList.Where(ocd => ocd.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); 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) if (request.AssociationPurchaseOrderList == null || request.AssociationPurchaseOrderList.Count() == 0)
throw new BusinessException("缺少采购单信息"); throw new BusinessException("缺少采购单信息");
var dbPurchaseOrderList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == request.OrderId).ToList(); var dbPurchaseOrderList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == request.OrderId).ToList();
var dbInvalidPurchaseOrderIdList = dbPurchaseOrderList.Where(opi => !opi.IsEnabled).Select(opi => opi.PurchaseOrderId).ToList(); var dbInvalidPurchaseOrderIdList = dbPurchaseOrderList.Where(opi => !opi.IsEnabled).Select(opi => opi.PurchaseOrderId).ToList();
@ -500,7 +500,7 @@ namespace BBWYB.Server.Business
IsEnabled = true, IsEnabled = true,
BelongSkuIds = string.Join(",", purchaseOrder.AssocationOrderCostDetailList.Select(x => x.SkuId)), BelongSkuIds = string.Join(",", purchaseOrder.AssocationOrderCostDetailList.Select(x => x.SkuId)),
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
PurchaseMethod = Enums.PurchaseMethod.线, PurchaseMethod = Enums.PurchaseMethod.,
PurchaseOrderId = purchaseOrder.PurchaserOrderId, PurchaseOrderId = purchaseOrder.PurchaserOrderId,
PurchasePlatform = purchaseOrder.PurchasePlatform, PurchasePlatform = purchaseOrder.PurchasePlatform,
PurchaserId = purchaseOrder.PurchaserId, PurchaserId = purchaseOrder.PurchaserId,
@ -522,7 +522,8 @@ namespace BBWYB.Server.Business
ProductId = dbOrderSku.ProductId, ProductId = dbOrderSku.ProductId,
SkuId = assOrderCostDetail.SkuId, SkuId = assOrderCostDetail.SkuId,
PurchaseFreight = avgFreight, PurchaseFreight = avgFreight,
TotalCost = assOrderCostDetail.SkuAmount + avgFreight TotalCost = assOrderCostDetail.SkuAmount + avgFreight,
PurchaseOrderId = purchaseOrder.PurchaserOrderId
}; };
insertOrderCostDetailList.Add(orderCostDetail); insertOrderCostDetailList.Add(orderCostDetail);
} }
@ -597,19 +598,17 @@ namespace BBWYB.Server.Business
} }
insertOrderCost?.ExecuteAffrows(); insertOrderCost?.ExecuteAffrows();
updateOrderCost?.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) public void SetHistoryPurchaseOrder(SetHistoryPurchaseOrderRequest request)
{ {
var dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId) var dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId).ToList();
.ToList();
var dbOrderCost = fsql.Select<OrderCost>(request.OrderId).ToOne(); var dbOrderCost = fsql.Select<OrderCost>(request.OrderId).ToOne();
var dbOrder = fsql.Select<Order>(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 try
{ {
dbOrderCost.PurchaseAmount = dbOrderCostDetailList.Where(ocd => ocd.PurchaseOrderId != request.PurchaseOrderId).Sum(ocd => ocd.TotalCost); 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) if (dbOrderCostDetails.Count() == 0)
throw new Exception($"采购单{purchaseOrderId}-未查询到订单{orderPurchaseInfo.OrderId}的明细成本"); 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(); var dbOrderPurchaseInfoList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == orderPurchaseInfo.OrderId && opi.IsEnabled == true).ToList();
if (dbOrderPurchaseInfoList.Count() == 0) if (dbOrderPurchaseInfoList.Count() == 0)
throw new Exception($"采购单{purchaseOrderId}-未查询到订单{orderPurchaseInfo.OrderId}的采购单集合"); 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>>(); List<IUpdate<OrderCostDetail>> updateOrderCostDetailList = new List<IUpdate<OrderCostDetail>>();
IUpdate<OrderCost> updateOrderCost = null; IUpdate<OrderCost> updateOrderCost = null;

2
BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs

@ -50,6 +50,8 @@
/// </summary> /// </summary>
public bool IsEnabled { get; set; } public bool IsEnabled { get; set; }
public Enums.PurchaseMethod PurchaseMethod { get; set; }
/// <summary> /// <summary>
/// 订单成本明细列表 /// 订单成本明细列表
/// </summary> /// </summary>

7
BBWYB.Server.Model/Enums.cs

@ -16,12 +16,13 @@
} }
/// <summary> /// <summary>
/// 采购方式 线上采购 = 0,线下采购 = 1 /// 采购方式 线上采购 = 0,关联外部单 = 1,手动下单 = 2
/// </summary> /// </summary>
public enum PurchaseMethod public enum PurchaseMethod
{ {
线 = 0, 线 = 0,
线 = 1 = 1,
= 2
} }
/// <summary> /// <summary>
@ -85,7 +86,7 @@
= 7, = 7,
退 = 8, 退 = 8,
Unknow = 100, Unknow = 100,
= 101, = 101,
} }
/// <summary> /// <summary>

BIN
zh-Hans/FreeSql.resources.dll

Binary file not shown.
Loading…
Cancel
Save