采购上架-getTaskByBox接口优化
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user