采购上架-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

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

View File

@@ -140,9 +140,9 @@ namespace WMS.Web.Domain.Services
/// <summary>
/// 获取任务单:根据箱号信息
/// </summary>
/// <param name="boxBillNo"></param>
/// <param name="dto"></param>
/// <returns></returns>
public async Task<Result<BoxInStockTaskDto>> GetInfoByBox(string boxBillNo)
public async Task<Result<BoxInStockTaskDto>> 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<BoxInStockTaskDto>.ReFailure(ResultCodes.Box_NoBind_Task_Data);
//1.2找到任务单
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.找到箱对应的物料信息
var box = await _boxRepositories.GetByNo(boxBillNo);
var box = await _boxRepositories.GetByNo(dto.BoxBillNo);
if (box == null)
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> MateriaNoData = (800011, "物料信息不存在");
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> Box_NoBind_Task_Data = (80001, "该箱号不在收货信息中,请核对再试!");
public static ValueTuple<int, string> OrderNoData = (80002, "单据信息不存在,请核对后再试!");