采购上架-getTaskByBox接口优化

This commit is contained in:
tongfei
2023-12-04 16:52:04 +08:00
parent 36f38480dd
commit faadd8aabf
8 changed files with 69 additions and 21 deletions

View File

@@ -131,21 +131,20 @@ namespace WMS.Web.Api.Controllers
return await _inStockService.ShelfNoPurchase(dto, loginInfo); return await _inStockService.ShelfNoPurchase(dto, loginInfo);
} }
/// <summary> /// <summary>
/// 通过箱号获取到入库任务单数据 /// 通过箱号获取到入库任务单数据-PAD
/// </summary> /// </summary>
/// <param name="boxBillNo"></param> /// <param name="dto"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpPost]
[Route("GetTaskByBox/{boxBillNo}")] [Route("GetTaskByBox")]
public async Task<Result<BoxInStockTaskDto>> GetTaskByBox([FromRoute] string boxBillNo) public async Task<Result<BoxInStockTaskDto>> GetTaskByBoxBy([FromBody] BoxInStockTaskRequest dto)
{ {
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null) if (loginInfo == null || loginInfo.UserInfo == null)
return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.Token_Invalid_Error); return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.Token_Invalid_Error);
return await _inStockService.GetInfoByBox(boxBillNo); return await _inStockService.GetInfoByBox(dto);
} }
/// <summary> /// <summary>

View File

@@ -121,11 +121,11 @@
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Api.Controllers.InStockController.GetTaskByBox(System.String)"> <member name="M:WMS.Web.Api.Controllers.InStockController.GetTaskByBoxBy(WMS.Web.Core.Dto.InStock.BoxInStockTaskRequest)">
<summary> <summary>
通过箱号获取到入库任务单数据 通过箱号获取到入库任务单数据-PAD
</summary> </summary>
<param name="boxBillNo"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Api.Controllers.InStockController.Sync(WMS.Web.Core.Dto.OperateRequest)"> <member name="M:WMS.Web.Api.Controllers.InStockController.Sync(WMS.Web.Core.Dto.OperateRequest)">

View File

@@ -2005,6 +2005,21 @@
创建时间erp那边的创建时间 创建时间erp那边的创建时间
</summary> </summary>
</member> </member>
<member name="T:WMS.Web.Core.Dto.InStock.BoxInStockTaskRequest">
<summary>
箱号-获取来源单信息-请求对象
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.BoxInStockTaskRequest.BoxBillNo">
<summary>
箱号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.BoxInStockTaskRequest.StockCode">
<summary>
仓库编码
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.InStock.InStockInfoResponse"> <member name="T:WMS.Web.Core.Dto.InStock.InStockInfoResponse">
<summary> <summary>
入库单详情 入库单详情

View File

@@ -2413,11 +2413,11 @@
<param name="loginInDto"></param> <param name="loginInDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.IService.IInStockService.GetInfoByBox(System.String)"> <member name="M:WMS.Web.Domain.IService.IInStockService.GetInfoByBox(WMS.Web.Core.Dto.InStock.BoxInStockTaskRequest)">
<summary> <summary>
获取任务单:根据箱号信息 获取任务单:根据箱号信息
</summary> </summary>
<param name="boxBillNo"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.IService.IInStockService.UpdateRange(System.Collections.Generic.List{System.Int32},System.Int32,System.Boolean,System.Boolean)"> <member name="M:WMS.Web.Domain.IService.IInStockService.UpdateRange(System.Collections.Generic.List{System.Int32},System.Int32,System.Boolean,System.Boolean)">
@@ -3641,11 +3641,11 @@
<param name="loginInDto"></param> <param name="loginInDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Services.InStockService.GetInfoByBox(System.String)"> <member name="M:WMS.Web.Domain.Services.InStockService.GetInfoByBox(WMS.Web.Core.Dto.InStock.BoxInStockTaskRequest)">
<summary> <summary>
获取任务单:根据箱号信息 获取任务单:根据箱号信息
</summary> </summary>
<param name="boxBillNo"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Services.InStockService.ShelfSave(WMS.Web.Core.Dto.InStock.PurchaseShelfRequest,WMS.Web.Domain.Values.InstockType,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)"> <member name="M:WMS.Web.Domain.Services.InStockService.ShelfSave(WMS.Web.Core.Dto.InStock.PurchaseShelfRequest,WMS.Web.Domain.Values.InstockType,WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WMS.Web.Core.Dto.InStock
{
/// <summary>
/// 箱号-获取来源单信息-请求对象
/// </summary>
public class BoxInStockTaskRequest
{
/// <summary>
/// 箱号
/// </summary>
public string BoxBillNo { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
public string StockCode { get; set; }
}
}

View File

@@ -52,9 +52,9 @@ namespace WMS.Web.Domain.IService
/// <summary> /// <summary>
/// 获取任务单:根据箱号信息 /// 获取任务单:根据箱号信息
/// </summary> /// </summary>
/// <param name="boxBillNo"></param> /// <param name="dto"></param>
/// <returns></returns> /// <returns></returns>
Task<Result<BoxInStockTaskDto>> GetInfoByBox(string boxBillNo); Task<Result<BoxInStockTaskDto>> GetInfoByBox(BoxInStockTaskRequest dto);
/// <summary> /// <summary>
/// 批量修改-入库任务信息 /// 批量修改-入库任务信息

View File

@@ -140,9 +140,9 @@ namespace WMS.Web.Domain.Services
/// <summary> /// <summary>
/// 获取任务单:根据箱号信息 /// 获取任务单:根据箱号信息
/// </summary> /// </summary>
/// <param name="boxBillNo"></param> /// <param name="dto"></param>
/// <returns></returns> /// <returns></returns>
public async Task<Result<BoxInStockTaskDto>> GetInfoByBox(string boxBillNo) public async Task<Result<BoxInStockTaskDto>> GetInfoByBox(BoxInStockTaskRequest dto)
{ {
//1.获取物料集合 //1.获取物料集合
var materials_result = await _erpService.BillQueryForMaterial(); var materials_result = await _erpService.BillQueryForMaterial();
@@ -151,15 +151,26 @@ namespace WMS.Web.Domain.Services
materials = materials_result.Data.ToList(); materials = materials_result.Data.ToList();
//1.先判断:箱号已经绑定了入库任务单中;备注:业务说法就是箱是否收货了 //1.先判断:箱号已经绑定了入库任务单中;备注:业务说法就是箱是否收货了
var tast_box= await _inStockTaskBoxRepositories.GetBy(boxBillNo); var tast_box= await _inStockTaskBoxRepositories.GetBy(dto.BoxBillNo);
if (tast_box == null) if (tast_box == null)
return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.Box_NoBind_Task_Data); return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.Box_NoBind_Task_Data);
//1.2找到任务单 //1.2找到任务单
var tast = await _inStockTaskRepositories.Get(tast_box.TaskId); var tast = await _inStockTaskRepositories.Get(tast_box.TaskId);
if(tast == null)
return Result<BoxInStockTaskDto>.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<BoxInStockTaskDto>.ReFailure(ResultCodes.BoxBindTaskDetailsIdNotChoose);
}
//2.找到箱对应的物料信息 //2.找到箱对应的物料信息
var box = await _boxRepositories.GetByNo(boxBillNo); var box = await _boxRepositories.GetByNo(dto.BoxBillNo);
if (box == null) if (box == null)
return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.BoxNoData); return Result<BoxInStockTaskDto>.ReFailure(ResultCodes.BoxNoData);

View File

@@ -40,7 +40,8 @@ namespace WMS.Web.Domain.Values
public static ValueTuple<int, string> BoxMateriaNoData = (800010, "箱对应物料信息不存在"); public static ValueTuple<int, string> BoxMateriaNoData = (800010, "箱对应物料信息不存在");
public static ValueTuple<int, string> MateriaNoData = (800011, "物料信息不存在"); public static ValueTuple<int, string> MateriaNoData = (800011, "物料信息不存在");
public static ValueTuple<int, string> BoxInventorySerialNumbersNoData = (800012, "序列号不存在于箱库存数据中"); public static ValueTuple<int, string> BoxInventorySerialNumbersNoData = (800012, "序列号不存在于箱库存数据中");
public static ValueTuple<int, string> InStockTaskNoData = (900000, "来源单不存在");
public static ValueTuple<int, string> BoxBindTaskDetailsIdNotChoose = (900000, "箱号仓库不对");
public static ValueTuple<int, string> ErpStockNoData = (900000, "Erp仓库信息不完整"); public static ValueTuple<int, string> ErpStockNoData = (900000, "Erp仓库信息不完整");
public static ValueTuple<int, string> Box_NoBind_Task_Data = (80001, "该箱号不在收货信息中,请核对再试!"); public static ValueTuple<int, string> Box_NoBind_Task_Data = (80001, "该箱号不在收货信息中,请核对再试!");
public static ValueTuple<int, string> OrderNoData = (80002, "单据信息不存在,请核对后再试!"); public static ValueTuple<int, string> OrderNoData = (80002, "单据信息不存在,请核对后再试!");