diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index c783c5cc..9928dc74 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -3412,6 +3412,26 @@
仓库
+
+
+ 盘点用的-序列号对应箱和物料
+
+
+
+
+ 序列号
+
+
+
+
+ 物料ID
+
+
+
+
+ wms箱ID
+
+
授权token -- 给前端用的验证token
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index e46f8466..301c6ea4 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -250,6 +250,26 @@
物料库存数量
+
+
+ 箱库存明细表-对应的序列号表
+
+
+
+
+ ID
+
+
+
+
+ 上级明细ID
+
+
+
+
+ 序列号
+
+
wms改箱记录
diff --git a/src/WMS.Web.Core/Dto/Inventory/SerialNumbersBoxInventoryDto.cs b/src/WMS.Web.Core/Dto/Inventory/SerialNumbersBoxInventoryDto.cs
new file mode 100644
index 00000000..c392ffc4
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/Inventory/SerialNumbersBoxInventoryDto.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto.Inventory
+{
+ ///
+ /// 盘点用的-序列号对应箱和物料
+ ///
+ public class SerialNumbersBoxInventoryDto
+ {
+ ///
+ /// 序列号
+ ///
+ public string SerialNumber { get; set; }
+ ///
+ /// 物料ID
+ ///
+ public int MaterialId { get; set; }
+ ///
+ /// wms箱ID
+ ///
+ public int BoxId { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/Entitys/BoxInventoryDetailsSerialNumbers.cs b/src/WMS.Web.Domain/Entitys/BoxInventoryDetailsSerialNumbers.cs
new file mode 100644
index 00000000..c139653a
--- /dev/null
+++ b/src/WMS.Web.Domain/Entitys/BoxInventoryDetailsSerialNumbers.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Text;
+using WMS.Web.Core;
+
+namespace WMS.Web.Domain.Entitys
+{
+ ///
+ /// 箱库存明细表-对应的序列号表
+ ///
+ [Serializable]
+ [Table("t_wms_box_inventory_details_serialbumbers")]
+ public class BoxInventoryDetailsSerialNumbers : EntityBase
+ {
+ ///
+ /// ID
+ ///
+ public override int Id { get; set; }
+
+ ///
+ /// 上级明细ID
+ ///
+ public int DetailId { get; set; }
+
+ ///
+ /// 序列号
+ ///
+ public string SerialNumber { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/IService/IBoxInventoryService.cs b/src/WMS.Web.Domain/IService/IBoxInventoryService.cs
index 95c7a263..c0da4b14 100644
--- a/src/WMS.Web.Domain/IService/IBoxInventoryService.cs
+++ b/src/WMS.Web.Domain/IService/IBoxInventoryService.cs
@@ -51,7 +51,7 @@ namespace WMS.Web.Domain.IService
///
///
///
- Task GenerateTakeBox(List dtoDatas, bool isTransaction);
+ Task GenerateTakeBox(List dtoDatas, List serNubBoxDto, bool isTransaction);
///
/// 入库单-箱库存的变更
diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs
index 54e6eef8..731b6fc1 100644
--- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs
+++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs
@@ -296,7 +296,7 @@ namespace WMS.Web.Domain.Services
///
///
///
- public async Task GenerateTakeBox(List dtoDatas, bool isTransaction)
+ public async Task GenerateTakeBox(List dtoDatas, List serNubBoxDto, bool isTransaction)
{
//1.判断来源数据是否存在
if (dtoDatas == null || dtoDatas.Count == 0)
@@ -369,7 +369,7 @@ namespace WMS.Web.Domain.Services
generateDtoList.AddRange(generateDtoList_in);
generateDtoList.AddRange(generateDtoList_out);
//提交处理
- var result = await this.ExeTakeBox(generateDtoList, isTransaction);
+ var result = await this.ExeTakeBox(generateDtoList, serNubBoxDto, isTransaction);
if (!result.IsSuccess)
return result;
@@ -1146,7 +1146,7 @@ namespace WMS.Web.Domain.Services
///
///
///
- private async Task ExeTakeBox(List dtoDatas, bool isTransaction)
+ private async Task ExeTakeBox(List dtoDatas, List serNubBoxDto, bool isTransaction)
{
//1.判断来源数据是否存在
if (dtoDatas == null || dtoDatas.Count == 0)
@@ -1191,19 +1191,19 @@ namespace WMS.Web.Domain.Services
}
});
- //找到:序列号不属于当前箱;找到后对应的箱子进行箱库存变更序列号
- foreach (var item in dto.Details)
- {
- foreach (var itemSerNmb in item.SerialNumbers)
- {
- var current_item_SerNb = serialNumbers.Where(x => x.SerialNumber == itemSerNmb).FirstOrDefault();
- if (current_item_SerNb != null && current_item_SerNb.BoxId != dto.BoxId)
- {
- out_serNubs.Add(current_item_SerNb);
- }
- }
+ ////找到:序列号不属于当前箱;找到后对应的箱子进行箱库存变更序列号
+ //foreach (var item in dto.Details)
+ //{
+ // foreach (var itemSerNmb in item.SerialNumbers)
+ // {
+ // var current_item_SerNb = serialNumbers.Where(x => x.SerialNumber == itemSerNmb).FirstOrDefault();
+ // if (current_item_SerNb != null && current_item_SerNb.BoxId != dto.BoxId)
+ // {
+ // out_serNubs.Add(current_item_SerNb);
+ // }
+ // }
- }
+ //}
//3.4明细添加新的物料
@@ -1254,18 +1254,18 @@ namespace WMS.Web.Domain.Services
}
}
});
- //找到:序列号不属于当前箱;找到后对应的箱子进行箱库存变更序列号
- foreach (var item in dto.Details)
- {
- foreach (var itemSerNmb in item.SerialNumbers)
- {
- var current_item_SerNb = serialNumbers.Where(x => x.SerialNumber == itemSerNmb).FirstOrDefault();
- if (current_item_SerNb != null && current_item_SerNb.BoxId != dto.BoxId)
- {
- out_serNubs.Add(current_item_SerNb);
- }
- }
- }
+ ////找到:序列号不属于当前箱;找到后对应的箱子进行箱库存变更序列号
+ //foreach (var item in dto.Details)
+ //{
+ // foreach (var itemSerNmb in item.SerialNumbers)
+ // {
+ // var current_item_SerNb = serialNumbers.Where(x => x.SerialNumber == itemSerNmb).FirstOrDefault();
+ // if (current_item_SerNb != null && current_item_SerNb.BoxId != dto.BoxId)
+ // {
+ // out_serNubs.Add(current_item_SerNb);
+ // }
+ // }
+ //}
//3.4明细添加新的物料
foreach (var detItem in dto.Details)
@@ -1306,7 +1306,7 @@ namespace WMS.Web.Domain.Services
}
//盘点单-箱库存的变更:第二步骤,为了不是当前扫的所在箱里的序列号;如果是其它箱需要减箱库存
- var result = await this.ExeTaskBox(out_serNubs, isTransaction);
+ var result = await this.ExeTaskBox(serNubBoxDto, isTransaction);
if (!result.IsSuccess)
return result;
@@ -1349,7 +1349,7 @@ namespace WMS.Web.Domain.Services
///
///
///
- private async Task ExeTaskBox(List out_SerialNumbers, bool isTransaction)
+ private async Task ExeTaskBox(List out_SerialNumbers, bool isTransaction)
{
var boxIds = out_SerialNumbers.GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
var boxInventorys = await _boxInventoryRepositories.GetList(boxIds);