优化接口

This commit is contained in:
tongfei
2024-01-05 16:24:25 +08:00
parent 2c8827fc7e
commit c02207d263

View File

@@ -1157,9 +1157,9 @@ namespace WMS.Web.Domain.Services
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
var serNubs = dtoDatas.SelectMany(x => x.Details).SelectMany(x => x.SerialNumbers).ToList();
var serialNumbers = await _serialNumbersRepositories.GetEntityList(serNubs);
var out_serNubs = new List<SerialNumbers>();
//var serNubs = dtoDatas.SelectMany(x => x.Details).SelectMany(x => x.SerialNumbers).ToList();
//var serialNumbers = await _serialNumbersRepositories.GetEntityList(serNubs);
//var out_serNubs = new List<SerialNumbers>();
//2.获取“箱库存集合”
var boxIds = dtoDatas.GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
@@ -1360,9 +1360,30 @@ namespace WMS.Web.Domain.Services
var InventoryDetailsGenerateDto1 = new List<InventoryDetailsGenerateDto>();
foreach (var item in boxInventorys)
{
//var update_entity = item;
//update_entity.Details = new List<BoxInventoryDetails>();
item.Details.ForEach(x =>
{
var current_sers_info = out_SerialNumbers.Where(o => o.BoxId == item.BoxId && o.MaterialId == x.MaterialId).ToList();
if (current_sers_info != null && current_sers_info.Count != 0)
{
x.Qty=x.Qty- current_sers_info.Count;
var crrent_sers = current_sers_info.Select(t => t.SerialNumber).ToList();
x.SerialNumbers.RemoveAll(r => crrent_sers.Contains(r));
//3.2.2组装即时库存dto
var inventoryDet = new InventoryDetailsGenerateDto();
inventoryDet.MaterialId = x.MaterialId;
inventoryDet.OrgCode = item.OrgCode;
inventoryDet.StockCode = item.StockCode;
inventoryDet.SubStockId = item.SubStockId;
inventoryDet.Qty = current_sers_info.Count;
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
//3.2.2即时库存:修改的集合
InventoryDetailsGenerateDto1.Add(inventoryDet);
}
});
//var update_entity = item;
//foreach (var itemDet in item.Details)
//{
// var current_sers_info = out_SerialNumbers.Where(x => x.BoxId == item.BoxId && x.MaterialId == itemDet.MaterialId).ToList();
@@ -1389,13 +1410,13 @@ namespace WMS.Web.Domain.Services
// update_entity.Details.Add(itemDet);
//}
////4.1判断要修改的箱库存对象是否所有的物料库存的数量都为0“是”则删除该箱库存,"否"则修改;
//var isAllNoInventory = update_entity.Details.All(x => x.Qty == 0);
//if (isAllNoInventory)
// delete_ids1.Add(update_entity.Id);
//else
// //4.2添加要更新的箱库存实体
// update_entitys1.Add(update_entity);
//4.1判断要修改的箱库存对象是否所有的物料库存的数量都为0“是”则删除该箱库存,"否"则修改;
var isAllNoInventory = item.Details.All(x => x.Qty == 0);
if (isAllNoInventory)
delete_ids1.Add(item.Id);
else
//4.2添加要更新的箱库存实体
update_entitys1.Add(item);
}
var isSuccess = true;