即时库存的优化

This commit is contained in:
tongfei
2023-11-29 10:24:57 +08:00
parent 1acfcf71b1
commit e866fe8845
3 changed files with 98 additions and 13 deletions

View File

@@ -95,7 +95,7 @@
"JobStartMinute": [ 30, 39, 30, 20, 5, 5 ],
//ִ<><D6B4>Cron<6F><6E><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>Сʱor<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>or<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>or<6F><72><EFBFBD><EFBFBD>or<6F><72><EFBFBD>ܣ<EFBFBD>
"JobStartExpre": "0 0/1 * * * ?",
"JobStartExpre": "0 0/50 * * * ?",
"JobStartExpreAmount": "0 50 23 * * ?",
//a.<2E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ü<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ

View File

@@ -3491,7 +3491,7 @@
<member name="T:WMS.Web.Domain.Services.ChangeMoveBoxService">
改箱 移箱服务
</member>
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.ChangeBoxSave(System.Collections.Generic.List{WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean)">
<member name="M:WMS.Web.Domain.Services.ChangeMoveBoxService.ChangeBoxSave(System.Collections.Generic.List{WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest},WMS.Web.Core.Dto.Login.LoginInDto,System.Boolean,System.Boolean)">
<summary>
改箱保存
</summary>

View File

@@ -750,14 +750,28 @@ namespace WMS.Web.Domain.Services
}
//5.即时库存:变更
//5.1先合并相同的数据
var invDetGenDtos = InventoryDetailsGenerateDto.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.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
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()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
InventoryInOutType = (int)InventoryInOutType.Out,
Qty = x.Sum(t => t.Qty)
}).ToList();
var invDetGenDtos = new List<InventoryDetailsGenerateDto>();
invDetGenDtos.AddRange(invDetGenDtos_in);
invDetGenDtos.AddRange(invDetGenDtos_out);
if (invDetGenDtos.Count != 0)
{
var InventoryDetailsGenerate_result = await _inventoryDetailsService.GenerateInventoryDetails(invDetGenDtos, isTransaction);
@@ -881,14 +895,29 @@ namespace WMS.Web.Domain.Services
}
//5.即时库存:处理
//5.1先合并相同的数据
var invDetGenDtos = InventoryDetailsGenerateDto.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.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
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()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
InventoryInOutType = (int)InventoryInOutType.Out,
Qty = x.Sum(t => t.Qty)
}).ToList();
var invDetGenDtos=new List<InventoryDetailsGenerateDto>();
invDetGenDtos.AddRange(invDetGenDtos_in);
invDetGenDtos.AddRange(invDetGenDtos_out);
if (invDetGenDtos.Count != 0)
{
var InventoryDetailsGenerate_result = await _inventoryDetailsService.GenerateInventoryDetails(invDetGenDtos, isTransaction);
@@ -1034,14 +1063,28 @@ namespace WMS.Web.Domain.Services
}
//5.即时库存:处理
//5.1先合并相同的数据
var invDetGenDtos = InventoryDetailsGenerateDto.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.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
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()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
InventoryInOutType = (int)InventoryInOutType.Out,
Qty = x.Sum(t => t.Qty)
}).ToList();
var invDetGenDtos = new List<InventoryDetailsGenerateDto>();
invDetGenDtos.AddRange(invDetGenDtos_in);
invDetGenDtos.AddRange(invDetGenDtos_out);
if (invDetGenDtos.Count != 0)
{
var InventoryDetailsGenerate_result = await _inventoryDetailsService.GenerateInventoryDetails(invDetGenDtos, isTransaction);
@@ -1170,14 +1213,28 @@ namespace WMS.Web.Domain.Services
}
//5.即时库存:处理
//5.1先合并相同的数据
var invDetGenDtos = InventoryDetailsGenerateDto.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.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
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()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
InventoryInOutType = (int)InventoryInOutType.Out,
Qty = x.Sum(t => t.Qty)
}).ToList();
var invDetGenDtos = new List<InventoryDetailsGenerateDto>();
invDetGenDtos.AddRange(invDetGenDtos_in);
invDetGenDtos.AddRange(invDetGenDtos_out);
if (invDetGenDtos.Count != 0)
{
var InventoryDetailsGenerate_result = await _inventoryDetailsService.GenerateInventoryDetails(invDetGenDtos, isTransaction);
@@ -1319,14 +1376,28 @@ namespace WMS.Web.Domain.Services
}
//5.即时库存:处理
//5.1先合并相同的数据
var invDetGenDtos= InventoryDetailsGenerateDto.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.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
{
OrgCode=x.Key.OrgCode,
StockCode=x.Key.StockCode,
MaterialId=x.Key.MaterialId,
SubStockId=x.Key.SubStockId,
Qty=x.Sum(t=>t.Qty)
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
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()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
InventoryInOutType = (int)InventoryInOutType.Out,
Qty = x.Sum(t => t.Qty)
}).ToList();
var invDetGenDtos = new List<InventoryDetailsGenerateDto>();
invDetGenDtos.AddRange(invDetGenDtos_in);
invDetGenDtos.AddRange(invDetGenDtos_out);
if (invDetGenDtos.Count != 0)
{
var InventoryDetailsGenerate_result = await _inventoryDetailsService.GenerateInventoryDetails(invDetGenDtos, isTransaction);
@@ -1446,14 +1517,28 @@ namespace WMS.Web.Domain.Services
}
//5.即时库存:变更处理
//5.1先合并相同的数据
var invDetGenDtos = InventoryDetailsGenerateDto.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.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
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()
{
OrgCode = x.Key.OrgCode,
StockCode = x.Key.StockCode,
MaterialId = x.Key.MaterialId,
SubStockId = x.Key.SubStockId,
InventoryInOutType = (int)InventoryInOutType.Out,
Qty = x.Sum(t => t.Qty)
}).ToList();
var invDetGenDtos = new List<InventoryDetailsGenerateDto>();
invDetGenDtos.AddRange(invDetGenDtos_in);
invDetGenDtos.AddRange(invDetGenDtos_out);
if (invDetGenDtos.Count != 0)
{
var inventoryDetails_result = await _inventoryDetailsService.GenerateInventoryDetails(invDetGenDtos, isTransaction);