出库单-物料收发明细
This commit is contained in:
@@ -552,6 +552,9 @@ namespace WMS.Web.Domain.Services
|
||||
if (dtoData == null)
|
||||
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
||||
|
||||
//物料收发明细dtos
|
||||
var InventoryInOutDetailsGenerateDtoList = new List<InventoryInOutDetailsGenerateDto>();
|
||||
|
||||
//2.组装
|
||||
var generateDtoList = dtoData.Details.SelectMany(x => x.BoxsDetails).GroupBy(x => new { x.BoxId, x.SubStockId })
|
||||
.Select(x => new BoxInventoryGenerateDto()
|
||||
@@ -587,7 +590,37 @@ namespace WMS.Web.Domain.Services
|
||||
});
|
||||
|
||||
//提交处理
|
||||
return await this.ExeOutStockBox(generateDtoList, isTransaction);
|
||||
var result = await this.ExeOutStockBox(generateDtoList, isTransaction);
|
||||
if (!result.IsSuccess)
|
||||
return result;
|
||||
|
||||
//5.组装物料收发明细dto
|
||||
//3.1明细的IDS
|
||||
var current_materialDetails_ids = dtoData.Details.SelectMany(t => t.BoxsDetails).GroupBy(t => t.DetailId).Select(t => t.Key).ToList();
|
||||
//3.2再通过找到的IDS获取中间层的明细
|
||||
var current_materialDetails = dtoData.Details.Where(t => current_materialDetails_ids.Contains(t.Id)).ToList();
|
||||
foreach (var item in dtoData.Details.SelectMany(x => x.BoxsDetails).ToList())
|
||||
{
|
||||
//找到当前box对应的物料明细
|
||||
var currentDet= current_materialDetails.Where(x => x.Id == item.DetailId).FirstOrDefault();
|
||||
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.BoxId, currentDet.MaterialId,
|
||||
dtoData.OrgCode, dtoData.StockCode,
|
||||
item.SubStockId, OutStockTypeConvert(dtoData.Type),
|
||||
dtoData.BillNo, item.Qty, InventoryInOutType.Out);
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
|
||||
}
|
||||
//5.提交物料收发明细:新增
|
||||
if (InventoryInOutDetailsGenerateDtoList.Count != 0)
|
||||
{
|
||||
var inout_result = await _inventoryInOutDetailsService.GenerateInOrOutDetails(InventoryInOutDetailsGenerateDtoList, isTransaction);
|
||||
if (!inout_result.IsSuccess)
|
||||
return inout_result;
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user