From 4df9e97289b5f5b58c58d96513f81c9699d7dfd2 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 20 Dec 2023 17:52:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/SysConfigController.cs | 2 +- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 35 ++++++++++++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 16 ++++++++ .../Dto/Erp/Stock/ErpSubStockDto.cs | 37 +++++++++++++++++++ .../Public/IErpBasicDataExtendService.cs | 8 ++++ .../IService/Public/IErpService.cs | 2 +- .../Public/ErpBasicDataExtendService.cs | 15 +++++++- .../Services/Public/ErpService.cs | 19 +++++----- .../TakeStockRepositories.cs | 2 +- 9 files changed, 122 insertions(+), 14 deletions(-) create mode 100644 src/WMS.Web.Core/Dto/Erp/Stock/ErpSubStockDto.cs diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs index ec0b0af1..f358b3db 100644 --- a/src/WMS.Web.Api/Controllers/SysConfigController.cs +++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs @@ -227,7 +227,7 @@ namespace WMS.Web.Api.Controllers return Result>.ReSuccess(list); var subs = await _erpService.BillQueryForSubStock(); - var res = subs.Data.Where(w => w.OrgCode.Equals(orgCode)); + var res = subs.Data.Where(w => w.OrgCode.Equals(orgCode)&&w.StockCode.Equals(number)); if (!string.IsNullOrEmpty(name)) res = res.Where(w => w.Name.Contains(name)); list = res.Select(s => new UcStockResponse() diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index f69e1fe0..35dd46cb 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -1151,6 +1151,41 @@ 业务组织(使用组织)编码 + + + 子仓库信息 + + + + + id + + + + + 编码 + + + + + 名字 + + + + + 业务组织(使用组织) + + + + + 业务组织(使用组织)编码 + + + + + 仓库编码 + + erp供应商基础数据 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index c00ebab3..af2e95bf 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -2886,6 +2886,14 @@ + + + 获取子仓库名称 + + + + + 查单据类型的值 @@ -4303,6 +4311,14 @@ + + + 子仓库 + + + + + erp数据交互服务 diff --git a/src/WMS.Web.Core/Dto/Erp/Stock/ErpSubStockDto.cs b/src/WMS.Web.Core/Dto/Erp/Stock/ErpSubStockDto.cs new file mode 100644 index 00000000..d7f17344 --- /dev/null +++ b/src/WMS.Web.Core/Dto/Erp/Stock/ErpSubStockDto.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Erp +{ + /// + /// 子仓库信息 + /// + public class Erp_SubStockDto + { + /// + /// id + /// + public int Id { get; set; } + /// + /// 编码 + /// + public string Code { get; set; } + /// + /// 名字 + /// + public string Name { get; set; } + /// + /// 业务组织(使用组织) + /// + public int OrgId { get; set; } + /// + /// 业务组织(使用组织)编码 + /// + public string OrgCode { get; set; } + /// + /// 仓库编码 + /// + public string StockCode { get; set; } + } +} diff --git a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs index 418852f7..24cf4666 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs @@ -118,5 +118,13 @@ namespace WMS.Web.Domain.IService.Public /// /// string GetStockCode(List erpStocks, int stockId); + + /// + /// 获取子仓库名称 + /// + /// + /// + /// + string GetSubStockName(List erpStocks, string code); } } diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs index b392f1eb..5b2bc28c 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs @@ -142,7 +142,7 @@ namespace WMS.Web.Domain.IService.Public /// 获取仓位信息信息 根据仓库编码 /// /// - Task> BillQueryForSubStock(); + Task> BillQueryForSubStock(); //同步数据(保存提交审核) Task> Save(T dto, string formId); //提交 diff --git a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs index ba241597..23002527 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs @@ -267,7 +267,18 @@ namespace WMS.Web.Domain.Services.Public var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault(); return stock == null ? "" : stock.Code; } - - + /// + /// 子仓库 + /// + /// + /// + /// + public string GetSubStockName(List erpStocks, string code) + { + if (erpStocks == null || erpStocks.Count == 0) + return ""; + var stock = erpStocks.Where(x => x.Code == code).FirstOrDefault(); + return stock == null ? "" : stock.Name; + } } } diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index baac7eb6..3c4f1a90 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -1240,21 +1240,21 @@ namespace WMS.Web.Domain.Services.Public /// /// /// - public async Task> BillQueryForSubStock() + public async Task> BillQueryForSubStock() { try { //1.获取缓存中的仓库数据; var cache_key = "erp_substock_list"; - var stocks = _memoryCache.Get>(cache_key); + var stocks = _memoryCache.Get>(cache_key); if (stocks == null || stocks.Count == 0) { var token_result = await this.Init(); if (!token_result.IsSuccess) - return ResultList.ReFailure(token_result); + return ResultList.ReFailure(token_result); var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.BD_STOCK.ToString()); - param.FieldKeys = "FStockFlexDetail_FDetailID,FFlexEntryName,FFlexEntryId.FNumber,FUseOrgId.FNumber"; + param.FieldKeys = "FStockFlexDetail_FDetailID,FFlexEntryName,FFlexEntryId.FNumber,FUseOrgId.FNumber,FNumber"; param.Limit = 100000; param.FilterString = $"FNumber='HD' or FNumber='GD'";//FNumber='C' query.Data = JsonConvert.SerializeObject(param); @@ -1263,31 +1263,32 @@ namespace WMS.Web.Domain.Services.Public var result_json = await _client.ExecuteBillQueryAsync(json); var result = JsonConvert.DeserializeObject>>(result_json); - var list = new List(); + var list = new List(); foreach (var item in result) { - var lis = new ErpStockDto(); + var lis = new Erp_SubStockDto(); if (item[0] == "0") continue; lis.Id = int.Parse(item[0]); lis.Name = item[1]; lis.Code = item[2]; lis.OrgCode = item[3]; + lis.StockCode = item[4]; list.Add(lis); } //5.供应商集合进行缓存 只有查询全部的时候才缓存 _memoryCache.Set(cache_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromHours(12))); _logger.LogInformation($"子仓库拉取-总条数:{list.Count}"); - return ResultList.ReSuccess(list); + return ResultList.ReSuccess(list); } else { - return ResultList.ReSuccess(stocks); + return ResultList.ReSuccess(stocks); } } catch (Exception) { - return ResultList.ReFailure("错误", 10002); + return ResultList.ReFailure("错误", 10002); } } diff --git a/src/WMS.Web.Repositories/TakeStockRepositories.cs b/src/WMS.Web.Repositories/TakeStockRepositories.cs index d1478da0..78aae65c 100644 --- a/src/WMS.Web.Repositories/TakeStockRepositories.cs +++ b/src/WMS.Web.Repositories/TakeStockRepositories.cs @@ -213,7 +213,7 @@ namespace WMS.Web.Repositories Unit = _erpBasicDataExtendService.GetMaterialUnitName(materials, s.detail.MaterialId), Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.detail.StockCode + s.detail.OrgCode), SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, companyId, s.detail.SubStockId), - Erp_SubStock= _erpBasicDataExtendService.GetStockName(subStocks, s.detail.Erp_SubStockCode), + Erp_SubStock= _erpBasicDataExtendService.GetSubStockName(subStocks, s.detail.Erp_SubStockCode), MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId), MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId), Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId),