测试
This commit is contained in:
@@ -9,6 +9,6 @@ namespace WMS.Web.Domain.IService.Public
|
|||||||
{
|
{
|
||||||
public interface IErpInventoryService
|
public interface IErpInventoryService
|
||||||
{
|
{
|
||||||
Task<Result<List<ErpInventoryDto>>> GetInventory(string stockCodes);
|
Task<Result<List<ErpInventoryDto>>> GetInventory(List<string> stockCodes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,14 +62,14 @@ namespace WMS.Web.Domain.Services
|
|||||||
{
|
{
|
||||||
//获取单点配置
|
//获取单点配置
|
||||||
var r = await _basicsRepositories.GetUcStockByHeadOfficeAsync("", 1);
|
var r = await _basicsRepositories.GetUcStockByHeadOfficeAsync("", 1);
|
||||||
r = r.Where(w => w.Code.Equals("CK001")).ToList();
|
//r = r.Where(w => w.Code.Equals("CK001")).ToList();
|
||||||
var codes = r.Where(w =>
|
var codes = r.Where(w =>
|
||||||
w.ManagementSystem == 1 || w.ManagementSystem == 4).Select(s => (s.Code, s.ErpOrgCode)).ToList();
|
w.ManagementSystem == 1 || w.ManagementSystem == 4).Select(s => (s.Code, s.ErpOrgCode)).ToList();
|
||||||
if (codes.Count() <= 0) return Result.ReSuccess();
|
if (codes.Count() <= 0) return Result.ReSuccess();
|
||||||
|
|
||||||
var str = string.Join(",", codes.Select(s => s.Code).ToList());
|
//var str = string.Join(",", codes.Select(s => s.Code).ToList());
|
||||||
|
|
||||||
var res = await _erpInventoryService.GetInventory(str);
|
var res = await _erpInventoryService.GetInventory(codes.Select(s => s.Code).ToList());
|
||||||
_logger.LogInformation($"拉去金蝶数据结果:{res.IsSuccess} {res.Message} {res.Data.Count()}");
|
_logger.LogInformation($"拉去金蝶数据结果:{res.IsSuccess} {res.Message} {res.Data.Count()}");
|
||||||
if (!res.IsSuccess) return res;
|
if (!res.IsSuccess) return res;
|
||||||
//过滤掉不符合要求的组织和仓库组合
|
//过滤掉不符合要求的组织和仓库组合
|
||||||
|
|||||||
@@ -45,53 +45,57 @@ namespace WMS.Web.Domain.Services.Public
|
|||||||
var iResult = JObject.Parse(response)["LoginResultType"].Value<int>();
|
var iResult = JObject.Parse(response)["LoginResultType"].Value<int>();
|
||||||
return iResult == 1 ? true : false;
|
return iResult == 1 ? true : false;
|
||||||
}
|
}
|
||||||
public async Task<Result<List<ErpInventoryDto>>> GetInventory(string stockCodes)
|
public async Task<Result<List<ErpInventoryDto>>> GetInventory(List<string> stockCodes)
|
||||||
{
|
{
|
||||||
List<ErpInventoryDto> list = new List<ErpInventoryDto>();
|
List<ErpInventoryDto> list = new List<ErpInventoryDto>();
|
||||||
HttpClientEx httpClient = new HttpClientEx();
|
HttpClientEx httpClient = new HttpClientEx();
|
||||||
var isSuccess = Login(httpClient);
|
var isSuccess = Login(httpClient);
|
||||||
string baseUrl = _erpOptions.EndpointAddress.Replace("/ERPGW.asmx", "");
|
string baseUrl = _erpOptions.EndpointAddress.Replace("/ERPGW.asmx", "");
|
||||||
httpClient.Url = string.Format("{0}/Kingdee.K3.SCM.WebApi.ServicesStub.InventoryQueryService.GetInventoryData.common.kdsvc", baseUrl);
|
httpClient.Url = string.Format("{0}/Kingdee.K3.SCM.WebApi.ServicesStub.InventoryQueryService.GetInventoryData.common.kdsvc", baseUrl);
|
||||||
List<object> Parameters = new List<object>();
|
|
||||||
var model = new InventoryParamModel();
|
|
||||||
model.fstocknumbers = stockCodes;
|
|
||||||
//model.fmaterialnumbers = "G01-11-572474";
|
|
||||||
model.isshowauxprop = true;
|
|
||||||
model.isshowstockloc = true;
|
|
||||||
model.pageindex = 1;
|
|
||||||
model.pagerows = 10000;
|
|
||||||
Parameters.Add(model);
|
|
||||||
|
|
||||||
httpClient.Content = JsonConvert.SerializeObject(Parameters);
|
foreach (var code in stockCodes)
|
||||||
_logger.LogInformation($"1.开始进行连接 {stockCodes}");
|
|
||||||
string content = httpClient.AsyncRequest();
|
|
||||||
_logger.LogInformation($"金蝶返回数据{content}");
|
|
||||||
JObject resData = JObject.Parse(content);
|
|
||||||
|
|
||||||
if (resData["success"].ToString().ToLower() != "true")
|
|
||||||
return Result<List<ErpInventoryDto>>.ReFailure(ResultCodes.Erp_Inventory_Error);
|
|
||||||
|
|
||||||
string json = resData["data"].ToString();
|
|
||||||
var datas = JsonConvert.DeserializeObject<List<ErpInventoryDto>>(json);
|
|
||||||
list.AddRange(datas);
|
|
||||||
|
|
||||||
int num = Convert.ToInt32(resData["rowcount"]) / 10000;
|
|
||||||
for (int i = 1; i <= num; i++)
|
|
||||||
{
|
{
|
||||||
model.pageindex++;
|
List<object> Parameters = new List<object>();
|
||||||
|
var model = new InventoryParamModel();
|
||||||
|
model.fstocknumbers = code;
|
||||||
|
//model.fmaterialnumbers = "G01-11-572474";
|
||||||
|
model.isshowauxprop = true;
|
||||||
|
model.isshowstockloc = true;
|
||||||
|
model.pageindex = 1;
|
||||||
|
model.pagerows = 10000;
|
||||||
|
Parameters.Add(model);
|
||||||
|
|
||||||
httpClient.Content = JsonConvert.SerializeObject(Parameters);
|
httpClient.Content = JsonConvert.SerializeObject(Parameters);
|
||||||
|
_logger.LogInformation($"1.开始进行连接 {code}");
|
||||||
content = httpClient.AsyncRequest();
|
string content = httpClient.AsyncRequest();
|
||||||
_logger.LogInformation($"金蝶返回数据{content}");
|
//_logger.LogInformation($"金蝶返回数据{content}");
|
||||||
resData = JObject.Parse(content);
|
JObject resData = JObject.Parse(content);
|
||||||
|
|
||||||
if (resData["success"].ToString().ToLower() != "true")
|
if (resData["success"].ToString().ToLower() != "true")
|
||||||
return Result<List<ErpInventoryDto>>.ReFailure(ResultCodes.Erp_Inventory_Error);
|
return Result<List<ErpInventoryDto>>.ReFailure(ResultCodes.Erp_Inventory_Error);
|
||||||
|
|
||||||
json = resData["data"].ToString();
|
string json = resData["data"].ToString();
|
||||||
datas = JsonConvert.DeserializeObject<List<ErpInventoryDto>>(json);
|
var datas = JsonConvert.DeserializeObject<List<ErpInventoryDto>>(json);
|
||||||
list.AddRange(datas);
|
list.AddRange(datas);
|
||||||
|
|
||||||
|
int num = Convert.ToInt32(resData["rowcount"]) / 10000;
|
||||||
|
for (int i = 1; i <= num; i++)
|
||||||
|
{
|
||||||
|
model.pageindex++;
|
||||||
|
|
||||||
|
httpClient.Content = JsonConvert.SerializeObject(Parameters);
|
||||||
|
|
||||||
|
content = httpClient.AsyncRequest();
|
||||||
|
//_logger.LogInformation($"金蝶返回数据{content}");
|
||||||
|
resData = JObject.Parse(content);
|
||||||
|
|
||||||
|
if (resData["success"].ToString().ToLower() != "true")
|
||||||
|
return Result<List<ErpInventoryDto>>.ReFailure(ResultCodes.Erp_Inventory_Error);
|
||||||
|
|
||||||
|
json = resData["data"].ToString();
|
||||||
|
datas = JsonConvert.DeserializeObject<List<ErpInventoryDto>>(json);
|
||||||
|
list.AddRange(datas);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var blist = list.Where(w => w.Qty > 0 || w.BeforeQty > 0).ToList();
|
var blist = list.Where(w => w.Qty > 0 || w.BeforeQty > 0).ToList();
|
||||||
|
|||||||
Reference in New Issue
Block a user