From faadd8aabf5149384d4dae9a2f099850c71b21d0 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Mon, 4 Dec 2023 16:52:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E4=B8=8A=E6=9E=B6-getTaskByB?= =?UTF-8?q?ox=E6=8E=A5=E5=8F=A3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/InStockController.cs | 13 +++++------ src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 6 ++--- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 15 +++++++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 8 +++---- .../Dto/InStock/BoxInStockTaskRequest.cs | 22 +++++++++++++++++++ .../IService/IInStockService.cs | 4 ++-- src/WMS.Web.Domain/Services/InStockService.cs | 19 ++++++++++++---- src/WMS.Web.Domain/Values/ResultCodes.cs | 3 ++- 8 files changed, 69 insertions(+), 21 deletions(-) create mode 100644 src/WMS.Web.Core/Dto/InStock/BoxInStockTaskRequest.cs diff --git a/src/WMS.Web.Api/Controllers/InStockController.cs b/src/WMS.Web.Api/Controllers/InStockController.cs index 75e684b3..fe65dd1e 100644 --- a/src/WMS.Web.Api/Controllers/InStockController.cs +++ b/src/WMS.Web.Api/Controllers/InStockController.cs @@ -131,21 +131,20 @@ namespace WMS.Web.Api.Controllers return await _inStockService.ShelfNoPurchase(dto, loginInfo); } - /// - /// 通过箱号获取到入库任务单数据 + /// 通过箱号获取到入库任务单数据-PAD /// - /// + /// /// - [HttpGet] - [Route("GetTaskByBox/{boxBillNo}")] - public async Task> GetTaskByBox([FromRoute] string boxBillNo) + [HttpPost] + [Route("GetTaskByBox")] + public async Task> GetTaskByBoxBy([FromBody] BoxInStockTaskRequest dto) { var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); if (loginInfo == null || loginInfo.UserInfo == null) return Result.ReFailure(ResultCodes.Token_Invalid_Error); - return await _inStockService.GetInfoByBox(boxBillNo); + return await _inStockService.GetInfoByBox(dto); } /// diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index a087b68f..18297c0d 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -121,11 +121,11 @@ - + - 通过箱号获取到入库任务单数据 + 通过箱号获取到入库任务单数据-PAD - + diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index fbbe01ba..208e4e3d 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -2005,6 +2005,21 @@ 创建时间(erp那边的创建时间) + + + 箱号-获取来源单信息-请求对象 + + + + + 箱号 + + + + + 仓库编码 + + 入库单详情 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 7d371a3f..3f7fc18a 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -2413,11 +2413,11 @@ - + 获取任务单:根据箱号信息 - + @@ -3641,11 +3641,11 @@ - + 获取任务单:根据箱号信息 - + diff --git a/src/WMS.Web.Core/Dto/InStock/BoxInStockTaskRequest.cs b/src/WMS.Web.Core/Dto/InStock/BoxInStockTaskRequest.cs new file mode 100644 index 00000000..f4c02bb5 --- /dev/null +++ b/src/WMS.Web.Core/Dto/InStock/BoxInStockTaskRequest.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.InStock +{ + /// + /// 箱号-获取来源单信息-请求对象 + /// + public class BoxInStockTaskRequest + { + /// + /// 箱号 + /// + public string BoxBillNo { get; set; } + + /// + /// 仓库编码 + /// + public string StockCode { get; set; } + } +} diff --git a/src/WMS.Web.Domain/IService/IInStockService.cs b/src/WMS.Web.Domain/IService/IInStockService.cs index fc9858fd..5c4d0985 100644 --- a/src/WMS.Web.Domain/IService/IInStockService.cs +++ b/src/WMS.Web.Domain/IService/IInStockService.cs @@ -52,9 +52,9 @@ namespace WMS.Web.Domain.IService /// /// 获取任务单:根据箱号信息 /// - /// + /// /// - Task> GetInfoByBox(string boxBillNo); + Task> GetInfoByBox(BoxInStockTaskRequest dto); /// /// 批量修改-入库任务信息 diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 81feb214..cc278fbe 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -140,9 +140,9 @@ namespace WMS.Web.Domain.Services /// /// 获取任务单:根据箱号信息 /// - /// + /// /// - public async Task> GetInfoByBox(string boxBillNo) + public async Task> GetInfoByBox(BoxInStockTaskRequest dto) { //1.获取物料集合 var materials_result = await _erpService.BillQueryForMaterial(); @@ -151,15 +151,26 @@ namespace WMS.Web.Domain.Services materials = materials_result.Data.ToList(); //1.先判断:箱号已经绑定了入库任务单中;备注:业务说法就是箱是否收货了 - var tast_box= await _inStockTaskBoxRepositories.GetBy(boxBillNo); + var tast_box= await _inStockTaskBoxRepositories.GetBy(dto.BoxBillNo); if (tast_box == null) return Result.ReFailure(ResultCodes.Box_NoBind_Task_Data); //1.2找到任务单 var tast = await _inStockTaskRepositories.Get(tast_box.TaskId); + if(tast == null) + return Result.ReFailure(ResultCodes.InStockTaskNoData); + + //1.2.1判断箱子绑定的物料明细数据的仓库,是不是用户所选的仓库;不是则提示:箱号仓库不对 + foreach (var item in tast_box.Details) + { + var tast_det = tast.Details.Where(t => t.ErpDetailId == item.ErpDetailId).FirstOrDefault(); + if (tast_det != null && tast_det.StockCode != dto.StockCode) + return Result.ReFailure(ResultCodes.BoxBindTaskDetailsIdNotChoose); + } + //2.找到箱对应的物料信息 - var box = await _boxRepositories.GetByNo(boxBillNo); + var box = await _boxRepositories.GetByNo(dto.BoxBillNo); if (box == null) return Result.ReFailure(ResultCodes.BoxNoData); diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index 37222c96..74749a8d 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -40,7 +40,8 @@ namespace WMS.Web.Domain.Values public static ValueTuple BoxMateriaNoData = (800010, "箱对应物料信息不存在"); public static ValueTuple MateriaNoData = (800011, "物料信息不存在"); public static ValueTuple BoxInventorySerialNumbersNoData = (800012, "序列号不存在于箱库存数据中"); - + public static ValueTuple InStockTaskNoData = (900000, "来源单不存在"); + public static ValueTuple BoxBindTaskDetailsIdNotChoose = (900000, "箱号仓库不对"); public static ValueTuple ErpStockNoData = (900000, "Erp仓库信息不完整"); public static ValueTuple Box_NoBind_Task_Data = (80001, "该箱号不在收货信息中,请核对再试!"); public static ValueTuple OrderNoData = (80002, "单据信息不存在,请核对后再试!");