移箱
This commit is contained in:
@@ -2149,7 +2149,7 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.IBoxInventoryService.GenerateChangeBox(System.Collections.Generic.List{WMS.Web.Core.Dto.Inventory.BoxInventoryChangeGenerateDto},System.Boolean)">
|
||||
<member name="M:WMS.Web.Domain.IService.IBoxInventoryService.GenerateChangeBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.ChangeBoxRecord},System.Boolean)">
|
||||
<summary>
|
||||
改箱-箱库存的变更
|
||||
</summary>
|
||||
@@ -2157,9 +2157,9 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.IBoxInventoryService.GenerateChangeBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.ChangeBoxRecord},System.Boolean)">
|
||||
<member name="M:WMS.Web.Domain.IService.IBoxInventoryService.GenerateMoveBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.MoveBoxRecord},System.Boolean)">
|
||||
<summary>
|
||||
改箱-箱库存的变更
|
||||
移箱-箱库存的变更
|
||||
</summary>
|
||||
<param name="dtoDatas"></param>
|
||||
<param name="isTransaction"></param>
|
||||
@@ -3246,6 +3246,14 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.BoxInventoryService.GenerateMoveBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.MoveBoxRecord},System.Boolean)">
|
||||
<summary>
|
||||
移箱-箱库存的变更
|
||||
</summary>
|
||||
<param name="dtoDatas"></param>
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.BoxInventoryService.GenerateBackBox(System.Collections.Generic.List{WMS.Web.Core.Dto.Inventory.BoxInventoryBackGenerateDto},System.Boolean)">
|
||||
<summary>
|
||||
入库回退上下架-箱库存的变更
|
||||
|
||||
@@ -29,6 +29,14 @@ namespace WMS.Web.Domain.IService
|
||||
/// <returns></returns>
|
||||
Task<Result> GenerateChangeBox(List<ChangeBoxRecord> dtoDatas, bool isTransaction);
|
||||
|
||||
/// <summary>
|
||||
/// 移箱-箱库存的变更
|
||||
/// </summary>
|
||||
/// <param name="dtoDatas"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> GenerateMoveBox(List<MoveBoxRecord> dtoDatas, bool isTransaction);
|
||||
|
||||
/// <summary>
|
||||
/// 移箱-箱库存的变更
|
||||
/// </summary>
|
||||
|
||||
@@ -137,7 +137,19 @@ namespace WMS.Web.Domain.Services
|
||||
newTagChangeDetail.SerialNumbers = item.SerialNumbers;
|
||||
tag_update_entity.Details.Add(newTagChangeDetail);
|
||||
}
|
||||
|
||||
//2.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = item.MaterialId;
|
||||
inventoryDet.OrgCode = tag_update_entity.OrgCode;
|
||||
inventoryDet.StockCode = tag_update_entity.StockCode;
|
||||
inventoryDet.SubStockId = tag_update_entity.SubStockId;
|
||||
inventoryDet.Qty = item.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//2.2.2即时库存:修改箱库存的集合
|
||||
InventoryDetailsGenerateDto.Add(inventoryDet);
|
||||
}
|
||||
//2.4箱库存:要修改的集合
|
||||
update_entitys.Add(tag_update_entity);
|
||||
|
||||
}
|
||||
@@ -156,6 +168,13 @@ namespace WMS.Web.Domain.Services
|
||||
isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
//5.即时库存:变更
|
||||
if (InventoryDetailsGenerateDto.Count != 0)
|
||||
{
|
||||
var InventoryDetailsGenerate_result = await _inventoryDetailsService.GenerateInventoryDetails(InventoryDetailsGenerateDto, isTransaction);
|
||||
if (!InventoryDetailsGenerate_result.IsSuccess)
|
||||
return InventoryDetailsGenerate_result;
|
||||
}
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
@@ -172,10 +191,6 @@ namespace WMS.Web.Domain.Services
|
||||
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
||||
|
||||
var update_entitys = new List<BoxInventory>();
|
||||
var add_entitys = new List<BoxInventory>();
|
||||
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
|
||||
|
||||
//2.原来箱库存集合
|
||||
var boxIds = dtoDatas.Where(x => x.SrcBoxId != 0).GroupBy(x => x.SrcBoxId).Select(x => x.Key).ToList();
|
||||
var sourceBoxInventorys = await _boxInventoryRepositories.GetList(boxIds);
|
||||
@@ -230,6 +245,7 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
var delete_entitys = new List<BoxInventory>();
|
||||
var add_entitys = new List<BoxInventory>();
|
||||
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
|
||||
|
||||
//2.获取“箱库存集合”和“箱基本信息集合”
|
||||
var boxIds = dtoDatas.GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
|
||||
@@ -265,8 +281,25 @@ namespace WMS.Web.Domain.Services
|
||||
if (box_serialNub != null)
|
||||
item.SerialNumbers.Add(box_serialNub.SerialNumber);
|
||||
}
|
||||
//3.4箱库存:要新增的集合
|
||||
add_entitys.Add(addEntity);
|
||||
|
||||
//4.1即时库存:组装入库
|
||||
foreach (var item in box.Details)
|
||||
{
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = item.MaterialId;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId;
|
||||
inventoryDet.Qty = item.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
InventoryDetailsGenerateDto.Add(inventoryDet);
|
||||
}
|
||||
|
||||
|
||||
}//下架
|
||||
else
|
||||
{
|
||||
@@ -278,6 +311,21 @@ namespace WMS.Web.Domain.Services
|
||||
//3.2整箱移货下架-直接删除当前箱子所在的库存
|
||||
var box_inventory = boxInventorys.Where(x => x.BoxId == dto.BoxId).FirstOrDefault();
|
||||
delete_entitys.Add(box_inventory);
|
||||
|
||||
//4.1即时库存:组装出库
|
||||
foreach (var item in box_inventory.Details)
|
||||
{
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = item.MaterialId;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId;
|
||||
inventoryDet.Qty = item.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
InventoryDetailsGenerateDto.Add(inventoryDet);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -294,9 +342,52 @@ namespace WMS.Web.Domain.Services
|
||||
isSuccess = await _boxInventoryRepositories.DeleteRange(delete_ids, isTransaction);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
//5.即时库存:处理
|
||||
if (InventoryDetailsGenerateDto.Count != 0)
|
||||
{
|
||||
var InventoryDetailsGenerate_result = await _inventoryDetailsService.GenerateInventoryDetails(InventoryDetailsGenerateDto, isTransaction);
|
||||
if (!InventoryDetailsGenerate_result.IsSuccess)
|
||||
return InventoryDetailsGenerate_result;
|
||||
}
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移箱-箱库存的变更
|
||||
/// </summary>
|
||||
/// <param name="dtoDatas"></param>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> GenerateMoveBox(List<MoveBoxRecord> dtoDatas, bool isTransaction)
|
||||
{
|
||||
//1.判断来源数据是否存在
|
||||
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
||||
|
||||
//2.箱库存集合
|
||||
var boxIds = dtoDatas.Where(x => x.BoxId != 0 && x.Type== MoveBoxType.Down).GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
|
||||
var boxInventorys = await _boxInventoryRepositories.GetList(boxIds);
|
||||
|
||||
//2.1箱基本信息
|
||||
var boxs= await _boxRepositories.GetEntityList(boxIds);
|
||||
|
||||
//2.2组合要生成的dto
|
||||
var generateDtoList = new List<BoxInventoryMoveGenerateDto>();
|
||||
foreach (var item in dtoDatas)
|
||||
{
|
||||
var generateDto = new BoxInventoryMoveGenerateDto();
|
||||
generateDto.BoxId = item.BoxId;
|
||||
generateDto.OrgCode = item.OrgCode;
|
||||
generateDto.StockCode = item.StockCode;
|
||||
generateDto.SubStockId = item.Type == MoveBoxType.Up ? item.DestSubStockId : item.SrcSubStockId;
|
||||
generateDto.InventoryInOutType = item.Type== MoveBoxType.Down?(int)InventoryInOutType.Out: (int)InventoryInOutType.In;
|
||||
generateDtoList.Add(generateDto);
|
||||
|
||||
}
|
||||
//4.开始处理
|
||||
return await this.GenerateMoveBox(generateDtoList, isTransaction);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 入库回退上下架-箱库存的变更
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user