出库单-物料收发明细
This commit is contained in:
@@ -38,7 +38,7 @@ namespace WMS.Web.Domain.Services
|
||||
_inventoryInOutDetailsService = inventoryInOutDetailsService;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 改箱-箱库存的变更
|
||||
@@ -89,7 +89,7 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
});
|
||||
//4.开始处理
|
||||
var result= await this.ExeChangeBox(generateDtos, sourceBoxInventorys, targetBoxInventorys, isTransaction);
|
||||
var result = await this.ExeChangeBox(generateDtos, sourceBoxInventorys, targetBoxInventorys, isTransaction);
|
||||
if (!result.IsSuccess)
|
||||
return result;
|
||||
|
||||
@@ -112,9 +112,9 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
//5.3组装:目标箱物料收发明细;有箱库存就需要创建物料收发明细;
|
||||
var tagBox = targetBoxInventorys.Where(x => x.BoxId == item.DestBoxId).FirstOrDefault();
|
||||
if (tagBox != null)
|
||||
if (tagBox != null)
|
||||
{
|
||||
var inventoryInOutDet=_inventoryInOutDetailsService.GenerateDto(
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.DestBoxId, item.MaterialId,
|
||||
item.DestBoxOrgCode, item.DestStockCode,
|
||||
item.DestSubStockId, OrderType.ChangeBox,
|
||||
@@ -122,17 +122,17 @@ namespace WMS.Web.Domain.Services
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//5.提交物料收发明细:新增
|
||||
if (InventoryInOutDetailsGenerateDtoList.Count != 0)
|
||||
{
|
||||
var inout_result = await _inventoryInOutDetailsService.GenerateInOrOutDetails(InventoryInOutDetailsGenerateDtoList,isTransaction);
|
||||
var inout_result = await _inventoryInOutDetailsService.GenerateInOrOutDetails(InventoryInOutDetailsGenerateDtoList, isTransaction);
|
||||
if (!inout_result.IsSuccess)
|
||||
return inout_result;
|
||||
}
|
||||
return Result.ReSuccess();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移箱-箱库存的变更
|
||||
@@ -187,13 +187,13 @@ namespace WMS.Web.Domain.Services
|
||||
item.OrgCode, item.StockCode,
|
||||
SubStockId, OrderType.MoveBox,
|
||||
item.BillNo, item.Qty, InOutType);
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//4.开始处理
|
||||
var result= await this.ExeMoveBox(generateDtoList, boxInventorys, boxs, isTransaction);
|
||||
var result = await this.ExeMoveBox(generateDtoList, boxInventorys, boxs, isTransaction);
|
||||
if (!result.IsSuccess)
|
||||
return result;
|
||||
|
||||
@@ -206,7 +206,7 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 入库回退上下架-箱库存的变更
|
||||
@@ -296,12 +296,12 @@ namespace WMS.Web.Domain.Services
|
||||
generateDtoList.AddRange(generateDtoList_in);
|
||||
generateDtoList.AddRange(generateDtoList_out);
|
||||
//4.提交处理
|
||||
var result= await this.ExeBackBox(generateDtoList, isTransaction);
|
||||
var result = await this.ExeBackBox(generateDtoList, isTransaction);
|
||||
if (!result.IsSuccess)
|
||||
return result;
|
||||
|
||||
//5.组装物料收发明细dto
|
||||
foreach (var item in dtoDatas.SelectMany(x=>x.Details).ToList())
|
||||
foreach (var item in dtoDatas.SelectMany(x => x.Details).ToList())
|
||||
{
|
||||
var entity = dtoDatas.Where(x => x.Id == item.Fid).FirstOrDefault();
|
||||
if (entity != null)
|
||||
@@ -310,7 +310,7 @@ namespace WMS.Web.Domain.Services
|
||||
item.BoxId, item.MaterialId,
|
||||
item.OrgCode, item.StockCode,
|
||||
item.SubStockId, OrderType.Back,
|
||||
entity.BillNo, item.Qty, (entity.Type== BackRecordType.InstockOff?InventoryInOutType.Out:InventoryInOutType.In));
|
||||
entity.BillNo, item.Qty, (entity.Type == BackRecordType.InstockOff ? InventoryInOutType.Out : InventoryInOutType.In));
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
}
|
||||
}
|
||||
@@ -401,7 +401,7 @@ namespace WMS.Web.Domain.Services
|
||||
generateDtoList.AddRange(generateDtoList_in);
|
||||
generateDtoList.AddRange(generateDtoList_out);
|
||||
//提交处理
|
||||
var result= await this.ExeTakeBox(generateDtoList, isTransaction);
|
||||
var result = await this.ExeTakeBox(generateDtoList, isTransaction);
|
||||
if (!result.IsSuccess)
|
||||
return result;
|
||||
|
||||
@@ -423,7 +423,7 @@ namespace WMS.Web.Domain.Services
|
||||
return inout_result;
|
||||
}
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 入库单-箱库存的变更
|
||||
@@ -511,7 +511,7 @@ namespace WMS.Web.Domain.Services
|
||||
generateDtoList.AddRange(generateDtoList_Metod_Box);
|
||||
generateDtoList.AddRange(generateDtoList_Metod_Product);
|
||||
//提交处理
|
||||
var result= await this.ExeInStockBox(generateDtoList, isTransaction);
|
||||
var result = await this.ExeInStockBox(generateDtoList, isTransaction);
|
||||
if (!result.IsSuccess)
|
||||
return result;
|
||||
|
||||
@@ -538,7 +538,7 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 出库单-箱库存变更
|
||||
@@ -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>
|
||||
@@ -598,7 +631,7 @@ namespace WMS.Web.Domain.Services
|
||||
/// <param name="targetBoxInventorys"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<Result> ExeChangeBox(List<BoxInventoryChangeGenerateDto> dtoDatas,List<BoxInventory> sourceBoxInventorys, List<BoxInventory> targetBoxInventorys, bool isTransaction)
|
||||
private async Task<Result> ExeChangeBox(List<BoxInventoryChangeGenerateDto> dtoDatas, List<BoxInventory> sourceBoxInventorys, List<BoxInventory> targetBoxInventorys, bool isTransaction)
|
||||
{
|
||||
//1.判断来源数据是否存在
|
||||
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||
@@ -733,7 +766,7 @@ namespace WMS.Web.Domain.Services
|
||||
/// <param name="boxs"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<Result> ExeMoveBox(List<BoxInventoryMoveGenerateDto> dtoDatas, List<BoxInventory> boxInventorys,List<Box> boxs, bool isTransaction)
|
||||
private async Task<Result> ExeMoveBox(List<BoxInventoryMoveGenerateDto> dtoDatas, List<BoxInventory> boxInventorys, List<Box> boxs, bool isTransaction)
|
||||
{
|
||||
//1.判断来源数据是否存在
|
||||
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||
|
||||
Reference in New Issue
Block a user