箱库存
This commit is contained in:
@@ -2205,14 +2205,6 @@
|
|||||||
<param name="isTransaction"></param>
|
<param name="isTransaction"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:WMS.Web.Domain.IService.IBoxInventoryService.GenerateBackBox(System.Collections.Generic.List{WMS.Web.Core.Dto.Inventory.BoxInventoryBackGenerateDto},System.Boolean)">
|
|
||||||
<summary>
|
|
||||||
入库回退上下架-箱库存的变更
|
|
||||||
</summary>
|
|
||||||
<param name="dtoDatas"></param>
|
|
||||||
<param name="isTransaction"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:WMS.Web.Domain.IService.IBoxInventoryService.GenerateBackBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.BackRecord},System.Boolean)">
|
<member name="M:WMS.Web.Domain.IService.IBoxInventoryService.GenerateBackBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.BackRecord},System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
入库回退上下架-箱库存的变更
|
入库回退上下架-箱库存的变更
|
||||||
@@ -3310,6 +3302,14 @@
|
|||||||
<param name="isTransaction"></param>
|
<param name="isTransaction"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Services.BoxInventoryService.GenerateTakeBox(System.Collections.Generic.List{WMS.Web.Domain.Entitys.TakeStock},System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
盘点单-箱库存的变更
|
||||||
|
</summary>
|
||||||
|
<param name="dtoDatas"></param>
|
||||||
|
<param name="isTransaction"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:WMS.Web.Domain.Services.BoxInventoryService.HandlBoxInventory(System.Collections.Generic.List{WMS.Web.Core.Dto.Inventory.BoxInventoryGenerateDto},System.Boolean)">
|
<member name="M:WMS.Web.Domain.Services.BoxInventoryService.HandlBoxInventory(System.Collections.Generic.List{WMS.Web.Core.Dto.Inventory.BoxInventoryGenerateDto},System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
处理箱库存变更:出入库
|
处理箱库存变更:出入库
|
||||||
|
|||||||
@@ -407,8 +407,6 @@ namespace WMS.Web.Domain.Services
|
|||||||
//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();
|
||||||
var boxInventorys = await _boxInventoryRepositories.GetList(boxIds);
|
var boxInventorys = await _boxInventoryRepositories.GetList(boxIds);
|
||||||
var boxs = await _boxRepositories.GetEntityList(boxIds);
|
|
||||||
var serialNumbers = await _serialNumbersRepositories.GetEntityListByBoxIds(boxIds);
|
|
||||||
//3.遍历:dto
|
//3.遍历:dto
|
||||||
foreach (var dto in dtoDatas)
|
foreach (var dto in dtoDatas)
|
||||||
{
|
{
|
||||||
@@ -419,21 +417,15 @@ namespace WMS.Web.Domain.Services
|
|||||||
var ishave = boxInventorys.Where(x => x.BoxId == dto.BoxId).Any();
|
var ishave = boxInventorys.Where(x => x.BoxId == dto.BoxId).Any();
|
||||||
if (ishave)
|
if (ishave)
|
||||||
return Result.ReFailure(ResultCodes.BoxInventoryHaveInventoryError);
|
return Result.ReFailure(ResultCodes.BoxInventoryHaveInventoryError);
|
||||||
//3.1.1取箱信息
|
|
||||||
var box = boxs.Where(x => x.Id == dto.BoxId).FirstOrDefault();
|
|
||||||
if (box == null)
|
|
||||||
return Result.ReFailure(ResultCodes.BoxNoData);
|
|
||||||
//3.1.2去箱对应的序列号信息
|
|
||||||
var box_serialNumbers = serialNumbers.Where(x => x.BoxId == dto.BoxId).Select(x => new { x.MaterialId, x.SerialNumber }).ToList();
|
|
||||||
|
|
||||||
//3.2组装要新增的箱库存信息:箱和明细和序列号
|
//3.2组装要新增的箱库存信息:箱和明细和序列号
|
||||||
var addEntity = _mapper.Map<BoxInventory>(dto);
|
var addEntity = _mapper.Map<BoxInventory>(dto);
|
||||||
addEntity.Details = _mapper.Map<List<BoxInventoryDetails>>(box.Details);
|
addEntity.Details = _mapper.Map<List<BoxInventoryDetails>>(dto.Details);
|
||||||
|
|
||||||
add_entitys.Add(addEntity);
|
add_entitys.Add(addEntity);
|
||||||
|
|
||||||
//4.1即时库存:组装入库
|
//4.1即时库存:组装入库
|
||||||
foreach (var item in box.Details)
|
foreach (var item in dto.Details)
|
||||||
{
|
{
|
||||||
//3.2.2组装即时库存dto
|
//3.2.2组装即时库存dto
|
||||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||||
@@ -527,12 +519,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);
|
||||||
|
|
||||||
//2.获取“箱库存集合”
|
|
||||||
var boxIds = dtoDatas.SelectMany(x => x.Details).GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
|
|
||||||
var boxInventorys = await _boxInventoryRepositories.GetList(boxIds);
|
|
||||||
var boxs = await _boxRepositories.GetEntityList(boxIds);
|
|
||||||
var serialNumbers = await _serialNumbersRepositories.GetEntityListByBoxIds(boxIds);
|
|
||||||
|
|
||||||
var generateDtoList = new List<BoxInventoryBackGenerateDto>();
|
var generateDtoList = new List<BoxInventoryBackGenerateDto>();
|
||||||
|
|
||||||
#region 入库组装
|
#region 入库组装
|
||||||
@@ -618,6 +604,11 @@ namespace WMS.Web.Domain.Services
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<Result> GenerateTakeBox(List<TakeStock> dtoDatas, bool isTransaction)
|
public async Task<Result> GenerateTakeBox(List<TakeStock> dtoDatas, bool isTransaction)
|
||||||
{
|
{
|
||||||
|
//1.判断来源数据是否存在
|
||||||
|
if (dtoDatas == null || dtoDatas.Count == 0)
|
||||||
|
return Result.ReFailure(ResultCodes.InventoryNoSourceError);
|
||||||
|
|
||||||
|
var generateDtoList = new List<BoxInventoryBackGenerateDto>();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -114,12 +114,25 @@ namespace WMS.Web.Repositories
|
|||||||
.SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.boxinvent, box })
|
.SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.boxinvent, box })
|
||||||
.Where(x => 1 == 1 && x.box.BoxBillNo==boxBillNo).Select(x=>x.boxinvent).FirstOrDefaultAsync();
|
.Where(x => 1 == 1 && x.box.BoxBillNo==boxBillNo).Select(x=>x.boxinvent).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var response = _mapper.Map<BoxInventoryResponse>(entity);
|
var response = _mapper.Map<BoxInventoryResponse>(entity);
|
||||||
if (response != null)
|
if (response != null)
|
||||||
{
|
{
|
||||||
|
var serialNumbs = await _context.SerialNumbers.Where(x => x.BoxId == response.BoxId).ToListAsync();
|
||||||
|
|
||||||
response.Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, _loginRepositories.CompanyId, response.StockCode + response.OrgCode);
|
response.Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, _loginRepositories.CompanyId, response.StockCode + response.OrgCode);
|
||||||
response.SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, _loginRepositories.CompanyId, response.SubStockId);
|
response.SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, _loginRepositories.CompanyId, response.SubStockId);
|
||||||
response.Details = _mapper.Map<List<BoxInventoryDetailsResponse>>(entity.Details);
|
response.Details = _mapper.Map<List<BoxInventoryDetailsResponse>>(entity.Details);
|
||||||
|
if (response.Details != null && response.Details.Count != 0)
|
||||||
|
{
|
||||||
|
response.Details.ForEach(x =>
|
||||||
|
{
|
||||||
|
x.SerialNumbers = serialNumbs.Where(x => x.MaterialId == x.MaterialId).Select(x=>x.SerialNumber).ToList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
response.TotalCount = response.Details.Count();
|
response.TotalCount = response.Details.Count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user