diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceSerialDto.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceSerialDto.cs
index 3b524b101..1d31d0782 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceSerialDto.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/Balances/DTOs/BalanceSerialDto.cs
@@ -17,6 +17,22 @@ public class ReportItemSerialDto
public string Configuration { get; set; }
+ public decimal FirstQty { get; set; }
+
+ public decimal SumInQty { get; set; }
+
+ public decimal SumOutQty { get; set; }
+
+ ///
+ /// 此时此刻的库存
+ ///
+ public decimal NowQty { get; set; }
+
+ ///
+ /// 期末库存 期初+入库-出库
+ ///
+ public decimal LastQty { get; set; }
+
public List ReportErpLocationSerialDtos { get; set; } = new();
}
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs
index 43b0c5a74..1ff0c197d 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Transactions/TransactionAppService.cs
@@ -130,7 +130,7 @@ public class TransactionAppService
///
///
[HttpPost("item-serial-list")]
- public virtual async Task> GetItemSerialList(List itemCodes,DateTime startDateTime,DateTime endDateTime)
+ public virtual async Task> GetItemSerialList(List itemCodes,string erpLocationCode,DateTime startDateTime,DateTime endDateTime)
{
var itemSerialDtos = new List();
foreach (var itemCode in itemCodes)
@@ -151,6 +151,10 @@ public class TransactionAppService
//所有这个零件的事务
var transactions=await _repository.GetListAsync(p => p.ItemCode == itemCode).ConfigureAwait(false);
+ if (string.IsNullOrEmpty(erpLocationCode))
+ {
+ transactions = transactions.Where(p => p.LocationErpCode == erpLocationCode).ToList();
+ }
var locationDtos=await _locationAppService.GetAllAsync().ConfigureAwait(false);
var groupKey= locationDtos.GroupBy(p => p.ErpLocationCode);
@@ -240,6 +244,12 @@ public class TransactionAppService
itemSerialDto.ReportErpLocationSerialDtos.Add(reportErpLocationSerialDto);
}
+ itemSerialDto.FirstQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.FirstQty);
+ itemSerialDto.NowQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.NowQty);
+ itemSerialDto.LastQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.LastQty);
+ itemSerialDto.SumOutQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.SumOutQty);
+ itemSerialDto.SumInQty = itemSerialDto.ReportErpLocationSerialDtos.Sum(p => p.SumInQty);
+
itemSerialDtos.Add(itemSerialDto);
}