This commit is contained in:
18942506660
2024-10-17 14:03:12 +08:00
parent a1716aa75a
commit ea8ac33a56
8 changed files with 106 additions and 9 deletions

View File

@@ -114,7 +114,8 @@ namespace WMS.Web.Api.Controllers
//var ss=JsonConvert.DeserializeObject<LingXingResponse<LingXingStockResponse>>(str); //var ss=JsonConvert.DeserializeObject<LingXingResponse<LingXingStockResponse>>(str);
//var b = System.Text.Json.JsonSerializer.Deserialize<LingXingResponse<LingXingStockResponse>>(str); //var b = System.Text.Json.JsonSerializer.Deserialize<LingXingResponse<LingXingStockResponse>>(str);
//await _productInventoryService.LingXing(); //await _productInventoryService.LingXing();
//var s = await _lingXingService.GetStock(); //var s = await _lingXingService.GetSeller();
//var ns = s.Data.Where(w =>w.Id== "2101").ToList();
//string str = string.Join(",", s.Data.Select(s => s.Id).ToList()); //string str = string.Join(",", s.Data.Select(s => s.Id).ToList());
var sd= await _lingXingService.GetInventory(new LingXingInventoryRequest() { wid = "437" }); var sd= await _lingXingService.GetInventory(new LingXingInventoryRequest() { wid = "437" });
string sdsdf = sd.Message; string sdsdf = sd.Message;

View File

@@ -4039,6 +4039,21 @@
页条数 页条数
</summary> </summary>
</member> </member>
<member name="T:WMS.Web.Core.Dto.LingXing.LingXingSellerResponse">
<summary>
店铺信息
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.LingXing.LingXingSellerResponse.Id">
<summary>
id
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.LingXing.LingXingSellerResponse.Name">
<summary>
name
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.LingXing.LingXingStockResponse.Id"> <member name="P:WMS.Web.Core.Dto.LingXing.LingXingStockResponse.Id">
<summary> <summary>
id id

View File

@@ -4321,6 +4321,12 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.IService.Public.ILingXingService.GetSeller">
<summary>
获取领星所有仓库
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.Public.ILingXingService.GetInventory(WMS.Web.Core.Dto.LingXing.LingXingInventoryRequest)"> <member name="M:WMS.Web.Domain.IService.Public.ILingXingService.GetInventory(WMS.Web.Core.Dto.LingXing.LingXingInventoryRequest)">
<summary> <summary>
获取即时库存 获取即时库存
@@ -6304,6 +6310,13 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Services.Public.LingXingService.GetSeller">
<summary>
获取所有店铺
</summary>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:WMS.Web.Domain.Services.Public.LingXingService.GetInventory(WMS.Web.Core.Dto.LingXing.LingXingInventoryRequest)"> <member name="M:WMS.Web.Domain.Services.Public.LingXingService.GetInventory(WMS.Web.Core.Dto.LingXing.LingXingInventoryRequest)">
<summary> <summary>
获取即使库存 获取即使库存

View File

@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WMS.Web.Core.Dto.LingXing
{
public class LingXingKongRequest
{
}
}

View File

@@ -0,0 +1,25 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;
namespace WMS.Web.Core.Dto.LingXing
{
/// <summary>
/// 店铺信息
/// </summary>
public class LingXingSellerResponse
{
public LingXingSellerResponse() { }
/// <summary>
/// id
/// </summary>
[JsonProperty("sid")]
public string Id { get; set; }
/// <summary>
/// name
/// </summary>
[JsonProperty("name")]
public string Name { get; set; }
}
}

View File

@@ -18,6 +18,11 @@ namespace WMS.Web.Domain.IService.Public
/// <returns></returns> /// <returns></returns>
public Task<Result<List<LingXingStockResponse>>> GetStock(); public Task<Result<List<LingXingStockResponse>>> GetStock();
/// <summary> /// <summary>
/// 获取领星所有仓库
/// </summary>
/// <returns></returns>
public Task<Result<List<LingXingSellerResponse>>> GetSeller();
/// <summary>
/// 获取即时库存 /// 获取即时库存
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>

View File

@@ -78,28 +78,36 @@ namespace WMS.Web.Domain.Services
List<ErpMaterialDto> materials = new List<ErpMaterialDto>(); List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
if (materials_result.IsSuccess) if (materials_result.IsSuccess)
materials = materials_result.Data.ToList(); materials = materials_result.Data.ToList();
//获取店铺
var sellerList = await _lingXingService.GetSeller();
//合并
var group = resInventory.Data.GroupBy(g => (g.StockId, g.SKU, g.SellerId));
List<ProductInventory> inventoryList = new List<ProductInventory>(); List<ProductInventory> inventoryList = new List<ProductInventory>();
foreach (var item in resInventory.Data) foreach (var item in group)
{ {
//如果物料不匹配 过滤 //如果物料不匹配 过滤
var m = materials.FirstOrDefault(f => f.Specifications.Equals(item.SKU)); var m = materials.FirstOrDefault(f => f.Specifications.Equals(item.Key.SKU));
if (m == null) continue; if (m == null) continue;
//找仓库 //找仓库
var l_stock = resStock.Data.FirstOrDefault(f => f.Id == item.StockId); var l_stock = resStock.Data.FirstOrDefault(f => f.Id == item.Key.StockId);
if (l_stock == null) continue; if (l_stock == null) continue;
var stock = r.FirstOrDefault(f => f.WarehouseCodeOfLingxing.Equals(l_stock.Name)); var stock = r.FirstOrDefault(f => f.WarehouseCodeOfLingxing.Equals(l_stock.Name));
if (stock == null) continue; if (stock == null) continue;
//店铺
var seller = sellerList.Data.FirstOrDefault(f=>f.Id== item.Key.SellerId);
if (seller == null) continue;
var pList = resInventory.Data.Where(w => w.SKU == item.Key.SKU
&& w.StockId == item.Key.StockId && w.SellerId == item.Key.SellerId).ToList();
var entity = new ProductInventory() var entity = new ProductInventory()
{ {
Type = ProductInventoryType.LingXing, Type = ProductInventoryType.LingXing,
MaterialNumber = m.MaterialNumber, MaterialNumber = m.MaterialNumber,
Customer = item.SellerId, Customer = seller.Name,
OrgCode = stock.Code, OrgCode = stock.Code,
StockCode = stock.ErpOrgCode, StockCode = stock.ErpOrgCode,
Qty = item.Product_Valid_Num, Qty = pList.Sum(s => s.Product_Valid_Num),
BeforeQty = item.Product_Total BeforeQty = pList.Sum(s => s.Product_Total)
}; };
inventoryList.Add(entity); inventoryList.Add(entity);
} }

View File

@@ -71,6 +71,7 @@ namespace WMS.Web.Domain.Services.Public
/// <returns></returns> /// <returns></returns>
public async Task<Result<List<LingXingStockResponse>>> GetStock() public async Task<Result<List<LingXingStockResponse>>> GetStock()
{ {
//默认获取本地仓库 如果需要海外仓 另外需传参数type
var request = new LingXingRequest(); var request = new LingXingRequest();
var resUrl = await GetStr<LingXingRequest>("/erp/sc/data/local_inventory/warehouse", request); var resUrl = await GetStr<LingXingRequest>("/erp/sc/data/local_inventory/warehouse", request);
if (!resUrl.IsSuccess) return Result<List<LingXingStockResponse>>.ReFailure(ResultCodes.LingXingUrlError); if (!resUrl.IsSuccess) return Result<List<LingXingStockResponse>>.ReFailure(ResultCodes.LingXingUrlError);
@@ -80,6 +81,24 @@ namespace WMS.Web.Domain.Services.Public
return Result<List<LingXingStockResponse>>.ReSuccess(JsonConvert.DeserializeObject<List<LingXingStockResponse>>(res.Data.ToString())); return Result<List<LingXingStockResponse>>.ReSuccess(JsonConvert.DeserializeObject<List<LingXingStockResponse>>(res.Data.ToString()));
} }
/// <summary>
/// 获取所有店铺
/// </summary>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<Result<List<LingXingSellerResponse>>> GetSeller()
{
var request = new LingXingKongRequest();
var resUrl = await GetStr<LingXingKongRequest>("/erp/sc/data/seller/lists", request);
if (!resUrl.IsSuccess) return Result<List<LingXingSellerResponse>>.ReFailure(ResultCodes.LingXingUrlError);
var res = await _httpClientService.GetAsync<LingXingResponse>(resUrl.Data);
if (res.Code != 0) return Result<List<LingXingSellerResponse>>.ReFailure(ResultCodes.LingXingDataError);
return Result<List<LingXingSellerResponse>>.ReSuccess(JsonConvert.DeserializeObject<List<LingXingSellerResponse>>(res.Data.ToString()));
}
/// <summary> /// <summary>
/// 获取即使库存 /// 获取即使库存
/// </summary> /// </summary>
@@ -301,6 +320,7 @@ namespace WMS.Web.Domain.Services.Public
return inParam; return inParam;
} }
#endregion #endregion
} }
public class LxSignInfo public class LxSignInfo