箱库存优化
This commit is contained in:
@@ -580,6 +580,7 @@ namespace WMS.Web.Domain.Services
|
||||
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
||||
|
||||
var delete_ids = new List<int>();
|
||||
var update_entitys = new List<BoxInventory>();
|
||||
var add_entitys = new List<BoxInventory>();
|
||||
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
|
||||
@@ -621,8 +622,14 @@ namespace WMS.Web.Domain.Services
|
||||
//2.2.2即时库存:修改箱库存的集合
|
||||
InventoryDetailsGenerateDto.Add(inventoryDet);
|
||||
}
|
||||
//2.2.1箱库存:修改箱库存的集合
|
||||
update_entitys.Add(sour_update_entity);
|
||||
|
||||
//4.1判断要修改的箱库存对象:是否所有的物料库存的数量都为0,“是”则删除该箱库存,"否"则修改;
|
||||
var isAllNoInventory = sour_update_entity.Details.All(x => x.Qty == 0);
|
||||
if (isAllNoInventory)
|
||||
delete_ids.Add(sour_update_entity.Id);
|
||||
else
|
||||
//4.2添加要更新的箱库存实体
|
||||
update_entitys.Add(sour_update_entity);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -690,6 +697,11 @@ namespace WMS.Web.Domain.Services
|
||||
isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
if (delete_ids.Count != 0)
|
||||
{
|
||||
isSuccess = await _boxInventoryRepositories.DeleteRange(delete_ids, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
//5.即时库存:变更
|
||||
//5.1先合并相同的数据
|
||||
var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
@@ -793,7 +805,8 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
|
||||
|
||||
}//下架
|
||||
}
|
||||
//下架
|
||||
else
|
||||
{
|
||||
//3.1下架的时候:箱一定是存在于箱库存当中的,没有则返回提示“箱不存在于库存,请扫其它箱”
|
||||
@@ -881,6 +894,7 @@ namespace WMS.Web.Domain.Services
|
||||
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
||||
|
||||
var delete_ids = new List<int>();
|
||||
var update_entitys = new List<BoxInventory>();
|
||||
var add_entitys = new List<BoxInventory>();
|
||||
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
|
||||
@@ -998,7 +1012,8 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
|
||||
|
||||
}//下架
|
||||
}
|
||||
//下架
|
||||
else
|
||||
{
|
||||
//3.1下架的时候:箱一定是存在于箱库存当中的,没有则返回提示“箱不存在于库存,请扫其它箱”
|
||||
@@ -1037,9 +1052,14 @@ namespace WMS.Web.Domain.Services
|
||||
InventoryDetailsGenerateDto.Add(inventoryDet);
|
||||
|
||||
}
|
||||
update_entitys.Add(update_entity);
|
||||
|
||||
|
||||
//4.1判断要修改的箱库存对象:是否所有的物料库存的数量都为0,“是”则删除该箱库存,"否"则修改;
|
||||
var isAllNoInventory = update_entity.Details.All(x => x.Qty == 0);
|
||||
if (isAllNoInventory)
|
||||
delete_ids.Add(update_entity.Id);
|
||||
else
|
||||
//4.2添加要更新的箱库存实体
|
||||
update_entitys.Add(update_entity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1055,6 +1075,11 @@ namespace WMS.Web.Domain.Services
|
||||
isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
if (delete_ids.Count != 0)
|
||||
{
|
||||
isSuccess = await _boxInventoryRepositories.DeleteRange(delete_ids, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
//5.即时库存:处理
|
||||
//5.1先合并相同的数据
|
||||
var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
@@ -1100,6 +1125,7 @@ namespace WMS.Web.Domain.Services
|
||||
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
||||
|
||||
var delete_ids = new List<int>();
|
||||
var update_entitys = new List<BoxInventory>();
|
||||
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
|
||||
|
||||
@@ -1156,7 +1182,8 @@ namespace WMS.Web.Domain.Services
|
||||
//3.5要处理的修改集合
|
||||
update_entitys.Add(updateEntity);
|
||||
|
||||
}//出库
|
||||
}
|
||||
//出库
|
||||
else
|
||||
{
|
||||
//3.1出库的时候:盘点-箱库存是存在
|
||||
@@ -1193,8 +1220,14 @@ namespace WMS.Web.Domain.Services
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
InventoryDetailsGenerateDto.Add(inventoryDet);
|
||||
}
|
||||
//3.5要处理的修改集合
|
||||
update_entitys.Add(update_entity);
|
||||
|
||||
//4.1判断要修改的箱库存对象:是否所有的物料库存的数量都为0,“是”则删除该箱库存,"否"则修改;
|
||||
var isAllNoInventory = update_entity.Details.All(x => x.Qty == 0);
|
||||
if (isAllNoInventory)
|
||||
delete_ids.Add(update_entity.Id);
|
||||
else
|
||||
//4.2添加要更新的箱库存实体
|
||||
update_entitys.Add(update_entity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1205,6 +1238,11 @@ namespace WMS.Web.Domain.Services
|
||||
isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
if (delete_ids.Count != 0)
|
||||
{
|
||||
isSuccess = await _boxInventoryRepositories.DeleteRange(delete_ids, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
//5.即时库存:处理
|
||||
//5.1先合并相同的数据
|
||||
var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
|
||||
Reference in New Issue
Block a user