优化接口
This commit is contained in:
@@ -22,6 +22,7 @@ using Microsoft.Extensions.Hosting;
|
||||
using WMS.Web.Domain.Options;
|
||||
using Microsoft.Extensions.Options;
|
||||
using WMS.Web.Domain.Values;
|
||||
using WMS.Web.Core.Dto.Erp;
|
||||
|
||||
namespace WMS.Web.Api.Controllers
|
||||
{
|
||||
@@ -71,39 +72,6 @@ namespace WMS.Web.Api.Controllers
|
||||
[Route("hj")]
|
||||
public async Task<string> TestHJ()
|
||||
{
|
||||
//OperateRequest dto = new OperateRequest();
|
||||
//dto.Ids.Add(95);
|
||||
// var result = await this._erpService.BillQueryForSubStock();
|
||||
//var ss= result.Data.Where(w => w.Name.Equals("Fares")).ToList();
|
||||
//await _outStockService.Sync(dto, null);
|
||||
//var b = await _takeStockService.Sync(dto);
|
||||
// List<ErpCustomerDto> list = null;
|
||||
//var b= list.FirstOrDefault(f => f.Id == 123);
|
||||
//var entity=await _takeStockRepositories.GetEntityList(new List<int>() {2 });
|
||||
//var r= await _takeStockService.Loss_Profit(entity.First());
|
||||
//var list = await GetList();
|
||||
//List<(string materialNumber, string orgCode, string stockCode, int subStockId)> request = new List<(string materialNumber, string orgCode, string stockCode, int subStockId)>();
|
||||
//request.Add(("G03-60-551495", "101", "WMSCH001", 2683));
|
||||
//var c = await _erpService.BillQueryForInventory(request);
|
||||
//var c = await _erpService.BillQueryForAssembledAppOutStock_Assembly(new List<string>() { "ZZCX003061" }, DateTime.Now.AddDays(-10));
|
||||
//var bc2 = await _erpService.BillQueryForDeliveryNoticeOutStock(new List<string>() { "FHTZD8022232" }, DateTime.Now.AddDays(-10));
|
||||
//var bc = await _erpService.BillQueryForTransferOutOutStock(null, DateTime.Now.AddDays(-10));
|
||||
//var b=await _erpService.BillQueryForAssembledAppOutStock_Assembly(null, DateTime.Now.AddDays(-1));
|
||||
// var b2 = await _erpService.BillQueryForAssembledAppOutStock_Dassembly(null, DateTime.Now.AddDays(-10));
|
||||
//var b = await _outStockTaskService.Sync(new List<string>() { "FHTZD8022232" });
|
||||
//var result = await this._outStockTaskService.Sync(null);
|
||||
//var t=await _outStockTaskRepositories.Get(1);
|
||||
// t.Details[0].Remark = "sdf";
|
||||
// t.Details[0].ErpDetails[0].SaleBillNo = "sdfsfsbbbb";
|
||||
// var s = await _outStockTaskRepositories.Edit(t);
|
||||
//await _boxService.Sync();
|
||||
//var res = await this._erpService.BillQueryForAssembledAppOutStock_Dassembly(null,DateTime.Now.AddDays(-300));
|
||||
//var result= await this._erpService.BillQueryForPurchaseInStock();
|
||||
//var result = await this._erpService.BillQueryForOrg();
|
||||
//var result = await this._erpService.BillQueryForMaterial();
|
||||
//if (!result.IsSuccess)
|
||||
// return "";
|
||||
//return JsonConvert.SerializeObject(result.Data);
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -137,59 +105,21 @@ namespace WMS.Web.Api.Controllers
|
||||
[Route("tf")]
|
||||
public async Task<string> TestTF()
|
||||
{
|
||||
if (!_env.IsDevelopment()) return "";
|
||||
////var result = await this._erpService.BillQueryForOrg();
|
||||
var result = await this._erpService.BillQueryForBillType();
|
||||
//if (!result.IsSuccess)
|
||||
// return "";
|
||||
//return JsonConvert.SerializeObject(result.Data);
|
||||
|
||||
// var bis = new List<string>() { "CGDD224198", "CGDD224199", "CGDD224200", "CGDD224202", "SUB00006680", "CGDD224203", "SUB000066801", "CGDD224204", "CGDD224205", "CGDD224206", "CGDD224207", "SUB00006681", "CGDD224208", "CGDD224209", "SUB00006682", "CGDD224210", "CGDD224211", "CGDD224212", "CGDD224213", "CGDD224216", "SUB00006683", "CGDD224218", "CGDD224219", "CGDD224220", "CGDD224221", "CGDD224222", "CGDD224223", "CGDD224224", "CGDD224225", "CGDD224226", "CGDD224227", "CGDD224229", "CGDD224230", "CGDD224231", "CGDD224232", "CGDD224233", "SUB00006685", "SUB00006686", "CGDD224234", "CGDD224235", "CGDD224236", "CGDD224237", "CGDD224238", "CGDD224239", "CGDD224240", "CGDD224241", "CGDD224242", "CGDD224243", "CGDD224244", "CGDD224245", "CGDD224246", "CGDD224247", "CGDD224248", "CGDD224249", "CGDD224250", "CGDD224251" };
|
||||
|
||||
|
||||
//var result = await this._erpService.BillQueryForPurchaseInStock();
|
||||
//var result1 = await this._erpService.BillQueryForMiscellaneous();
|
||||
//var result2 = await this._erpService.BillQueryForTransferDirect();
|
||||
//var result3 = await this._erpService.BillQueryForTransferin();
|
||||
|
||||
//var result4= await this._erpService.BillQueryForAssembledApp_Assembly();
|
||||
|
||||
//var result5 = await this._erpService.BillQueryForAssembledApp_Disassembly();
|
||||
|
||||
//var list= result.Data.ToList();
|
||||
//list.AddRange(result2.Data.ToList());
|
||||
|
||||
//var result = await this._erpService.BillQueryForBillType();
|
||||
var result = await this._erpService.BillQueryForMaterial();
|
||||
//var list = new List<TestMar>();
|
||||
//foreach (var item in result.Data.ToList())
|
||||
//{
|
||||
// var t = new TestMar();
|
||||
// t.MaterialNumber = item.MaterialNumber;
|
||||
// t.BarCode = item.BarCode;
|
||||
// list.Add(t);
|
||||
//}
|
||||
|
||||
var tt = JsonConvert.SerializeObject(result);
|
||||
|
||||
//var tttt = new List<string>() { "ABCD14200999" };
|
||||
//var boxInventorys = await _boxInventoryRepositories.Get(142);
|
||||
|
||||
//var data = new List<BoxInventory>();
|
||||
|
||||
//var entity = new BoxInventory();
|
||||
//entity.Id = 34;
|
||||
//entity.BoxId = 142;
|
||||
//entity.OrgCode = "101";
|
||||
//entity.StockCode = "CK003";
|
||||
//entity.SubStockId = 2949;
|
||||
|
||||
//var det = new BoxInventoryDetails();
|
||||
|
||||
//det.Id = 266;
|
||||
//det.Fid = 34;
|
||||
//det.MaterialId = 4799560;
|
||||
//det.SerialNumbers = new List<string>() { "ABCD143001", "ABCD142002" };
|
||||
//det.Qty = 2;
|
||||
//entity.Details.Add(det);
|
||||
|
||||
//boxInventorys.Details.ForEach(x=>
|
||||
//{
|
||||
// x.SerialNumbers.RemoveAll(t => tttt.Contains(t));
|
||||
// //x.SerialNumbers.AddRange(tttt);
|
||||
// x.Qty = 3;
|
||||
//});
|
||||
|
||||
//data.Add(boxInventorys);
|
||||
//var result= await _boxInventoryRepositories.UpdateRange(data);
|
||||
return tt;
|
||||
|
||||
|
||||
@@ -334,7 +264,7 @@ namespace WMS.Web.Api.Controllers
|
||||
[Route("InStock")]
|
||||
public async Task<Result> InStock()
|
||||
{
|
||||
|
||||
if (!_env.IsDevelopment()) return Result.ReSuccess();
|
||||
//3.同步数据
|
||||
var result = await _inStockTaskService.Sysn();
|
||||
return result;
|
||||
|
||||
@@ -1116,6 +1116,11 @@
|
||||
基本单位编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpMaterialDto.BarCode">
|
||||
<summary>
|
||||
条码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.Erp.Org.ErpOrgDto">
|
||||
<summary>
|
||||
金蝶组织-基本信息
|
||||
|
||||
@@ -3083,6 +3083,14 @@
|
||||
<param name="materialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.Public.IErpBasicDataExtendService.GetMaterialBarCode(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpMaterialDto},System.Int32)">
|
||||
<summary>
|
||||
获取物料的条码
|
||||
</summary>
|
||||
<param name="erpMaterials"></param>
|
||||
<param name="materialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.Public.IErpBasicDataExtendService.GetMaterialUnitId(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpMaterialDto},System.Int32)">
|
||||
<summary>
|
||||
获取物料基本单位id
|
||||
@@ -4534,6 +4542,14 @@
|
||||
<param name="materialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.Public.ErpBasicDataExtendService.GetMaterialBarCode(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpMaterialDto},System.Int32)">
|
||||
<summary>
|
||||
获取物料的条码
|
||||
</summary>
|
||||
<param name="erpMaterials"></param>
|
||||
<param name="materialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.Public.ErpBasicDataExtendService.GetMaterialUnitId(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpMaterialDto},System.Int32)">
|
||||
<summary>
|
||||
获取物料基本单位Id
|
||||
|
||||
@@ -40,5 +40,10 @@ namespace WMS.Web.Core.Dto.Erp
|
||||
/// 基本单位编码
|
||||
/// </summary>
|
||||
public string BaseUnitNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 条码
|
||||
/// </summary>
|
||||
public string BarCode { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,15 @@ namespace WMS.Web.Domain.IService.Public
|
||||
/// <param name="materialId"></param>
|
||||
/// <returns></returns>
|
||||
string GetMaterialUnitName(List<ErpMaterialDto> erpMaterials, int materialId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料的条码
|
||||
/// </summary>
|
||||
/// <param name="erpMaterials"></param>
|
||||
/// <param name="materialId"></param>
|
||||
/// <returns></returns>
|
||||
string GetMaterialBarCode(List<ErpMaterialDto> erpMaterials, int materialId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料基本单位id
|
||||
/// </summary>
|
||||
|
||||
@@ -116,6 +116,28 @@ namespace WMS.Web.Domain.Services.Public
|
||||
}
|
||||
return mat.BaseUnitName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料的条码
|
||||
/// </summary>
|
||||
/// <param name="erpMaterials"></param>
|
||||
/// <param name="materialId"></param>
|
||||
/// <returns></returns>
|
||||
public string GetMaterialBarCode(List<ErpMaterialDto> erpMaterials, int materialId)
|
||||
{
|
||||
if (erpMaterials == null || erpMaterials.Count == 0)
|
||||
return "";
|
||||
var mat = erpMaterials.Where(x => x.MaterialId == materialId).FirstOrDefault();
|
||||
if (mat == null)
|
||||
{
|
||||
var result = _erpService.BillQueryForMaterial(materialId).Result;
|
||||
if (!result.IsSuccess)
|
||||
return "";
|
||||
return result.Data == null ? "" : result.Data.BarCode;
|
||||
}
|
||||
return mat.BarCode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料基本单位Id
|
||||
/// </summary>
|
||||
|
||||
@@ -857,7 +857,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶物料:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.BD_MATERIAL.ToString());
|
||||
param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber";
|
||||
param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE";
|
||||
param.Limit = 10000;
|
||||
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
@@ -873,42 +873,55 @@ namespace WMS.Web.Domain.Services.Public
|
||||
int skip = 0;
|
||||
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"物料拉取-开始时间:{beginTime}");
|
||||
while (isHave)
|
||||
var error_josn = "";
|
||||
try
|
||||
{
|
||||
//4.1.页码:页码按照金蝶的要求从0开始
|
||||
param.StartRow = (Convert.ToInt32(skip) * param.Limit);
|
||||
//4.2.参数json化
|
||||
query.Data = JsonConvert.SerializeObject(param);
|
||||
var json = JsonConvert.SerializeObject(query);
|
||||
|
||||
//4.3.请求查询接口并返回数据
|
||||
var result_json = await _client.ExecuteBillQueryAsync(json);
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
//4.4.判断数据是否全部拉取完成:并停止循环的条件
|
||||
if (result == null || result.Count == 0)
|
||||
isHave = false;
|
||||
//4.5.拼装
|
||||
foreach (var item in result)
|
||||
while (isHave)
|
||||
{
|
||||
var lis = new ErpMaterialDto();
|
||||
lis.MaterialId = Convert.ToInt32(item[0]);
|
||||
lis.MaterialName = item[1];
|
||||
lis.MaterialNumber = item[2];
|
||||
lis.Specifications = item[3];
|
||||
lis.BaseUnitId = Convert.ToInt32(item[4]);
|
||||
lis.BaseUnitName = item[5];
|
||||
lis.BaseUnitNumber = item[6];
|
||||
erp_materials_list.Add(lis);
|
||||
//4.1.页码:页码按照金蝶的要求从0开始
|
||||
param.StartRow = (Convert.ToInt32(skip) * param.Limit);
|
||||
//4.2.参数json化
|
||||
query.Data = JsonConvert.SerializeObject(param);
|
||||
var json = JsonConvert.SerializeObject(query);
|
||||
|
||||
//4.3.请求查询接口并返回数据
|
||||
var result_json = await _client.ExecuteBillQueryAsync(json);
|
||||
error_josn = result_json;
|
||||
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
|
||||
//4.4.判断数据是否全部拉取完成:并停止循环的条件
|
||||
if (result == null || result.Count == 0)
|
||||
isHave = false;
|
||||
//4.5.拼装
|
||||
foreach (var item in result)
|
||||
{
|
||||
var lis = new ErpMaterialDto();
|
||||
lis.MaterialId = Convert.ToInt32(item[0]);
|
||||
lis.MaterialName = item[1];
|
||||
lis.MaterialNumber = item[2];
|
||||
lis.Specifications = item[3];
|
||||
lis.BaseUnitId = Convert.ToInt32(item[4]);
|
||||
lis.BaseUnitName = item[5];
|
||||
lis.BaseUnitNumber = item[6];
|
||||
lis.BarCode = item[7];
|
||||
erp_materials_list.Add(lis);
|
||||
}
|
||||
//4.6页面的叠加
|
||||
skip++;
|
||||
}
|
||||
//4.6页面的叠加
|
||||
skip++;
|
||||
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"物料拉取-结束时间:{endTime}");
|
||||
//5.物料集合进行缓存-当前缓存时间到当天晚上的0点,后面定时任务执行重新放入缓存
|
||||
_memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
|
||||
_logger.LogInformation($"物料拉取-总条数:{erp_materials_list.Count}");
|
||||
return ResultList<ErpMaterialDto>.ReSuccess(erp_materials_list);
|
||||
}
|
||||
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"物料拉取-结束时间:{endTime}");
|
||||
//5.物料集合进行缓存-当前缓存时间到当天晚上的0点,后面定时任务执行重新放入缓存
|
||||
_memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
|
||||
_logger.LogInformation($"物料拉取-总条数:{erp_materials_list.Count}");
|
||||
return ResultList<ErpMaterialDto>.ReSuccess(erp_materials_list);
|
||||
catch (Exception)
|
||||
{
|
||||
_logger.LogInformation("物料拉取->错误的Json:" + error_josn);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -926,7 +939,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶物料:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.BD_MATERIAL.ToString());
|
||||
param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber";
|
||||
param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE";
|
||||
param.Limit = 10000;
|
||||
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
@@ -964,6 +977,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.BaseUnitId = Convert.ToInt32(item[4]);
|
||||
lis.BaseUnitName = item[5];
|
||||
lis.BaseUnitNumber = item[6];
|
||||
lis.BarCode = item[7];
|
||||
erp_materials_list.Add(lis);
|
||||
}
|
||||
if (erp_materials_list.Count == 0)
|
||||
|
||||
@@ -134,7 +134,7 @@ namespace WMS.Web.Repositories
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId),
|
||||
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId),
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId),
|
||||
BarCode = "",
|
||||
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialId),
|
||||
|
||||
CratingQty = s.CratingQty,
|
||||
CratingNetWeightQty = s.CratingNetWeightQty,
|
||||
|
||||
Reference in New Issue
Block a user