From 9be8d6e3232971246ec6cb2acac1ad4d05798e9b Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期六, 11 一月 2025 10:54:37 +0800
Subject: [PATCH] 1

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs"
index 685992d..adf306a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs"
@@ -54,7 +54,7 @@
             }
         }
 
-        public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> updateDetails, List<Dt_StockInfoDetail> deleteDetails, StockChangeTypeEnum changeType, int? taskNum = null)
+        public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> residueDetailList, List<Dt_StockInfoDetail> updateDetails, List<Dt_StockInfoDetail> deleteDetails, StockChangeTypeEnum changeType, int? taskNum = null)
         {
             try
             {
@@ -62,12 +62,15 @@
 
                 int index1 = 0;
                 List<Dt_StockQuantityChangeRecord> records1 = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(updateDetails);
+                float beforeQuantity = updateDetails.Sum(x => x.OutboundQuantity + x.StockQuantity) + deleteDetails.Sum(x => x.StockQuantity) + residueDetailList.Sum(x => x.StockQuantity);
+
                 records1.ForEach(x =>
                 {
                     x.PalleCode = stockInfo.PalletCode;
-                    x.BeforeQuantity = deleteDetails[index1].StockQuantity + deleteDetails[index1].OutboundQuantity;
-                    x.ChangeQuantity = -deleteDetails[index1].OutboundQuantity;
-                    x.AfterQuantity = deleteDetails[index1].StockQuantity;
+                    x.BeforeQuantity = beforeQuantity;
+                    x.ChangeQuantity = -updateDetails[index1].OutboundQuantity;
+                    x.AfterQuantity = beforeQuantity + x.ChangeQuantity;
+                    beforeQuantity -= updateDetails[index1].OutboundQuantity;
                     index1++;
                 });
                 stockQuantityChangeRecords.AddRange(records1);
@@ -76,9 +79,10 @@
                 records2.ForEach(x =>
                 {
                     x.PalleCode = stockInfo.PalletCode;
-                    x.BeforeQuantity = deleteDetails[index2].StockQuantity;
+                    x.BeforeQuantity = beforeQuantity;
                     x.ChangeQuantity = -deleteDetails[index2].StockQuantity;
-                    x.AfterQuantity = 0;
+                    x.AfterQuantity = beforeQuantity + x.ChangeQuantity;
+                    beforeQuantity -= deleteDetails[index2].StockQuantity;
                     index2++;
                 });
                 stockQuantityChangeRecords.AddRange(records2);

--
Gitblit v1.9.3