移箱
This commit is contained in:
@@ -2149,7 +2149,7 @@
|
|||||||
<param name="isTransaction"></param>
|
<param name="isTransaction"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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>
|
||||||
改箱-箱库存的变更
|
改箱-箱库存的变更
|
||||||
</summary>
|
</summary>
|
||||||
@@ -2157,9 +2157,9 @@
|
|||||||
<param name="isTransaction"></param>
|
<param name="isTransaction"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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>
|
||||||
改箱-箱库存的变更
|
移箱-箱库存的变更
|
||||||
</summary>
|
</summary>
|
||||||
<param name="dtoDatas"></param>
|
<param name="dtoDatas"></param>
|
||||||
<param name="isTransaction"></param>
|
<param name="isTransaction"></param>
|
||||||
@@ -3246,6 +3246,14 @@
|
|||||||
<param name="isTransaction"></param>
|
<param name="isTransaction"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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)">
|
<member name="M:WMS.Web.Domain.Services.BoxInventoryService.GenerateBackBox(System.Collections.Generic.List{WMS.Web.Core.Dto.Inventory.BoxInventoryBackGenerateDto},System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
入库回退上下架-箱库存的变更
|
入库回退上下架-箱库存的变更
|
||||||
|
|||||||
@@ -29,6 +29,14 @@ namespace WMS.Web.Domain.IService
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<Result> GenerateChangeBox(List<ChangeBoxRecord> dtoDatas, bool isTransaction);
|
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>
|
||||||
/// 移箱-箱库存的变更
|
/// 移箱-箱库存的变更
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -137,7 +137,19 @@ namespace WMS.Web.Domain.Services
|
|||||||
newTagChangeDetail.SerialNumbers = item.SerialNumbers;
|
newTagChangeDetail.SerialNumbers = item.SerialNumbers;
|
||||||
tag_update_entity.Details.Add(newTagChangeDetail);
|
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);
|
update_entitys.Add(tag_update_entity);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -156,6 +168,13 @@ namespace WMS.Web.Domain.Services
|
|||||||
isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction);
|
isSuccess = await _boxInventoryRepositories.UpdateRange(update_entitys, isTransaction);
|
||||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
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();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
@@ -172,10 +191,6 @@ namespace WMS.Web.Domain.Services
|
|||||||
if (dtoDatas == null || dtoDatas.Count == 0)
|
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||||
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
||||||
|
|
||||||
var update_entitys = new List<BoxInventory>();
|
|
||||||
var add_entitys = new List<BoxInventory>();
|
|
||||||
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
|
|
||||||
|
|
||||||
//2.原来箱库存集合
|
//2.原来箱库存集合
|
||||||
var boxIds = dtoDatas.Where(x => x.SrcBoxId != 0).GroupBy(x => x.SrcBoxId).Select(x => x.Key).ToList();
|
var boxIds = dtoDatas.Where(x => x.SrcBoxId != 0).GroupBy(x => x.SrcBoxId).Select(x => x.Key).ToList();
|
||||||
var sourceBoxInventorys = await _boxInventoryRepositories.GetList(boxIds);
|
var sourceBoxInventorys = await _boxInventoryRepositories.GetList(boxIds);
|
||||||
@@ -230,6 +245,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
|
|
||||||
var delete_entitys = new List<BoxInventory>();
|
var delete_entitys = new List<BoxInventory>();
|
||||||
var add_entitys = new List<BoxInventory>();
|
var add_entitys = new List<BoxInventory>();
|
||||||
|
var InventoryDetailsGenerateDto = new List<InventoryDetailsGenerateDto>();
|
||||||
|
|
||||||
//2.获取“箱库存集合”和“箱基本信息集合”
|
//2.获取“箱库存集合”和“箱基本信息集合”
|
||||||
var boxIds = dtoDatas.GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
|
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)
|
if (box_serialNub != null)
|
||||||
item.SerialNumbers.Add(box_serialNub.SerialNumber);
|
item.SerialNumbers.Add(box_serialNub.SerialNumber);
|
||||||
}
|
}
|
||||||
|
//3.4箱库存:要新增的集合
|
||||||
add_entitys.Add(addEntity);
|
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
|
else
|
||||||
{
|
{
|
||||||
@@ -278,6 +311,21 @@ namespace WMS.Web.Domain.Services
|
|||||||
//3.2整箱移货下架-直接删除当前箱子所在的库存
|
//3.2整箱移货下架-直接删除当前箱子所在的库存
|
||||||
var box_inventory = boxInventorys.Where(x => x.BoxId == dto.BoxId).FirstOrDefault();
|
var box_inventory = boxInventorys.Where(x => x.BoxId == dto.BoxId).FirstOrDefault();
|
||||||
delete_entitys.Add(box_inventory);
|
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);
|
isSuccess = await _boxInventoryRepositories.DeleteRange(delete_ids, isTransaction);
|
||||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
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();
|
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>
|
||||||
/// 入库回退上下架-箱库存的变更
|
/// 入库回退上下架-箱库存的变更
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user