同步新物料接口

This commit is contained in:
tongfei
2024-04-02 15:00:27 +08:00
parent 22404e9e3f
commit 6e97bdc559
10 changed files with 198 additions and 54 deletions

View File

@@ -817,50 +817,38 @@ namespace WMS.Web.Domain.Services.Public
/// erp:单据查询-物料集合
/// </summary>
/// <returns></returns>
public async Task<ResultList<ErpMaterialDto>> BillQueryForMaterial()
public async Task<ResultList<ErpMaterialDto>> BillQueryForMaterial(bool isCache = true)
{
try
{
//1.获取缓存中的物料数据;
var materials = _memoryCache.Get<List<ErpMaterialDto>>(_erpOptions.cache_materail_key);
if (materials == null || materials.Count == 0)
if (isCache)
{
var mats = await _materialsRepositories.GetEntityList();
if (mats == null || mats.Count == 0)
return await this.BillQueryForMaterialPagedList();
else
//1.获取缓存中的物料数据;
var materials = _memoryCache.Get<List<ErpMaterialDto>>(_erpOptions.cache_materail_key);
if (materials == null || materials.Count == 0)
{
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"物料拉取-开始时间:{beginTime}");
var erp_materials_list = new List<ErpMaterialDto>();
//4.5.拼装
foreach (var item in mats)
var mats = await _materialsRepositories.GetEntityList();
if (mats == null || mats.Count == 0)
return await this.BillQueryForMaterialPagedList();
else
{
var lis = new ErpMaterialDto();
lis.MaterialId = item.MaterialId;
lis.MaterialName = item.MaterialName;
lis.MaterialNumber = item.MaterialNumber;
lis.Specifications = item.Specifications;
lis.BaseUnitId = item.BaseUnitId;
lis.BaseUnitName = item.BaseUnitName;
lis.BaseUnitNumber = item.BaseUnitNumber;
lis.BarCode = item.BarCode;
lis.OrgId = item.OrgId;
lis.OrgCode = item.OrgCode;
erp_materials_list.Add(lis);
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"物料拉取-开始时间:{beginTime}");
//组装dto
var erp_materials_list = mats.Select(x => _mapper.Map<ErpMaterialDto>(x)).ToList();
_memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"物料拉取-结束时间:{endTime}");
_logger.LogInformation($"物料拉取-本地数据库-总条数:{erp_materials_list.Count}");
return ResultList<ErpMaterialDto>.ReSuccess(erp_materials_list);
}
_memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"物料拉取-结束时间:{endTime}");
_logger.LogInformation($"物料拉取-本地数据库-总条数:{erp_materials_list.Count}");
return ResultList<ErpMaterialDto>.ReSuccess(erp_materials_list);
}
}
else
return ResultList<ErpMaterialDto>.ReSuccess(materials);
}
else
{
return ResultList<ErpMaterialDto>.ReSuccess(materials);
}
return await this.BillQueryForMaterialPagedList();
}
catch (Exception ex)
{
@@ -1008,10 +996,10 @@ namespace WMS.Web.Domain.Services.Public
_logger.LogInformation($"物料拉取-总条数:{erp_materials_list.Count}");
return ResultList<ErpMaterialDto>.ReSuccess(erp_materials_list);
}
catch (Exception)
catch (Exception ex)
{
_logger.LogInformation("物料拉取->错误的Json" + error_josn);
return null;
_logger.LogInformation("物料拉取->失败" + ex);
return ResultList<ErpMaterialDto>.ReFailure(ResultCodes.ErpSynsError);
}