From e7b033401c9e566cbf764fbeaff052ce3d92b66c Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Tue, 21 Nov 2023 10:47:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 | Bin 231119 -> 231119 bytes .../Dto/SingleData/UcStockResponse.cs | 6 +++ .../Services/BoxInventoryService.cs | 39 ++++++++++++++++++ .../Services/InventoryDetailsService.cs | 2 +- .../Values/Single/SingleAction.cs | 2 +- 5 files changed, 47 insertions(+), 2 deletions(-) diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index 9f72895cab5a58af7e8d55a44b8b8087e6f70fd9..60701fad3155f8e0b51db627fa1e95ece50cb536 100644 GIT binary patch delta 11196 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 public string Code { get; set; } + + /// + /// 对应金蝶的组织编码 + /// + public string ErpOrgCode { get; set; } + /// /// 是否禁用:true为禁用,false为启用 /// diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs index fa76ac33..89adec24 100644 --- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs +++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs @@ -20,14 +20,17 @@ namespace WMS.Web.Domain.Services { private readonly IMapper _mapper; private readonly IBoxRepositories _boxRepositories; + private readonly IInventoryDetailsService _inventoryDetailsService; private readonly ISerialNumbersRepositories _serialNumbersRepositories; private readonly IBoxInventoryRepositories _boxInventoryRepositories; public BoxInventoryService(IMapper mapper, IBoxRepositories boxRepositories, + IInventoryDetailsService inventoryDetailsService, ISerialNumbersRepositories serialNumbersRepositories, IBoxInventoryRepositories boxInventoryRepositories) { _mapper = mapper; _boxRepositories = boxRepositories; + _inventoryDetailsService = inventoryDetailsService; _serialNumbersRepositories = serialNumbersRepositories; _boxInventoryRepositories = boxInventoryRepositories; } @@ -46,6 +49,7 @@ namespace WMS.Web.Domain.Services var update_entitys = new List(); var add_entitys = new List(); + var InventoryDetailsGenerateDto = new List(); var boxIds = dtoDatas.GroupBy(x => x.BoxId).Select(x => x.Key).ToList(); var targetBoxIds = dtoDatas.GroupBy(x => x.TargetBoxId).Select(x => x.Key).ToList(); @@ -545,6 +549,7 @@ namespace WMS.Web.Domain.Services var delete_ids = new List(); var update_entitys = new List(); var add_entitys = new List(); + var InventoryDetailsGenerateDto = new List(); //1.1通过箱IDS获取箱库存 var boxIds = dtoDatas.Select(x => x.BoxId).ToList(); @@ -570,6 +575,10 @@ namespace WMS.Web.Domain.Services return inStockInventoryResult; } + //组装:即时库存明细处理对象 + var invDtos= this.GenerateInventoryDetails(dto); + InventoryDetailsGenerateDto.AddRange(invDtos); + } //4.数据库更新操作:更新和删除和添加 @@ -589,6 +598,15 @@ namespace WMS.Web.Domain.Services isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); } + + //5.即时库存:变更处理 + if (InventoryDetailsGenerateDto.Count != 0) + { + var inventoryDetails_result = await _inventoryDetailsService.GenerateInventoryDetails(InventoryDetailsGenerateDto, isTransaction); + if (!inventoryDetails_result.IsSuccess) + return inventoryDetails_result; + } + return Result.ReSuccess(); } @@ -714,5 +732,26 @@ namespace WMS.Web.Domain.Services return Result.ReSuccess(); } + + /// + /// 生成即时库存对象:新增和修改 + /// + /// + /// + private List GenerateInventoryDetails(BoxInventoryGenerateDto dto) + { + var invDtos = new List(); + foreach (var dtoDet in dto.Details) + { + var invDto = new InventoryDetailsGenerateDto(); + invDto.InventoryInOutType = dto.InventoryInOutType; + invDto.StockCode = dto.StockCode; + invDto.SubStockId = dto.SubStockId ?? 0; + invDto.MaterialId = dtoDet.MaterialId; + invDto.Qty = dtoDet.Qty; + invDtos.Add(invDto); + } + return invDtos; + } } } diff --git a/src/WMS.Web.Domain/Services/InventoryDetailsService.cs b/src/WMS.Web.Domain/Services/InventoryDetailsService.cs index 41d8194e..f3aad921 100644 --- a/src/WMS.Web.Domain/Services/InventoryDetailsService.cs +++ b/src/WMS.Web.Domain/Services/InventoryDetailsService.cs @@ -85,7 +85,7 @@ namespace WMS.Web.Domain.Services } - //4.数据库更新操作:更新和删除和添加 + //4.数据库更新操作:更新和添加 var isSuccess = true; if (add_entitys.Count != 0) { diff --git a/src/WMS.Web.Domain/Values/Single/SingleAction.cs b/src/WMS.Web.Domain/Values/Single/SingleAction.cs index bdb4284d..156aff4f 100644 --- a/src/WMS.Web.Domain/Values/Single/SingleAction.cs +++ b/src/WMS.Web.Domain/Values/Single/SingleAction.cs @@ -104,7 +104,7 @@ namespace WMS.Web.Domain.Values.Single /// 仓位集合 /// [EnumRemark("仓位")] - SubStocks = 19, + SubStocks = 19 } }