diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index fdf94ddb..7bdd97bb 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -3152,6 +3152,11 @@
仓库编码
+
+
+ 仓位
+
+
物料编码
diff --git a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsQueryRequest.cs b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsQueryRequest.cs
index dee34e7f..0b7ab48f 100644
--- a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsQueryRequest.cs
+++ b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsQueryRequest.cs
@@ -14,6 +14,11 @@ namespace WMS.Web.Core.Dto.Inventory
///
public string StockCode { get; set; }
+ ///
+ /// 仓位
+ ///
+ public int? SubStockId { get; set; }
+
///
/// 物料编码
///
diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs
index 84dd9ea6..bb12b055 100644
--- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs
+++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs
@@ -647,36 +647,40 @@ namespace WMS.Web.Domain.Services
var tagBox = targetBoxInventorys.Where(x => x.BoxId == dto.TargetBoxId).FirstOrDefault();
if (tagBox != null)
{
+ var subStockId = tagBox.SubStockId;
+ var stockCode = tagBox.StockCode;
+ var orgCode = tagBox.OrgCode;
+
var tag_update_entity = tagBox;
//2.2.1这里为了重新上架,改变仓库和仓位的需求
if (!string.IsNullOrEmpty(dto.StockCode) && dto.SubStockId.HasValue)
{
- //2.2.2仓位和原来的目标箱的仓位不一致的情况下-》》把目标箱原来仓位的物料进行-即时库存的变更-(减库存)
- if (dto.SubStockId.Value != tag_update_entity.SubStockId)
- {
- foreach (var item in tag_update_entity.Details)
- {
- //2.2.2组装即时库存dto
- var inventoryDet = new InventoryDetailsGenerateDto();
- inventoryDet.MaterialId = item.MaterialId;
- inventoryDet.OrgCode = tag_update_entity.OrgCode;
- inventoryDet.StockCode = tag_update_entity.StockCode;
- inventoryDet.SubStockId = tag_update_entity.SubStockId;
- inventoryDet.Qty = item.Qty;
- inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
- //2.2.2即时库存:修改箱库存的集合
- InventoryDetailsGenerateDto.Add(inventoryDet);
- }
- }
-
//2.2.3.在变更目标箱的-仓库-仓位-组织
tag_update_entity.StockCode = dto.StockCode;
tag_update_entity.SubStockId = dto.SubStockId.Value;
- tag_update_entity.OrgCode = dto.TargetBoxOrgCode;
-
-
+ tag_update_entity.OrgCode = dto.TargetBoxOrgCode;
}
tag_update_entity.Details = tagBox.Details;
+
+
+ //2.2.2仓位和原来的目标箱的仓位不一致的情况下-》》把目标箱原来仓位的物料进行-即时库存的变更-(减库存)
+ if (subStockId != tag_update_entity.SubStockId)
+ {
+ foreach (var item in tag_update_entity.Details)
+ {
+ //2.2.2组装即时库存dto
+ var inventoryDet = new InventoryDetailsGenerateDto();
+ inventoryDet.MaterialId = item.MaterialId;
+ inventoryDet.OrgCode = orgCode;
+ inventoryDet.StockCode = stockCode;
+ inventoryDet.SubStockId = subStockId;
+ inventoryDet.Qty = item.Qty;
+ inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
+ //2.2.2即时库存:修改箱库存的集合
+ InventoryDetailsGenerateDto.Add(inventoryDet);
+ }
+ }
+
//2.2.1遍历改变的明细
foreach (var item in dto.Details)
{
diff --git a/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs b/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs
index 2372bbb5..37c74100 100644
--- a/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs
+++ b/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs
@@ -92,6 +92,9 @@ namespace WMS.Web.Repositories
query = query.Where(w => w.StockCode == splitStrs[0] && w.OrgCode == splitStrs[1]);
}
+ if (dto.SubStockId.HasValue)
+ query = query.Where(w => w.SubStockId == dto.SubStockId.Value);
+
if (dto.Qty.HasValue)
query = query.Where(w => w.Qty == dto.Qty);