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