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();
}
}