Browse Source

1.新增采购商发货地

2.自动计算采购方案默认成本
qianyi
shanji 3 years ago
parent
commit
7bb6e1e7ed
  1. 4
      BBWY.Client/Models/APIModel/Response/PurchaseSchemeResponse.cs
  2. 10
      BBWY.Client/Models/Product/PurchaseScheme.cs
  3. 6
      BBWY.Client/Models/Product/PurchaseSchemeProduct.cs
  4. 2
      BBWY.Client/Models/Product/PurchaseSchemeProductSku.cs
  5. 19
      BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs
  6. 3
      BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  7. 31
      BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs
  8. 4
      BBWY.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs
  9. 2
      BBWY.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeResponse.cs

4
BBWY.Client/Models/APIModel/Response/PurchaseSchemeResponse.cs

@ -17,6 +17,10 @@ namespace BBWY.Client.Models
public string PurchaserId { get; set; }
public string PurchaserName { get; set; }
/// <summary>
/// 发货地
/// </summary>
public string PurchaserLocation { get; set; }
/// <summary>
/// 采购实际成本
/// </summary>
public decimal? RealCost { get; set; }

10
BBWY.Client/Models/Product/PurchaseScheme.cs

@ -21,6 +21,7 @@ namespace BBWY.Client.Models
public string PurchaserId { get; set; }
public string PurchaserName { get; set; }
public string PurchaserLocation { get; set; }
public string PurchaseProductId1 { get; set; }
public int PurchaseProductSkuCount1 { get; set; }
public string PurchaseProductId2 { get; set; }
@ -40,6 +41,12 @@ namespace BBWY.Client.Models
PurchaseSchemeProductList = new ObservableCollection<PurchaseSchemeProduct>();
}
/// <summary>
/// 是否转换方案中已选中的sku
/// </summary>
/// <param name="apiModel"></param>
/// <param name="convertSelectedSku"></param>
/// <returns></returns>
public static PurchaseScheme Convert(PurchaseSchemeResponse apiModel)
{
var model = new PurchaseScheme()
@ -50,7 +57,8 @@ namespace BBWY.Client.Models
DefaultCost = apiModel.DefaultCost ?? 0,
RealCost = apiModel.RealCost ?? 0,
PurchaserId = apiModel.PurchaserId,
PurchaserName = apiModel.PurchaserName
PurchaserName = apiModel.PurchaserName,
PurchaserLocation = apiModel.PurchaserLocation
};
foreach (var apiProduct in apiModel.PurchaseSchemeProductList)

6
BBWY.Client/Models/Product/PurchaseSchemeProduct.cs

@ -48,6 +48,12 @@ namespace BBWY.Client.Models
SelectedSkuIdList = new List<string>();
}
/// <summary>
///
/// </summary>
/// <param name="apiModel"></param>
/// <param name="convertSelectedSku">是否转换方案中已选的sku</param>
/// <returns></returns>
public static PurchaseSchemeProduct Convert(PurchaseSchemeProductResponse apiModel)
{
var model = new PurchaseSchemeProduct()

2
BBWY.Client/Models/Product/PurchaseSchemeProductSku.cs

@ -13,7 +13,7 @@
private bool isSelected;
public bool IsSelected { get => isSelected; set { Set(ref isSelected, value); } }
public double Price { get; set; }
public decimal Price { get; set; }
/// <summary>
/// Sku标题

19
BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs

@ -28,6 +28,7 @@ namespace BBWY.Client.ViewModels
public Product Product { get; set; }
public string PurchaserId { get; set; }
public string PurchaserName { get => purchaserName; set { Set(ref purchaserName, value); } }
public string PurchaserLocation { get; set; }
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
#endregion
@ -113,9 +114,9 @@ namespace BBWY.Client.ViewModels
ewh.Set();
ewh.Dispose();
});
WaitHandle.WaitAll(waitList.ToArray());
IsLoading = false;
}
WaitHandle.WaitAll(waitList.ToArray());
IsLoading = false;
});
}
}
@ -129,7 +130,7 @@ namespace BBWY.Client.ViewModels
});
if (skuList == null)
skuList = LoadPurchaseProductCore(purchaseSchemeProduct.PurchaseProductId, out _, out _, out _, null);
skuList = LoadPurchaseProductCore(purchaseSchemeProduct.PurchaseProductId, out _, out _, out _, out _, null);
if (skuList == null)
return;
@ -151,11 +152,13 @@ namespace BBWY.Client.ViewModels
out string errorMsg,
out string purchaserId,
out string purchaserName,
out string purchaserLocation,
Func<string, string> checkPurchaserFunc)
{
errorMsg = string.Empty;
purchaserId = string.Empty;
purchaserName = string.Empty;
purchaserLocation = string.Empty;
//1688商品详情接口
var response = oneBoundAPIService.GetProductInfo("1688", purchseProductId);
if (!response.Success)
@ -168,7 +171,7 @@ namespace BBWY.Client.ViewModels
var jobject = response.Data;
purchaserId = jobject["item"]["seller_info"].Value<string>("user_num_id");
purchaserName = jobject["item"]["seller_info"].Value<string>("title");
purchaserLocation = jobject["item"].Value<string>("location");
if (checkPurchaserFunc != null)
{
errorMsg = checkPurchaserFunc(purchaserId);
@ -193,7 +196,7 @@ namespace BBWY.Client.ViewModels
//ProductId = Product.Id,
//SkuId = purchaseSchemeProduct.SkuId,
PurchaseProductId = purchseProductId,
Price = j.Value<double>("price"),
Price = j.Value<decimal>("price"),
PurchaseSkuId = j.Value<string>("sku_id"),
PurchaseSkuSpecId = j.Value<string>("spec_id"),
Title = j.Value<string>("properties_name"),
@ -289,6 +292,7 @@ namespace BBWY.Client.ViewModels
out string errorMsg,
out string purchaserId,
out string purchaserName,
out string purchaserLocation,
(p) =>
{
if (sku.PurchaseSchemeList.Any(s => s.PurchaserId == p))
@ -311,7 +315,7 @@ namespace BBWY.Client.ViewModels
PurchaserId = purchaserId;
PurchaserName = purchaserName;
PurchaserLocation = purchaserLocation;
purchaseSchemeProduct.PurchaseUrl = purchaseUrl;
purchaseSchemeProduct.PurchaseProductId = purchaseProductId;
@ -341,6 +345,9 @@ namespace BBWY.Client.ViewModels
var productSku = Product.SkuList.FirstOrDefault(sku => sku.Id == purchaseSchemeProduct.SkuId);
productSku.SelectedPurchaseScheme.PurchaserId = PurchaserId;
productSku.SelectedPurchaseScheme.PurchaserName = PurchaserName;
productSku.SelectedPurchaseScheme.PurchaserLocation = PurchaserLocation;
productSku.SelectedPurchaseScheme.DefaultCost = productSku.SelectedPurchaseScheme.PurchaseSchemeProductList.Sum(p => p.PurchaseSchemeProductSkuList.Count() == 0 ? 0 : p.PurchaseSchemeProductSkuList.Sum(s => s.Price));
}
private void EditPurchaseProduct(PurchaseSchemeProduct purchaseSchemeProduct)

3
BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -21,7 +21,7 @@ namespace BBWY.Server.Business
foreach (var scheme in purchaserSchemeList)
{
if (newPurchaserIdList.Any(p => p == scheme.PurchaserId) && !addPurchaserList.Any(p => p.Id == scheme.PurchaserId))
addPurchaserList.Add(new Purchaser() { Id = scheme.PurchaserId, Name = scheme.PurchaserName });
addPurchaserList.Add(new Purchaser() { Id = scheme.PurchaserId, Name = scheme.PurchaserName, Location = scheme.PurchaserLocation });
}
}
@ -131,6 +131,7 @@ namespace BBWY.Server.Business
ShopId = ps.ShopId,
PurchaserId = p.Id,
PurchaserName = p.Name,
PurchaserLocation = p.Location,
DefaultCost = ps.DefaultCost,
RealCost = ps.RealCost,
CreateTime = ps.CreateTime

31
BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs

@ -7,20 +7,27 @@ namespace BBWY.Server.Model.Db
/// 采购商表
/// </summary>
[Table(Name = "purchaser", DisableSyncStructure = true)]
public partial class Purchaser {
public partial class Purchaser
{
/// <summary>
/// 采购商Id
/// </summary>
[Column(StringLength = 20, IsPrimary = true, IsNullable = false)]
public string Id { get; set; }
/// <summary>
/// 采购商Id
/// </summary>
[Column(StringLength = 20, IsPrimary = true, IsNullable = false)]
public string Id { get; set; }
/// <summary>
/// 采购商名称
/// </summary>
[Column(StringLength = 50)]
public string Name { get; set; }
/// <summary>
/// 采购商名称
/// </summary>
[Column(StringLength = 50)]
public string Name { get; set; }
}
/// <summary>
/// 发货地
/// </summary>
[Column(StringLength = 50)]
public string Location { get; set; }
}
}

4
BBWY.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs

@ -20,6 +20,10 @@ namespace BBWY.Server.Model.Dto
/// </summary>
public string PurchaserId { get; set; }
public string PurchaserName { get; set; }
/// <summary>
/// 采购商发货地
/// </summary>
public string PurchaserLocation { get; set; }
public IList<InputPurchaseSchemeProductRequest> PurchaseSchemeProductList { get; set; }
}
}

2
BBWY.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeResponse.cs

@ -6,6 +6,8 @@ namespace BBWY.Server.Model.Dto
{
public string PurchaserName { get; set; }
public string PurchaserLocation { get; set; }
public new List<PurchaseSchemeProductResponse> PurchaseSchemeProductList { get; set; }
public PurchaseSchemeResponse()

Loading…
Cancel
Save