diff --git a/src/WMS.Web.Api/appsettings.json b/src/WMS.Web.Api/appsettings.json index 4edc3cf5..435b0894 100644 --- a/src/WMS.Web.Api/appsettings.json +++ b/src/WMS.Web.Api/appsettings.json @@ -95,7 +95,7 @@ "JobStartMinute": [ 30, 39, 30, 20, 5, 5 ], //执行Cron表达式:可以是几小时or几分钟or几秒钟or几天or几周; - "JobStartExpre": "0 0/1 * * * ?", + "JobStartExpre": "0 0/50 * * * ?", "JobStartExpreAmount": "0 50 23 * * ?", //a.是否启用集群:键和值 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index ef9135d6..59396a1f 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -3491,7 +3491,7 @@ 鏀圭 绉荤鏈嶅姟 - + 鏀圭淇濆瓨 diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs index f58209bd..7a0d61d3 100644 --- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs +++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs @@ -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(); + 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(); + 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(); + 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(); + 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(); + 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(); + invDetGenDtos.AddRange(invDetGenDtos_in); + invDetGenDtos.AddRange(invDetGenDtos_out); if (invDetGenDtos.Count != 0) { var inventoryDetails_result = await _inventoryDetailsService.GenerateInventoryDetails(invDetGenDtos, isTransaction);