From e866fe8845994d77eaf6e20111066743fe431d1f Mon Sep 17 00:00:00 2001
From: tongfei <244188119@qq.com>
Date: Wed, 29 Nov 2023 10:24:57 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=B3=E6=97=B6=E5=BA=93=E5=AD=98=E7=9A=84?=
=?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/appsettings.json | 2 +-
src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 2 +-
.../Services/BoxInventoryService.cs | 107 ++++++++++++++++--
3 files changed, 98 insertions(+), 13 deletions(-)
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);