diff --git a/src/WMS.Web.Api/Controllers/InStockTaskController.cs b/src/WMS.Web.Api/Controllers/InStockTaskController.cs index 9ec7837b..901d00d6 100644 --- a/src/WMS.Web.Api/Controllers/InStockTaskController.cs +++ b/src/WMS.Web.Api/Controllers/InStockTaskController.cs @@ -223,6 +223,48 @@ namespace WMS.Web.Api.Controllers } } + //剔除不是当前选中的物料 + var remobox_byMaterialNumber = new List(); + + return ResultList.ReSuccess(receiveBoxList); + } + + /// + /// 来源单-已收货未入库的箱集合-采购上架使用-pad-post + /// + /// + /// + [HttpGet] + [Route("GetReceiveBox")] + public async Task> GetReceiveBox([FromBody] ReceiveBoxRequeset dto) + { + //找到收货的箱子 + var receiveBoxList = await _inStockTaskRepositories.GetReceiveBox(dto.TaskId, dto.MaterialNumber); + + //找到已入库的箱子 + var instockBoxList = await _inStockRepositories.GetInstockBox(dto.TaskId); + var remobox = new List(); + if (receiveBoxList.Count != 0 && instockBoxList.Count != 0) + { + //剔除已入库的箱子 + foreach (var boxid in instockBoxList.Distinct().ToList()) + { + var reBox = receiveBoxList.Where(x => x.BoxId == boxid).FirstOrDefault(); + if (reBox != null) + remobox.Add(reBox); + } + } + if (remobox.Count != 0) + { + foreach (var item in remobox) + { + receiveBoxList.Remove(item); + } + } + + //剔除不是当前选中的物料 + var remobox_byMaterialNumber = new List(); + return ResultList.ReSuccess(receiveBoxList); } diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index e959b692..f8e13b57 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -251,6 +251,13 @@ + + + 来源单-已收货未入库的箱集合-采购上架使用-pad-post + + + + 来源单-编号模糊查询-非采购上架使用-pad diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 9c04f3e0..ccff5761 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -2553,6 +2553,21 @@ 是否作废 + + + 已收货的箱子请求对象 + + + + + 任务单ID + + + + + 物料编码 + + 箱号-获取来源单信息-请求对象 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index f869a0d6..c4d4b592 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -3011,6 +3011,13 @@ + + + 获取-已收货的箱子 + + + + 批量添加 diff --git a/src/WMS.Web.Core/Dto/InStockTask/ReceiveBoxRequeset.cs b/src/WMS.Web.Core/Dto/InStockTask/ReceiveBoxRequeset.cs new file mode 100644 index 00000000..1de21b61 --- /dev/null +++ b/src/WMS.Web.Core/Dto/InStockTask/ReceiveBoxRequeset.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto +{ + /// + /// 已收货的箱子请求对象 + /// + public class ReceiveBoxRequeset + { + /// + /// 任务单ID + /// + public int TaskId { get; set; } + + /// + /// 物料编码 + /// + public string MaterialNumber { get; set; } + } +} diff --git a/src/WMS.Web.Domain/Infrastructure/IInStockTaskRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInStockTaskRepositories.cs index be33934b..e7006e0a 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInStockTaskRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInStockTaskRepositories.cs @@ -94,6 +94,7 @@ namespace WMS.Web.Domain.Infrastructure /// Task> GetListInfoBy(InStockTaskBillNoQueryRequest dto); + /// /// 获取-已收货的箱子 /// @@ -101,6 +102,13 @@ namespace WMS.Web.Domain.Infrastructure /// Task> GetReceiveBox(int taskId); + /// + /// 获取-已收货的箱子 + /// + /// + /// + Task> GetReceiveBox(int taskId, string materialNumber); + /// /// 批量添加 /// diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs index 74a5b052..2307b2a5 100644 --- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs @@ -490,6 +490,7 @@ namespace WMS.Web.Repositories /// public async Task> GetReceiveBox(int taskId) { + return await _context.InstockTaskBox.Where(x => x.TaskId == taskId).Select(x => new ReceiveBoxResponse() { TaskId = x.TaskId, @@ -498,6 +499,26 @@ namespace WMS.Web.Repositories }).ToListAsync(); } + /// + /// + /// + /// + /// + /// + public async Task> GetReceiveBox(int taskId, string materialNumber) + { + var list = await _context.InstockTaskBox.Include(x => x.Details).Where(x => x.TaskId == taskId).ToListAsync(); + var list_last = list.Where(x => !x.Details.Any(t => t.MaterialNumber == materialNumber)); + var result = list.Select(x => new ReceiveBoxResponse() + { + TaskId = x.TaskId, + BoxId = x.BoxId, + BoxBillNo = x.BoxBillNo + }).ToList(); + + return result; + } + /// /// 批量添加 ///