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

@@ -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);