public static PurchaseOrderItemInfo AddNewPurchaseOrderItem(PurchaseOrderItemProductInfo productInfo, int sellerSysNo) { if (productInfo == null) { throw new BusinessException(L("采购商品不能为空")); } if (productInfo.PrePurchaseQty <= 0) { throw new BusinessException(L("采购数量必须大于0")); } if (productInfo.PurchasePrice < 0m) { throw new BusinessException(L("采购价不能小于0")); } PurchaseOrderItemInfo item = ProductPurchaseDA.AddPurchaseOrderItemByProductSysNo(productInfo.SysNo, sellerSysNo); if (item == null) { throw new BusinessException(L("采购商品不存在")); } //if (item.ProductTradeType != TradeType.FTA) //{ // throw new BusinessException(L("商品【{0}】不是自贸商品,只能采购交易类型为自贸的商品", item.BriefName)); //} item.OrderPrice = productInfo.PurchasePrice; item.PrePurchaseQty = productInfo.PrePurchaseQty; //当前成本: item.CurrentUnitCost = item.UnitCost; item.UnitCostWithoutTax = item.UnitCostWithoutTax; item.LineReturnedPointCost = item.UnitCost * productInfo.PrePurchaseQty; item.Quantity = 0; item.PurchaseQty = 0; //调用IM接口,获取Item价格信息: item.LastOrderPrice = ProductPurchaseDA.GetLastPriceBySysNo(item.ProductSysNo.Value); Entity.Product.ProductInventoryInfo productInventoryInfo = ProductPurchaseDA.GetProductInventoryByProductSysNO(item.ProductSysNo.Value); if (productInventoryInfo != null) { item.AvailableQty = productInventoryInfo.AvailableQty; item.UnActivatyCount = productInventoryInfo.UnActivatyCount; } item.ApportionAddOn = 0; ////获取本地货币: item.CurrencyCode = 1; CurrencyInfo localCurrency = CommonService.GetCurrencyBySysNo(item.CurrencyCode.Value); item.CurrencySymbol = localCurrency == null ? String.Empty : localCurrency.CurrencySymbol; PurchaseOrderItemInfo getExendPOitem = ProductPurchaseDA.GetExtendPurchaseOrderItemInfo(productInfo.SysNo); if (getExendPOitem != null) { item.LastAdjustPriceDate = getExendPOitem.LastAdjustPriceDate; item.LastInTime = getExendPOitem.LastInTime; item.UnActivatyCount = getExendPOitem.UnActivatyCount; } if (ProductPurchaseDA.IsVirtualStockPurchaseOrderProduct(item.ProductSysNo.Value)) { item.IsVirtualStockProduct = true; } return(item); }