From 327383a8ec80eefc6ae14ab316a5179492a51f82 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Wed, 22 Nov 2023 13:49:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98-=E6=B7=BB=E5=8A=A0-=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E7=BB=B4=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 10 ++++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 3 ++- .../Dto/Inventory/InventoryDetailsGenerateDto.cs | 5 +++++ .../Dto/Inventory/InventoryInOutDetailsGenerateDto.cs | 5 +++++ .../Infrastructure/IInventoryDetailsRepositories.cs | 3 ++- src/WMS.Web.Domain/Services/BoxInventoryService.cs | 5 +++-- src/WMS.Web.Domain/Services/InventoryDetailsService.cs | 9 +++++++-- .../Services/InventoryInOutDetailsService.cs | 9 +++++++-- .../InventoryDetailsRepositories.cs | 4 +++- 9 files changed, 44 insertions(+), 9 deletions(-) diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index b9f67a6d..81652376 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -2616,6 +2616,11 @@ 物料ID + + + 组织编码 + + 仓库 @@ -2706,6 +2711,11 @@ 物料收发明细-生成dto + + + 组织编码 + + 仓库编码 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 21b3c893..4619520e 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1953,13 +1953,14 @@ - + 列表-根据物料和仓库和仓位 + diff --git a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsGenerateDto.cs index 6936d7c9..197eedd1 100644 --- a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsGenerateDto.cs @@ -14,6 +14,11 @@ namespace WMS.Web.Core.Dto.Inventory /// public int MaterialId { get; set; } + /// + /// 组织编码 + /// + public string OrgCode { get; set; } + /// /// 仓库 /// diff --git a/src/WMS.Web.Core/Dto/Inventory/InventoryInOutDetailsGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/InventoryInOutDetailsGenerateDto.cs index 6c68fd78..df64e86d 100644 --- a/src/WMS.Web.Core/Dto/Inventory/InventoryInOutDetailsGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/InventoryInOutDetailsGenerateDto.cs @@ -9,6 +9,11 @@ namespace WMS.Web.Core.Dto.Inventory /// public class InventoryInOutDetailsGenerateDto { + /// + /// 组织编码 + /// + public string OrgCode { get; set; } + /// /// 仓库编码 /// diff --git a/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs index 7689385a..13029553 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs @@ -42,7 +42,8 @@ namespace WMS.Web.Domain.Infrastructure /// /// /// + /// /// - Task> GetListBy(List materialIds, List stockCodes, List subStockIds); + Task> GetListBy(List materialIds, List stockCodes, List subStockIds, List orgCodes); } } diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs index c6351a23..342c178c 100644 --- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs +++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs @@ -630,7 +630,7 @@ namespace WMS.Web.Domain.Services /// /// /// - public Result GenerateOutStockBox(BoxInventoryGenerateDto dto,List boxInventorys,List delete_ids, List update_entitys) + private Result GenerateOutStockBox(BoxInventoryGenerateDto dto,List boxInventorys,List delete_ids, List update_entitys) { //3.1出库的时候:箱一定是存在于箱库存当中的,没有则返回提示“箱库存数据不存在,请稍候再试!” // 获取箱库存 @@ -688,7 +688,7 @@ namespace WMS.Web.Domain.Services /// /// /// - public Result GenerateInStockBox(BoxInventoryGenerateDto dto, List boxInventorys, List add_entitys, List update_entitys) + private Result GenerateInStockBox(BoxInventoryGenerateDto dto, List boxInventorys, List add_entitys, List update_entitys) { //按箱上架入库 if (dto.InventoryInOutMethod == (int)InventoryInOutMethod.Box) @@ -756,6 +756,7 @@ namespace WMS.Web.Domain.Services foreach (var dtoDet in dto.Details) { var invDto = new InventoryDetailsGenerateDto(); + invDto.OrgCode = dto.OrgCode; invDto.InventoryInOutType = dto.InventoryInOutType; invDto.StockCode = dto.StockCode; invDto.SubStockId = dto.SubStockId ?? 0; diff --git a/src/WMS.Web.Domain/Services/InventoryDetailsService.cs b/src/WMS.Web.Domain/Services/InventoryDetailsService.cs index f3aad921..ac4e16df 100644 --- a/src/WMS.Web.Domain/Services/InventoryDetailsService.cs +++ b/src/WMS.Web.Domain/Services/InventoryDetailsService.cs @@ -41,10 +41,11 @@ namespace WMS.Web.Domain.Services public async Task GenerateInventoryDetails(List dtos,bool isTransaction) { //找到物料对应的即时库存明细 + var orgCodes = dtos.Select(x => x.OrgCode).ToList(); var materialIds = dtos.Select(x => x.MaterialId).ToList(); var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList(); var subStockIds = dtos.GroupBy(x => x.SubStockId).Select(x => x.Key).ToList(); - var inventoryDetails = await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds); + var inventoryDetails = await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds, orgCodes); var add_entitys = new List(); @@ -54,7 +55,11 @@ namespace WMS.Web.Domain.Services foreach (var dto in dtos) { //2.1当前的即时库存明细 - var currentDetail = inventoryDetails.Where(x => x.MaterialId == dto.MaterialId && x.StockCode == dto.StockCode && x.SubStockId == dto.SubStockId).FirstOrDefault(); + var currentDetail = inventoryDetails.Where(x => + x.MaterialId == dto.MaterialId && + x.StockCode == dto.StockCode && + x.SubStockId == dto.SubStockId && + x.OrgCode==dto.OrgCode).FirstOrDefault(); if (currentDetail == null) { //出库的时候,判断是否有库存,没有就返回错误 diff --git a/src/WMS.Web.Domain/Services/InventoryInOutDetailsService.cs b/src/WMS.Web.Domain/Services/InventoryInOutDetailsService.cs index f05785a4..0b7c481b 100644 --- a/src/WMS.Web.Domain/Services/InventoryInOutDetailsService.cs +++ b/src/WMS.Web.Domain/Services/InventoryInOutDetailsService.cs @@ -44,10 +44,11 @@ namespace WMS.Web.Domain.Services public async Task GenerateInOrOutDetails(List dtos,bool isTransaction) { //找到物料对应的即时库存明细 + var orgCodes = dtos.Select(x => x.OrgCode).ToList(); var materialIds = dtos.Select(x => x.MaterialId).ToList(); var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList(); var subStockIds = dtos.GroupBy(x => x.SubStockId).Select(x => x.Key).ToList(); - var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds); + var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds, orgCodes); //1.创建要新增的对象 var add_entitys = new List(); @@ -56,7 +57,11 @@ namespace WMS.Web.Domain.Services foreach (var dto in dtos) { //2.1当前的即时库存明细 - var currentDetail= inventoryDetails.Where(x => x.MaterialId == dto.MaterialId && x.StockCode == dto.StockCode && x.SubStockId == dto.SubStockId).FirstOrDefault(); + var currentDetail= inventoryDetails.Where(x => + x.MaterialId == dto.MaterialId && + x.StockCode == dto.StockCode && + x.SubStockId == dto.SubStockId && + x.OrgCode==dto.OrgCode).FirstOrDefault(); //2.2组装物料收发明细实体 var entity = _mapper.Map(dto); diff --git a/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs b/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs index 8b304631..b3deb7e0 100644 --- a/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs +++ b/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs @@ -175,11 +175,13 @@ namespace WMS.Web.Repositories /// /// /// + /// /// - public async Task> GetListBy(List materialIds, List stockCodes, List subStockIds) + public async Task> GetListBy(List materialIds, List stockCodes, List subStockIds, List orgCodes) { return await _context.InventoryDetails.Where(x => materialIds.Contains(x.MaterialId) && stockCodes.Contains(x.StockCode) && + orgCodes.Contains(x.OrgCode) && subStockIds.Contains(x.SubStockId) ).ToListAsync(); } }