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, "单据信息不存在,请核对后再试!");