From 165db0ead414f18edbafef5c57100f01d4206001 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Fri, 1 Dec 2023 17:08:38 +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 --- src/WMS.Web.Core/Dto/Erp/ErpNumberDto.cs | 26 +++++++++++++++++++ .../Dto/Erp/TakeStock/ErpTakeStockSaveDto.cs | 2 +- .../Services/Public/ErpService.cs | 11 ++++---- .../Services/TakeStockService.cs | 6 +++-- 4 files changed, 37 insertions(+), 8 deletions(-) diff --git a/src/WMS.Web.Core/Dto/Erp/ErpNumberDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpNumberDto.cs index 500f384d..107fe37a 100644 --- a/src/WMS.Web.Core/Dto/Erp/ErpNumberDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/ErpNumberDto.cs @@ -20,4 +20,30 @@ namespace WMS.Web.Core.Dto.Erp [JsonProperty("FNumber")] public string Number { get; set; } } + + /// + /// 盘点子仓库 + /// + public class ErpSubStockDto + { + public ErpSubStockDto() { } + public ErpSubStockDto(string code) + { + if (code.Equals("GD")) + this.GD = new ErpNumberDto(code); + if (code.Equals("HD")) + this.HD = new ErpNumberDto(code); + } + /// + /// GD仓 + /// + [JsonProperty("FSTOCKLOCID__FF100005")] + public ErpNumberDto GD { get; set; } = new ErpNumberDto(""); + + /// + /// HD仓 + /// + [JsonProperty("FSTOCKLOCID__FF100007")] + public ErpNumberDto HD { get; set; } = new ErpNumberDto(""); + } } diff --git a/src/WMS.Web.Core/Dto/Erp/TakeStock/ErpTakeStockSaveDto.cs b/src/WMS.Web.Core/Dto/Erp/TakeStock/ErpTakeStockSaveDto.cs index d80ed522..2708f6c5 100644 --- a/src/WMS.Web.Core/Dto/Erp/TakeStock/ErpTakeStockSaveDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/TakeStock/ErpTakeStockSaveDto.cs @@ -108,7 +108,7 @@ namespace WMS.Web.Core.Dto.Erp.TakeStock /// 仓位ID /// [JsonProperty("FStockLocId")] - public string SubStockId { get; set; } + public ErpSubStockDto SubStockId { get; set; } /// /// 盘点前数量(wms系统数量) /// diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index f45859ef..65916b0d 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -803,7 +803,7 @@ namespace WMS.Web.Domain.Services.Public /// /// /// - public async Task> BillQueryForMaterial(int id) + public async Task> BillQueryForMaterial(int id) { //1.获取缓存中的物料数据; var cache_key = "erp_materials_list"; @@ -1276,8 +1276,9 @@ namespace WMS.Web.Domain.Services.Public list.Add(lis); } - //5.供应商集合进行缓存 - _memoryCache.Set(cache_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromHours(12))); + //5.供应商集合进行缓存 只有查询全部的时候才缓存 + if (code == null) + _memoryCache.Set(cache_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromHours(12))); _logger.LogInformation($"子仓库拉取-总条数:{list.Count}"); return ResultList.ReSuccess(list); } @@ -1306,7 +1307,7 @@ namespace WMS.Web.Domain.Services.Public var token_result = await this.Init(); if (!token_result.IsSuccess) return Result.ReFailure(token_result.Message, token_result.Status); - var query = new ErpBillQueryDto(token_result.Data,formId); + var query = new ErpBillQueryDto(token_result.Data, formId); var param = new ErpSave(formId, dto); query.Data = JsonConvert.SerializeObject(param); //保存 @@ -1317,7 +1318,7 @@ namespace WMS.Web.Domain.Services.Public if (jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower() == "true") { //保存成功后返回Id 后续操作根据Id操作 - string id =jobject["Result"]["ResponseStatus"]["SuccessEntitys"][0]["Id"].ToString(); + string id = jobject["Result"]["ResponseStatus"]["SuccessEntitys"][0]["Id"].ToString(); return Result.ReSuccess(id); } diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs index efb499a5..b48c1566 100644 --- a/src/WMS.Web.Domain/Services/TakeStockService.cs +++ b/src/WMS.Web.Domain/Services/TakeStockService.cs @@ -129,11 +129,13 @@ namespace WMS.Web.Domain.Services var materials = materials_result.Data.ToList(); var unitNumber = _erpBasicDataExtendService.GetMaterialUnitNumber(materials, entity.MaterialId); var res = await _erpService.BillQueryForStock(); + var resSub = await _erpService.BillQueryForSubStock(); var stock = res.Data.FirstOrDefault(f => f.Code == entity.StockCode);//需要根据单点code搜索 - var subStock = res.Data.FirstOrDefault(f => f.Code == subStockCode);//需要根据单点code搜索 + var subStock = resSub.Data.FirstOrDefault(f => f.Code == subStockCode);//需要根据单点code搜索 if (stock == null) return Result.ReFailure(ResultCodes.ErpStockNoData); //组装dto #region 组装dto + //子仓库 ORICO_JD:1000008 GD:1000005 HD:1000007 AD:1000004 List detils = new List(); detils.Add(new ErpTakeStockDetailsSaveDto() { @@ -142,7 +144,7 @@ namespace WMS.Web.Domain.Services MaterialId = new ErpNumberDto(_erpBasicDataExtendService.GetMaterialNumber(materials, entity.MaterialId)), UnitId = new ErpNumberDto(unitNumber), //物料带出来 StockId = new ErpNumberDto(stock.Code), - SubStockId = subStock?.Id.ToString(), + SubStockId =new ErpSubStockDto(resSub.Data.FirstOrDefault(f => f.Id == entity.Erp_SubStockId).Code), BeforeQty = entity.BeforeQty, AfterQty = entity.AfterQty, FinalQty = entity.FinalQty,