回退箱库存-优化
This commit is contained in:
@@ -904,16 +904,38 @@ namespace WMS.Web.Domain.Services
|
|||||||
//上架
|
//上架
|
||||||
if (dto.InventoryInOutType == (int)InventoryInOutType.In)
|
if (dto.InventoryInOutType == (int)InventoryInOutType.In)
|
||||||
{
|
{
|
||||||
//3.1上架的时候:箱一定是不存在于箱库存当中的,有则返回提示“已有箱库存,不需要再扫上架”
|
//3.1上架的时候:箱库存可能存在,也可能不存在的两种情况
|
||||||
var ishave = boxInventorys.Where(x => x.BoxId == dto.BoxId).Any();
|
var boxInventory = boxInventorys.Where(x => x.BoxId == dto.BoxId).FirstOrDefault();
|
||||||
if (ishave)
|
|
||||||
return Result.ReFailure(ResultCodes.BoxInventoryHaveInventoryError);
|
|
||||||
|
|
||||||
//3.2组装要新增的箱库存信息:箱和明细和序列号
|
if (boxInventory == null)
|
||||||
var addEntity = _mapper.Map<BoxInventory>(dto);
|
{
|
||||||
addEntity.Details = _mapper.Map<List<BoxInventoryDetails>>(dto.Details);
|
//3.2组装要新增的箱库存信息:箱和明细和序列号
|
||||||
|
var addEntity = _mapper.Map<BoxInventory>(dto);
|
||||||
add_entitys.Add(addEntity);
|
addEntity.Details = _mapper.Map<List<BoxInventoryDetails>>(dto.Details);
|
||||||
|
add_entitys.Add(addEntity);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var update_entity = boxInventory;
|
||||||
|
update_entity.Details = boxInventory.Details;
|
||||||
|
//3.3遍历dto明细
|
||||||
|
foreach (var dtoItem in dto.Details)
|
||||||
|
{
|
||||||
|
//找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题
|
||||||
|
var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault();
|
||||||
|
if (updateDetail == null)
|
||||||
|
{
|
||||||
|
var det =_mapper.Map<BoxInventoryDetails>(dtoItem);
|
||||||
|
update_entity.Details.Add(det);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
updateDetail.Qty = updateDetail.Qty + dtoItem.Qty;
|
||||||
|
updateDetail.SerialNumbers.AddRange(dtoItem.SerialNumbers);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
update_entitys.Add(update_entity);
|
||||||
|
}
|
||||||
|
|
||||||
//4.1即时库存:组装入库
|
//4.1即时库存:组装入库
|
||||||
foreach (var item in dto.Details)
|
foreach (var item in dto.Details)
|
||||||
|
|||||||
Reference in New Issue
Block a user