金蝶仓库

This commit is contained in:
tongfei
2023-11-08 14:33:00 +08:00
parent e0817c2fc6
commit af3efb6556
7 changed files with 216 additions and 36 deletions

View File

@@ -44,7 +44,7 @@
</member> </member>
<member name="M:WMS.Web.Api.Controllers.ChangeBoxRecordController.Save(WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest)"> <member name="M:WMS.Web.Api.Controllers.ChangeBoxRecordController.Save(WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest)">
<summary> <summary>
保存 改箱保存-PDA
</summary> </summary>
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
@@ -194,7 +194,7 @@
</member> </member>
<member name="M:WMS.Web.Api.Controllers.MoveBoxRecordController.Save(WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest)"> <member name="M:WMS.Web.Api.Controllers.MoveBoxRecordController.Save(WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest)">
<summary> <summary>
保存 移箱保存-PDA
</summary> </summary>
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
@@ -213,7 +213,7 @@
</member> </member>
<member name="M:WMS.Web.Api.Controllers.OutStockController.Save(WMS.Web.Core.Dto.OutStock.SaveOutStockRequest)"> <member name="M:WMS.Web.Api.Controllers.OutStockController.Save(WMS.Web.Core.Dto.OutStock.SaveOutStockRequest)">
<summary> <summary>
保存(出库) 出库保存(出库)-PDA
</summary> </summary>
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
@@ -253,7 +253,7 @@
</member> </member>
<member name="M:WMS.Web.Api.Controllers.OutStockTaskController.GetOutStockTaskByNo(System.String)"> <member name="M:WMS.Web.Api.Controllers.OutStockTaskController.GetOutStockTaskByNo(System.String)">
<summary> <summary>
根据出库单任务编号搜索 根据出库单任务编号搜索-PDA出库
</summary> </summary>
<param name="billNo"></param> <param name="billNo"></param>
<returns></returns> <returns></returns>
@@ -318,7 +318,7 @@
</member> </member>
<member name="M:WMS.Web.Api.Controllers.TakeStockController.Save(System.Collections.Generic.List{WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest})"> <member name="M:WMS.Web.Api.Controllers.TakeStockController.Save(System.Collections.Generic.List{WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest})">
<summary> <summary>
保存 盘点保存-PDA
</summary> </summary>
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>

View File

@@ -2325,6 +2325,51 @@
老ops箱信息 老ops箱信息
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OpsBoxResponse.OpsBoxId">
<summary>
对应老OPS的箱ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OpsBoxResponse.BoxBillNo">
<summary>
箱编号老OPS生成的箱号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OpsBoxResponse.SupplierId">
<summary>
供应商Id
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OpsBoxResponse.OrgId">
<summary>
组织Id
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OpsBoxResponse.CreateTime">
<summary>
创建时间对应老OPS的创建时间
</summary>
</member>
<member name="F:WMS.Web.Core.Dto.OpsBoxResponse.Details">
<summary>
明细
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OpsBoxDetailsResponse.MaterialId">
<summary>
物料ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OpsBoxDetailsResponse.Qty">
<summary>
数量(装箱数量)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OpsBoxDetailsResponse.SerialNumbers">
<summary>
序列号集
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.OutStockTask.GetOutStockTaskByNoResponse"> <member name="T:WMS.Web.Core.Dto.OutStockTask.GetOutStockTaskByNoResponse">
<summary> <summary>
根据单号搜索出库单任务信息 根据单号搜索出库单任务信息

View File

@@ -1572,6 +1572,30 @@
<param name="supplierId"></param> <param name="supplierId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.IService.Public.IErpBasicDataExtendService.GetStockName(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpStockDto},System.Int32)">
<summary>
获取仓库名称
</summary>
<param name="erpStocks"></param>
<param name="stockId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.Public.IErpBasicDataExtendService.GetStockName(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpStockDto},System.String)">
<summary>
获取仓库名称
</summary>
<param name="erpStocks"></param>
<param name="code"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.Public.IErpBasicDataExtendService.GetStockCode(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpStockDto},System.Int32)">
<summary>
获取仓库编码
</summary>
<param name="erpStocks"></param>
<param name="stockId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.Public.IErpService.BillQueryForPurchaseInStock"> <member name="M:WMS.Web.Domain.IService.Public.IErpService.BillQueryForPurchaseInStock">
<summary> <summary>
erp:单据查询-采购入库单 erp:单据查询-采购入库单
@@ -2172,6 +2196,11 @@
<param name="loginInfo"></param> <param name="loginInfo"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:WMS.Web.Domain.Services.BoxService">
<summary>
箱服务信息
</summary>
</member>
<member name="T:WMS.Web.Domain.Services.ChangeMoveBoxService"> <member name="T:WMS.Web.Domain.Services.ChangeMoveBoxService">
改箱 移箱服务 改箱 移箱服务
</member> </member>
@@ -2413,6 +2442,30 @@
<param name="supplierId"></param> <param name="supplierId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Services.Public.ErpBasicDataExtendService.GetStockName(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpStockDto},System.Int32)">
<summary>
获取仓库名称
</summary>
<param name="erpStocks"></param>
<param name="stockId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpBasicDataExtendService.GetStockName(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpStockDto},System.String)">
<summary>
获取仓库名称
</summary>
<param name="erpStocks"></param>
<param name="code"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpBasicDataExtendService.GetStockCode(System.Collections.Generic.List{WMS.Web.Core.Dto.Erp.ErpStockDto},System.Int32)">
<summary>
获取仓库编码
</summary>
<param name="erpStocks"></param>
<param name="stockId"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Domain.Services.Public.ErpService"> <member name="T:WMS.Web.Domain.Services.Public.ErpService">
<summary> <summary>
erp数据交互服务 erp数据交互服务

View File

@@ -58,5 +58,29 @@ namespace WMS.Web.Domain.IService.Public
/// <param name="supplierId"></param> /// <param name="supplierId"></param>
/// <returns></returns> /// <returns></returns>
string GetSupplierName(List<ErpSupplierDto> erpSuppliers, int supplierId); string GetSupplierName(List<ErpSupplierDto> erpSuppliers, int supplierId);
/// <summary>
/// 获取仓库名称
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="stockId"></param>
/// <returns></returns>
string GetStockName(List<ErpStockDto> erpStocks, int stockId);
/// <summary>
/// 获取仓库名称
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="code"></param>
/// <returns></returns>
string GetStockName(List<ErpStockDto> erpStocks, string code);
/// <summary>
/// 获取仓库编码
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="stockId"></param>
/// <returns></returns>
string GetStockCode(List<ErpStockDto> erpStocks, int stockId);
} }
} }

View File

@@ -100,5 +100,41 @@ namespace WMS.Web.Domain.Services.Public
var supplier = erpSuppliers.Where(x => x.Id == supplierId).FirstOrDefault(); var supplier = erpSuppliers.Where(x => x.Id == supplierId).FirstOrDefault();
return supplier == null ? "" : supplier.Name; return supplier == null ? "" : supplier.Name;
} }
/// <summary>
/// 获取仓库名称
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="stockId"></param>
/// <returns></returns>
public string GetStockName(List<ErpStockDto> erpStocks, int stockId)
{
var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault();
return stock == null ? "" : stock.Name;
}
/// <summary>
/// 获取仓库名称
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="code"></param>
/// <returns></returns>
public string GetStockName(List<ErpStockDto> erpStocks, string code)
{
var stock = erpStocks.Where(x => x.Code == code).FirstOrDefault();
return stock == null ? "" : stock.Name;
}
/// <summary>
/// 获取仓库编码
/// </summary>
/// <param name="erpStocks"></param>
/// <param name="stockId"></param>
/// <returns></returns>
public string GetStockCode(List<ErpStockDto> erpStocks, int stockId)
{
var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault();
return stock == null ? "" : stock.Code;
}
} }
} }

View File

@@ -328,7 +328,7 @@ namespace WMS.Web.Domain.Services.Public
{ {
try try
{ {
//1.获取缓存中的物料数据; //1.获取缓存中的供应商数据;
var cache_key = "erp_supplier_list"; var cache_key = "erp_supplier_list";
var suppliers = _memoryCache.Get<List<ErpSupplierDto>>(cache_key); var suppliers = _memoryCache.Get<List<ErpSupplierDto>>(cache_key);
if (suppliers == null || suppliers.Count == 0) if (suppliers == null || suppliers.Count == 0)
@@ -371,7 +371,7 @@ namespace WMS.Web.Domain.Services.Public
list.Add(lis); list.Add(lis);
} }
//5.物料集合进行缓存 //5.供应商集合进行缓存
_memoryCache.Set(cache_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromHours(12))); _memoryCache.Set(cache_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromHours(12)));
_logger.LogInformation($"供应商拉取-总条数:{list.Count}"); _logger.LogInformation($"供应商拉取-总条数:{list.Count}");
return ResultList<ErpSupplierDto>.ReSuccess(list); return ResultList<ErpSupplierDto>.ReSuccess(list);
@@ -397,19 +397,32 @@ namespace WMS.Web.Domain.Services.Public
{ {
try try
{ {
//1.获取缓存中的仓库数据;
var cache_key = "erp_supplier_list";
var stocks = _memoryCache.Get<List<ErpStockDto>>(cache_key);
if (stocks == null || stocks.Count == 0)
{
//2.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init();
if (!token_result.IsSuccess) if (!token_result.IsSuccess)
return ResultList<ErpStockDto>.ReFailure(token_result); return ResultList<ErpStockDto>.ReFailure(token_result);
//3.获取金蝶仓库:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data); var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.BD_STOCK.ToString()); var param = new ErpBillQueryParamDto(FormIdParam.BD_STOCK.ToString());
param.FieldKeys = "FStockId,FName,FNumber,FUseOrgId"; param.FieldKeys = "FStockId,FName,FNumber,FUseOrgId";
param.FilterString = "";//FOrgID=100008 param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
param.FilterString = "";
//备注因为供应商数据不是很多就不能和获取物料一样循环获取组织这里就获取10000条数据就行了
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"仓库拉取-开始时间:{beginTime}");
//4.参数json化
query.Data = JsonConvert.SerializeObject(param); query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query); var json = JsonConvert.SerializeObject(query);
//5.请求查询接口并返回数据
var result_json = await _client.ExecuteBillQueryAsync(json); var result_json = await _client.ExecuteBillQueryAsync(json);
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json); var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
//6.拼装
var list = new List<ErpStockDto>(); var list = new List<ErpStockDto>();
foreach (var item in result) foreach (var item in result)
{ {
@@ -421,12 +434,20 @@ namespace WMS.Web.Domain.Services.Public
list.Add(lis); list.Add(lis);
} }
//5.供应商集合进行缓存
_memoryCache.Set(cache_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromHours(12)));
_logger.LogInformation($"仓库拉取-总条数:{list.Count}");
return ResultList<ErpStockDto>.ReSuccess(list); return ResultList<ErpStockDto>.ReSuccess(list);
}
else
{
return ResultList<ErpStockDto>.ReSuccess(stocks);
}
} }
catch (Exception) catch (Exception)
{ {
return ResultList<ErpStockDto>.ReFailure("错误", 10002); return ResultList<ErpStockDto>.ReFailure(ResultCodes.ErpStockError);
} }
} }
/// <summary> /// <summary>

View File

@@ -37,6 +37,7 @@ namespace WMS.Web.Domain.Values
public static ValueTuple<int, string> ErpOrgError = (80004, "获取Erp相关组织数据失败请稍候再试"); public static ValueTuple<int, string> ErpOrgError = (80004, "获取Erp相关组织数据失败请稍候再试");
public static ValueTuple<int, string> ErpSupplierError = (80005, "获取Erp相关供应商数据失败请稍候再试"); public static ValueTuple<int, string> ErpSupplierError = (80005, "获取Erp相关供应商数据失败请稍候再试");
public static ValueTuple<int, string> ErpStockError = (80005, "获取Erp相关仓库数据失败请稍候再试");
} }
} }