优化
This commit is contained in:
@@ -70,12 +70,12 @@ namespace WMS.Web.Domain.Services
|
||||
var targetBoxInventorys = await _boxInventoryRepositories.GetList(targetBoxIds);
|
||||
|
||||
//2.2组合要生成的dto
|
||||
var generateDtos = dtoDatas.GroupBy(x => new { x.SrcBoxId, x.DestBoxId, x.DestStockCode, x.DestSubStockId, x.DestBoxOrgCode }).Select(x => new BoxInventoryChangeGenerateDto()
|
||||
var generateDtos = dtoDatas.GroupBy(x => new { x.SrcBoxId, x.DestBoxId, x.DestStockCode, x.DestSubStockCode, x.DestBoxOrgCode }).Select(x => new BoxInventoryChangeGenerateDto()
|
||||
{
|
||||
BoxId = x.Key.SrcBoxId,
|
||||
TargetBoxId = x.Key.DestBoxId,
|
||||
StockCode = x.Key.DestStockCode,
|
||||
SubStockId = x.Key.DestSubStockId,
|
||||
SubStockCode = x.Key.DestSubStockCode,
|
||||
TargetBoxOrgCode = x.Key.DestBoxOrgCode
|
||||
|
||||
}).ToList();
|
||||
@@ -90,7 +90,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//3.2组装明细
|
||||
var det = new BoxInventoryDetailsChangeGenerateDto();
|
||||
det.MaterialId = item.MaterialId;
|
||||
det.MaterialNumber = item.MaterialNumber;
|
||||
det.Qty = item.Qty;
|
||||
det.SerialNumbers = item.SerialNumbers;
|
||||
x.Details.Add(det);
|
||||
@@ -113,9 +113,9 @@ namespace WMS.Web.Domain.Services
|
||||
if (sour != null)
|
||||
{
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.SrcBoxId, item.MaterialId,
|
||||
item.SrcBoxId, item.MaterialNumber,
|
||||
sour.OrgCode, sour.StockCode,
|
||||
sour.SubStockId, OrderType.ChangeBox,
|
||||
sour.SubStockCode, OrderType.ChangeBox,
|
||||
item.BillNo, item.Qty, InventoryInOutType.Out);
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
}
|
||||
@@ -124,9 +124,9 @@ namespace WMS.Web.Domain.Services
|
||||
if (tagBox != null)
|
||||
{
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.DestBoxId, item.MaterialId,
|
||||
item.DestBoxId, item.MaterialNumber,
|
||||
item.DestBoxOrgCode, item.DestStockCode,
|
||||
item.DestSubStockId, OrderType.ChangeBox,
|
||||
item.DestSubStockCode, OrderType.ChangeBox,
|
||||
item.BillNo, item.Qty, InventoryInOutType.In);
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
}
|
||||
@@ -172,13 +172,13 @@ namespace WMS.Web.Domain.Services
|
||||
generateDto.BoxId = item.BoxId;
|
||||
generateDto.OrgCode = item.OrgCode;
|
||||
generateDto.StockCode = item.StockCode;
|
||||
generateDto.SubStockId = item.Type == MoveBoxType.Up ? item.DestSubStockId : item.SrcSubStockId;
|
||||
generateDto.SubStockCode = item.Type == MoveBoxType.Up ? item.DestSubStockCode : item.SrcSubStockCode;
|
||||
generateDto.InventoryInOutType = item.Type == MoveBoxType.Down ? (int)InventoryInOutType.Out : (int)InventoryInOutType.In;
|
||||
//2.2.2箱库存dto-组装明细
|
||||
foreach (var detItem in item.Details)
|
||||
{
|
||||
var genDetDto = new BoxInventoryMoveDetailsGenerateDto();
|
||||
genDetDto.MaterialId = detItem.MaterialId;
|
||||
genDetDto.MaterialNumber = detItem.MaterialNumber;
|
||||
genDetDto.Qty = detItem.Qty;
|
||||
genDetDto.SerialNumbers = detItem.SerialNumbers;
|
||||
generateDto.Details.Add(genDetDto);
|
||||
@@ -186,7 +186,7 @@ namespace WMS.Web.Domain.Services
|
||||
generateDtoList.Add(generateDto);
|
||||
|
||||
//2.2.2物料收发明dto-组装
|
||||
var SubStockId = item.Type == MoveBoxType.Up ? item.DestSubStockId : item.SrcSubStockId;
|
||||
var SubStockCode = item.Type == MoveBoxType.Up ? item.DestSubStockCode : item.SrcSubStockCode;
|
||||
InventoryInOutType InOutType = item.Type == MoveBoxType.Down ? InventoryInOutType.Out : InventoryInOutType.In;
|
||||
var ishave = boxInventorys.Where(x => x.BoxId == item.BoxId).Any();
|
||||
//上架-箱是不存在库存的情况下,生成物料收发明细
|
||||
@@ -197,9 +197,9 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var boxDet in item.Details)
|
||||
{
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.BoxId, boxDet.MaterialId,
|
||||
item.BoxId, boxDet.MaterialNumber,
|
||||
item.OrgCode, item.StockCode,
|
||||
SubStockId, OrderType.MoveBox,
|
||||
SubStockCode, OrderType.MoveBox,
|
||||
item.BillNo, boxDet.Qty, InOutType);
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
}
|
||||
@@ -246,8 +246,7 @@ namespace WMS.Web.Domain.Services
|
||||
BoxId = x.Key.BoxId,
|
||||
OrgCode = dtoData.OrgCode,
|
||||
StockCode = dtoData.StockCode,
|
||||
SubStockId = dtoData.SubStockId,
|
||||
//InventoryInOutMethod = (int)dtoData.Method,
|
||||
SubStockCode = dtoData.SubStockCode,
|
||||
InventoryInOutType = dtoData.Type == BackRecordType.OutstockOn ? (int)InventoryInOutType.In : (int)InventoryInOutType.Out
|
||||
}).ToList();
|
||||
|
||||
@@ -262,7 +261,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//3.2组装明细
|
||||
var det = new BoxInventoryBackDetailsGenerateDto();
|
||||
det.MaterialId = detItem.MaterialId;
|
||||
det.MaterialNumber = detItem.MaterialNumber;
|
||||
det.Qty = detItem.Qty;
|
||||
det.SerialNumbers = detItem.SerialNumbers;
|
||||
x.Details.Add(det);
|
||||
@@ -278,9 +277,9 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var item in dtoData.Details)
|
||||
{
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.BoxId, item.MaterialId,
|
||||
item.BoxId, item.MaterialNumber,
|
||||
dtoData.OrgCode, dtoData.StockCode,
|
||||
dtoData.SubStockId, OrderType.Back,
|
||||
dtoData.SubStockCode, OrderType.Back,
|
||||
dtoData.BillNo, item.Qty, (dtoData.Type == BackRecordType.InstockOff ? InventoryInOutType.Out : InventoryInOutType.In));
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
}
|
||||
@@ -314,12 +313,12 @@ namespace WMS.Web.Domain.Services
|
||||
var dtoDetails_in = dtoDatas.Where(x => x.ResultType == TakeStockType.Profit).SelectMany(x => x.Details).ToList();
|
||||
|
||||
//2.组装:入库数据
|
||||
var generateDtoList_in = dtoDetails_in.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryTakeGenerateDto()
|
||||
var generateDtoList_in = dtoDetails_in.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockCode }).Select(x => new BoxInventoryTakeGenerateDto()
|
||||
{
|
||||
BoxId = x.Key.BoxId,
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.In
|
||||
}).ToList();
|
||||
|
||||
@@ -333,7 +332,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//3.2组装明细
|
||||
var det = new BoxInventoryTakeDetailsGenerateDto();
|
||||
det.MaterialId = detItem.MaterialId;
|
||||
det.MaterialNumber = detItem.MaterialNumber;
|
||||
det.Qty = detItem.FinalQty;
|
||||
det.SerialNumbers = detItem.SerialNumbers;
|
||||
x.Details.Add(det);
|
||||
@@ -343,12 +342,12 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//3.组装:出库数据
|
||||
var dtoDetails_out = dtoDatas.Where(x => x.ResultType == TakeStockType.Loss).SelectMany(x => x.Details).ToList();
|
||||
var generateDtoList_out = dtoDetails_out.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryTakeGenerateDto()
|
||||
var generateDtoList_out = dtoDetails_out.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockCode }).Select(x => new BoxInventoryTakeGenerateDto()
|
||||
{
|
||||
BoxId = x.Key.BoxId,
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.Out
|
||||
}).ToList();
|
||||
|
||||
@@ -362,7 +361,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//3.2组装明细
|
||||
var det = new BoxInventoryTakeDetailsGenerateDto();
|
||||
det.MaterialId = detItem.MaterialId;
|
||||
det.MaterialNumber = detItem.MaterialNumber;
|
||||
det.Qty = detItem.FinalQty;
|
||||
det.SerialNumbers = detItem.SerialNumbers;
|
||||
x.Details.Add(det);
|
||||
@@ -386,9 +385,9 @@ namespace WMS.Web.Domain.Services
|
||||
if (entity != null)
|
||||
{
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.BoxId, item.MaterialId,
|
||||
item.BoxId, item.MaterialNumber,
|
||||
item.OrgCode, item.StockCode,
|
||||
item.SubStockId, OrderType.Take,
|
||||
item.SubStockCode, OrderType.Take,
|
||||
entity.BillNo, item.FinalQty, (entity.ResultType == TakeStockType.Loss ? InventoryInOutType.Out : InventoryInOutType.In));
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
}
|
||||
@@ -427,7 +426,7 @@ namespace WMS.Web.Domain.Services
|
||||
BoxId = x.Key.BoxId,
|
||||
OrgCode = dtoData.OrgCode,
|
||||
StockCode = dtoData.StockCode,
|
||||
SubStockId = dtoData.SubStockId,
|
||||
SubStockCode = dtoData.SubStockCode,
|
||||
InventoryInOutMethod = (int)dtoData.Method,
|
||||
InventoryInOutType = (int)InventoryInOutType.In
|
||||
}).ToList();
|
||||
@@ -442,7 +441,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//2.2组装明细
|
||||
var det = new BoxInventoryGenerateDetailsDto();
|
||||
det.MaterialId = detItem.MaterialId;
|
||||
det.MaterialNumber = detItem.MaterialNumber;
|
||||
det.Qty = detItem.Qty;
|
||||
det.SerialNumbers = detItem.SerialNumbers;
|
||||
x.Details.Add(det);
|
||||
@@ -459,9 +458,9 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var item in dtoData.Details)
|
||||
{
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.BoxId, item.MaterialId,
|
||||
item.BoxId, item.MaterialNumber,
|
||||
dtoData.OrgCode, dtoData.StockCode,
|
||||
dtoData.SubStockId, InStockTypeConvert(dtoData.Type),
|
||||
dtoData.SubStockCode, InStockTypeConvert(dtoData.Type),
|
||||
item.SourceBillNo, item.Qty, InventoryInOutType.In);
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
|
||||
@@ -523,7 +522,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
x.OrgCode = current_box_invetory.OrgCode;
|
||||
x.StockCode = current_box_invetory.StockCode;
|
||||
x.SubStockId = current_box_invetory.SubStockId;
|
||||
x.SubStockCode = current_box_invetory.SubStockCode;
|
||||
}
|
||||
////3.1先通过中间层的明细的箱明细找到中间层明细的IDS
|
||||
//var current_materialDetails_ids = dtoData.Details.SelectMany(t => t.BoxsDetails).Where(t => t.BoxId == x.BoxId).GroupBy(t => t.DetailId).Select(t => t.Key).ToList();
|
||||
@@ -539,7 +538,7 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//2.2组装明细
|
||||
var det = new BoxInventoryGenerateDetailsDto();
|
||||
det.MaterialId = current_det == null ? 0 : current_det.MaterialId;
|
||||
det.MaterialNumber = current_det == null ? "" : current_det.MaterialNumber;
|
||||
det.Qty = detItem.Qty;
|
||||
det.SerialNumbers = detItem.SerialNumbers;
|
||||
x.Details.Add(det);
|
||||
@@ -564,9 +563,9 @@ namespace WMS.Web.Domain.Services
|
||||
var currentDet = current_materialDetails.Where(x => x.Id == item.DetailId).FirstOrDefault();
|
||||
|
||||
var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto(
|
||||
item.BoxId, currentDet.MaterialId,
|
||||
item.BoxId, currentDet.MaterialNumber,
|
||||
dtoData.OrgCode, dtoData.StockCode,
|
||||
item.SubStockId, OutStockTypeConvert(dtoData.Type),
|
||||
item.SubStockCode, OutStockTypeConvert(dtoData.Type),
|
||||
dtoData.BillNo, item.Qty, InventoryInOutType.Out);
|
||||
InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet);
|
||||
|
||||
@@ -618,7 +617,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var dtoItem in dto.Details)
|
||||
{
|
||||
//2.2.1箱库存:找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题
|
||||
var sour_ChangeDetail = sour_update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault();
|
||||
var sour_ChangeDetail = sour_update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault();
|
||||
if (sour_ChangeDetail == null)
|
||||
return Result.ReFailure(ResultCodes.BoxInventoryNoDataError);
|
||||
//2.2.1箱库存:箱物料的库存数量不足;小于要拿出来的数量
|
||||
@@ -632,10 +631,10 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//2.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = dtoItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = dtoItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = sour_update_entity.OrgCode;
|
||||
inventoryDet.StockCode = sour_update_entity.StockCode;
|
||||
inventoryDet.SubStockId = sour_update_entity.SubStockId;
|
||||
inventoryDet.SubStockCode = sour_update_entity.SubStockCode;
|
||||
inventoryDet.Qty = dtoItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//2.2.2即时库存:修改箱库存的集合
|
||||
@@ -667,33 +666,33 @@ namespace WMS.Web.Domain.Services
|
||||
var tagBox = targetBoxInventorys.Where(x => x.BoxId == dto.TargetBoxId).FirstOrDefault();
|
||||
if (tagBox != null)
|
||||
{
|
||||
var subStockId = tagBox.SubStockId;
|
||||
var subStockCode = tagBox.SubStockCode;
|
||||
var stockCode = tagBox.StockCode;
|
||||
var orgCode = tagBox.OrgCode;
|
||||
|
||||
var tag_update_entity = tagBox;
|
||||
//2.2.1这里为了重新上架,改变仓库和仓位的需求
|
||||
if (!string.IsNullOrEmpty(dto.StockCode) && dto.SubStockId.HasValue)
|
||||
if (!string.IsNullOrEmpty(dto.StockCode) && !string.IsNullOrEmpty(dto.SubStockCode))
|
||||
{
|
||||
//2.2.3.在变更目标箱的-仓库-仓位-组织
|
||||
tag_update_entity.StockCode = dto.StockCode;
|
||||
tag_update_entity.SubStockId = dto.SubStockId.Value;
|
||||
tag_update_entity.SubStockCode = dto.SubStockCode;
|
||||
tag_update_entity.OrgCode = dto.TargetBoxOrgCode;
|
||||
}
|
||||
tag_update_entity.Details = tagBox.Details;
|
||||
|
||||
|
||||
//2.2.2仓位和原来的目标箱的仓位不一致的情况下-》》把目标箱原来仓位的物料进行-即时库存的变更-(减库存)
|
||||
if (subStockId != tag_update_entity.SubStockId)
|
||||
if (subStockCode != tag_update_entity.SubStockCode)
|
||||
{
|
||||
foreach (var item in tag_update_entity.Details)
|
||||
{
|
||||
//2.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = item.MaterialId;
|
||||
inventoryDet.MaterialNumber = item.MaterialNumber;
|
||||
inventoryDet.OrgCode = orgCode;
|
||||
inventoryDet.StockCode = stockCode;
|
||||
inventoryDet.SubStockId = subStockId;
|
||||
inventoryDet.SubStockCode = subStockCode;
|
||||
inventoryDet.Qty = item.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//2.2.2即时库存:修改箱库存的集合
|
||||
@@ -702,10 +701,10 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//2.2.2组装即时库存dto
|
||||
var inventoryDet_i = new InventoryDetailsGenerateDto();
|
||||
inventoryDet_i.MaterialId = item.MaterialId;
|
||||
inventoryDet_i.MaterialNumber = item.MaterialNumber;
|
||||
inventoryDet_i.OrgCode = tag_update_entity.OrgCode;
|
||||
inventoryDet_i.StockCode = tag_update_entity.StockCode;
|
||||
inventoryDet_i.SubStockId = tag_update_entity.SubStockId;
|
||||
inventoryDet_i.SubStockCode = tag_update_entity.SubStockCode;
|
||||
inventoryDet_i.Qty = item.Qty;
|
||||
inventoryDet_i.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//2.2.2即时库存:修改箱库存的集合
|
||||
@@ -717,7 +716,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var item in dto.Details)
|
||||
{
|
||||
//2.2.2找到目标箱对应要改变的物料
|
||||
var tagChangeDetail = tag_update_entity.Details.Where(x => x.MaterialId == item.MaterialId).FirstOrDefault();
|
||||
var tagChangeDetail = tag_update_entity.Details.Where(x => x.MaterialNumber == item.MaterialNumber).FirstOrDefault();
|
||||
if (tagChangeDetail != null)
|
||||
{
|
||||
tagChangeDetail.Qty = tagChangeDetail.Qty + item.Qty;
|
||||
@@ -726,7 +725,7 @@ namespace WMS.Web.Domain.Services
|
||||
else
|
||||
{
|
||||
var newTagChangeDetail = new BoxInventoryDetails();
|
||||
newTagChangeDetail.MaterialId = item.MaterialId;
|
||||
newTagChangeDetail.MaterialNumber = item.MaterialNumber;
|
||||
newTagChangeDetail.Qty = item.Qty;
|
||||
newTagChangeDetail.SerialNumbers = item.SerialNumbers;
|
||||
tag_update_entity.Details.Add(newTagChangeDetail);
|
||||
@@ -734,10 +733,10 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//2.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = item.MaterialId;
|
||||
inventoryDet.MaterialNumber = item.MaterialNumber;
|
||||
inventoryDet.OrgCode = tag_update_entity.OrgCode;
|
||||
inventoryDet.StockCode = tag_update_entity.StockCode;
|
||||
inventoryDet.SubStockId = tag_update_entity.SubStockId;
|
||||
inventoryDet.SubStockCode = tag_update_entity.SubStockCode;
|
||||
inventoryDet.Qty = item.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//2.2.2即时库存:修改箱库存的集合
|
||||
@@ -777,21 +776,21 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
//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()
|
||||
var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.In,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.Out,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
@@ -857,10 +856,10 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = item.MaterialId;
|
||||
inventoryDet.MaterialNumber = item.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = item.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
@@ -889,10 +888,10 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = item.MaterialId;
|
||||
inventoryDet.MaterialNumber = item.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = item.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
@@ -921,21 +920,21 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
//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()
|
||||
var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.In,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.Out,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
@@ -1012,8 +1011,8 @@ namespace WMS.Web.Domain.Services
|
||||
//赋值序列号
|
||||
addEntity.Details.ForEach(x =>
|
||||
{
|
||||
var current_box_mat_serNums = dto.Details.Where(m => m.MaterialId == x.MaterialId).FirstOrDefault();
|
||||
if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialId == x.MaterialId)
|
||||
var current_box_mat_serNums = dto.Details.Where(m => m.MaterialNumber == x.MaterialNumber).FirstOrDefault();
|
||||
if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialNumber == x.MaterialNumber)
|
||||
x.SerialNumbers.AddRange(current_box_mat_serNums.SerialNumbers);
|
||||
});
|
||||
|
||||
@@ -1029,13 +1028,13 @@ namespace WMS.Web.Domain.Services
|
||||
var update_entity = boxInventory;
|
||||
update_entity.OrgCode = dto.OrgCode;
|
||||
update_entity.StockCode = dto.StockCode;
|
||||
update_entity.SubStockId = dto.SubStockId;
|
||||
update_entity.SubStockCode = dto.SubStockCode;
|
||||
update_entity.Details = boxInventory.Details;
|
||||
//3.3遍历dto明细
|
||||
foreach (var dtoItem in dto.Details)
|
||||
{
|
||||
//找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题
|
||||
var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault();
|
||||
var updateDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault();
|
||||
if (updateDetail == null)
|
||||
{
|
||||
var det = _mapper.Map<BoxInventoryDetails>(dtoItem);
|
||||
@@ -1064,8 +1063,8 @@ namespace WMS.Web.Domain.Services
|
||||
//赋值序列号
|
||||
update_entity.Details.ForEach(x =>
|
||||
{
|
||||
var current_box_mat_serNums = dto.Details.Where(m => m.MaterialId == x.MaterialId).FirstOrDefault();
|
||||
if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialId == x.MaterialId)
|
||||
var current_box_mat_serNums = dto.Details.Where(m => m.MaterialNumber == x.MaterialNumber).FirstOrDefault();
|
||||
if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialNumber == x.MaterialNumber)
|
||||
{
|
||||
foreach (var serialitem in current_box_mat_serNums.SerialNumbers)
|
||||
{
|
||||
@@ -1091,10 +1090,10 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = item.MaterialId;
|
||||
inventoryDet.MaterialNumber = item.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = item.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
@@ -1118,7 +1117,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var dtoItem in dto.Details)
|
||||
{
|
||||
//找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题
|
||||
var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault();
|
||||
var updateDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault();
|
||||
if (updateDetail == null)
|
||||
return Result.ReFailure(ResultCodes.BoxInventoryNoDataError);
|
||||
//箱物料的库存数量不足;小于要拿出来的数量
|
||||
@@ -1132,10 +1131,10 @@ namespace WMS.Web.Domain.Services
|
||||
//4.1即时库存:组装出库
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = dtoItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = dtoItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = dtoItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
@@ -1187,21 +1186,21 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
//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()
|
||||
var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.In,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.Out,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
@@ -1259,7 +1258,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
foreach (var detItem in dto.Details)
|
||||
{
|
||||
if (x.MaterialId == detItem.MaterialId)
|
||||
if (x.MaterialNumber == detItem.MaterialNumber)
|
||||
{
|
||||
x.Qty = x.Qty + detItem.Qty;
|
||||
x.SerialNumbers = detItem.SerialNumbers;
|
||||
@@ -1270,7 +1269,7 @@ namespace WMS.Web.Domain.Services
|
||||
//3.4明细添加新的物料
|
||||
foreach (var detItem in dto.Details)
|
||||
{
|
||||
var IsHave_upEnDet = updateEntity.Details.Where(x => x.MaterialId == detItem.MaterialId).Any();
|
||||
var IsHave_upEnDet = updateEntity.Details.Where(x => x.MaterialNumber == detItem.MaterialNumber).Any();
|
||||
if (!IsHave_upEnDet)
|
||||
{
|
||||
var newDet = _mapper.Map<BoxInventoryDetails>(detItem);
|
||||
@@ -1279,10 +1278,10 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = detItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = detItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = detItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
@@ -1311,7 +1310,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
foreach (var detItem in dto.Details)
|
||||
{
|
||||
if (x.MaterialId == detItem.MaterialId)
|
||||
if (x.MaterialNumber == detItem.MaterialNumber)
|
||||
{
|
||||
x.Qty = x.Qty - detItem.Qty;
|
||||
x.SerialNumbers = detItem.SerialNumbers;
|
||||
@@ -1324,10 +1323,10 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = detItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = detItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = detItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//3.2.2即时库存:修改箱库存的集合
|
||||
@@ -1378,21 +1377,21 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//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()
|
||||
var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.In,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.Out,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
@@ -1431,7 +1430,7 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
item.Details.ForEach(x =>
|
||||
{
|
||||
var current_sers_info = out_SerialNumbers.Where(o => o.BoxId == item.BoxId && o.MaterialId == x.MaterialId).ToList();
|
||||
var current_sers_info = out_SerialNumbers.Where(o => o.BoxId == item.BoxId && o.MaterialNumber == x.MaterialNumber).ToList();
|
||||
if (current_sers_info != null && current_sers_info.Count != 0)
|
||||
{
|
||||
x.Qty = x.Qty - current_sers_info.Count;
|
||||
@@ -1440,10 +1439,10 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//3.2.2组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = x.MaterialId;
|
||||
inventoryDet.MaterialNumber = x.MaterialNumber;
|
||||
inventoryDet.OrgCode = item.OrgCode;
|
||||
inventoryDet.StockCode = item.StockCode;
|
||||
inventoryDet.SubStockId = item.SubStockId;
|
||||
inventoryDet.SubStockCode = item.SubStockCode;
|
||||
inventoryDet.Qty = current_sers_info.Count;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//3.2.2即时库存:修改的集合
|
||||
@@ -1533,9 +1532,9 @@ namespace WMS.Web.Domain.Services
|
||||
var addEntity = _mapper.Map<BoxInventory>(dto);
|
||||
|
||||
//3.3要合并下相同的物料
|
||||
var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialId }).Select(d => new BoxInventoryGenerateDetailsDto
|
||||
var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialNumber }).Select(d => new BoxInventoryGenerateDetailsDto
|
||||
{
|
||||
MaterialId = d.Key.MaterialId,
|
||||
MaterialNumber = d.Key.MaterialNumber,
|
||||
Qty = d.Sum(t => t.Qty),
|
||||
SerialNumbers = d.SelectMany(t => t.SerialNumbers).ToList()
|
||||
}).ToList();
|
||||
@@ -1551,10 +1550,10 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//4.1组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = detItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = detItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId ?? 0;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = detItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//4.2即时库存:修改箱库存的集合
|
||||
@@ -1572,9 +1571,9 @@ namespace WMS.Web.Domain.Services
|
||||
//3.2组装要新增的箱库存信息:箱和明细和序列号
|
||||
var addEntity = _mapper.Map<BoxInventory>(dto);
|
||||
//3.3要合并下相同的物料
|
||||
var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialId }).Select(d => new BoxInventoryGenerateDetailsDto
|
||||
var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialNumber }).Select(d => new BoxInventoryGenerateDetailsDto
|
||||
{
|
||||
MaterialId = d.Key.MaterialId,
|
||||
MaterialNumber = d.Key.MaterialNumber,
|
||||
Qty = d.Sum(t => t.Qty),
|
||||
SerialNumbers = d.SelectMany(t => t.SerialNumbers).ToList()
|
||||
}).ToList();
|
||||
@@ -1590,10 +1589,10 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//4.1组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = dtoItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = dtoItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId ?? 0;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = dtoItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//4.2即时库存:修改箱库存的集合
|
||||
@@ -1609,11 +1608,11 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//明细对应的物料:存在就修改,不存在即新增
|
||||
var update_entity_det = new BoxInventoryDetails();
|
||||
var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault();
|
||||
var updateDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault();
|
||||
if (updateDetail == null)
|
||||
{
|
||||
update_entity_det.Qty = dtoItem.Qty;
|
||||
update_entity_det.MaterialId = dtoItem.MaterialId;
|
||||
update_entity_det.MaterialNumber = dtoItem.MaterialNumber;
|
||||
update_entity_det.SerialNumbers = dtoItem.SerialNumbers;
|
||||
update_entity.Details.Add(update_entity_det);
|
||||
}
|
||||
@@ -1625,10 +1624,10 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//4.1组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = dtoItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = dtoItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId ?? 0;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = dtoItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.In;
|
||||
//4.2即时库存:修改箱库存的集合
|
||||
@@ -1660,21 +1659,21 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
//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()
|
||||
var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.In,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.Out,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
@@ -1735,10 +1734,10 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//4.1组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = detItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = detItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId ?? 0;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = detItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//4.2即时库存:修改箱库存的集合
|
||||
@@ -1756,7 +1755,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var dtoItem in dto.Details)
|
||||
{
|
||||
//3.3.找到当前明细物料:没有则返回失败;提示:“该箱物料库存不存在”
|
||||
var update_entityDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault();
|
||||
var update_entityDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault();
|
||||
if (update_entityDetail == null)
|
||||
return Result.ReFailure(ResultCodes.BoxInventoryMaterialNoDataError);
|
||||
//3.4判断库存数量是否不足
|
||||
@@ -1770,10 +1769,10 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
//4.1组装即时库存dto
|
||||
var inventoryDet = new InventoryDetailsGenerateDto();
|
||||
inventoryDet.MaterialId = dtoItem.MaterialId;
|
||||
inventoryDet.MaterialNumber = dtoItem.MaterialNumber;
|
||||
inventoryDet.OrgCode = dto.OrgCode;
|
||||
inventoryDet.StockCode = dto.StockCode;
|
||||
inventoryDet.SubStockId = dto.SubStockId ?? 0;
|
||||
inventoryDet.SubStockCode = dto.SubStockCode;
|
||||
inventoryDet.Qty = dtoItem.Qty;
|
||||
inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out;
|
||||
//4.2即时库存:修改箱库存的集合
|
||||
@@ -1817,12 +1816,12 @@ namespace WMS.Web.Domain.Services
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
}
|
||||
//5.即时库存:变更处理
|
||||
var invDetGenDtos = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
|
||||
var invDetGenDtos = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto()
|
||||
{
|
||||
OrgCode = x.Key.OrgCode,
|
||||
StockCode = x.Key.StockCode,
|
||||
MaterialId = x.Key.MaterialId,
|
||||
SubStockId = x.Key.SubStockId,
|
||||
MaterialNumber = x.Key.MaterialNumber,
|
||||
SubStockCode = x.Key.SubStockCode,
|
||||
InventoryInOutType = (int)InventoryInOutType.Out,
|
||||
Qty = x.Sum(t => t.Qty)
|
||||
}).ToList();
|
||||
@@ -2004,7 +2003,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var dtoItem in dto.Details)
|
||||
{
|
||||
//3.3.找到当前明细物料:没有则返回失败;提示:“该箱物料库存不存在”
|
||||
var update_entityDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault();
|
||||
var update_entityDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault();
|
||||
if (update_entityDetail == null)
|
||||
return Result.ReFailure(ResultCodes.BoxInventoryMaterialNoDataError);
|
||||
//3.4判断库存数量是否不足
|
||||
@@ -2073,11 +2072,11 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//明细对应的物料:存在就修改,不存在即新增
|
||||
var update_entity_det = new BoxInventoryDetails();
|
||||
var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault();
|
||||
var updateDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault();
|
||||
if (updateDetail == null)
|
||||
{
|
||||
update_entity_det.Qty = dtoItem.Qty;
|
||||
update_entity_det.MaterialId = dtoItem.MaterialId;
|
||||
update_entity_det.MaterialNumber = dtoItem.MaterialNumber;
|
||||
update_entity_det.SerialNumbers = dtoItem.SerialNumbers;
|
||||
update_entity.Details.Add(update_entity_det);
|
||||
}
|
||||
@@ -2108,8 +2107,8 @@ namespace WMS.Web.Domain.Services
|
||||
invDto.OrgCode = dto.OrgCode;
|
||||
invDto.InventoryInOutType = dto.InventoryInOutType;
|
||||
invDto.StockCode = dto.StockCode;
|
||||
invDto.SubStockId = dto.SubStockId ?? 0;
|
||||
invDto.MaterialId = dtoDet.MaterialId;
|
||||
invDto.SubStockCode = dto.SubStockCode;
|
||||
invDto.MaterialNumber = dtoDet.MaterialNumber;
|
||||
invDto.Qty = dtoDet.Qty;
|
||||
invDtos.Add(invDto);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user