From f54b7815d8451f362554e3d2d09b4991ce13d4ff Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 12 十一月 2025 09:01:16 +0800
Subject: [PATCH] 前端优化,PDA更新,分配库存优化

---
 项目代码/WMS/WMSServices/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs |  112 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 54 insertions(+), 58 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs"
index adf306a..b3888a8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs"
@@ -16,78 +16,74 @@
 {
     public partial class StockQuantityChangeRecordService : ServiceBase<Dt_StockQuantityChangeRecord, IStockQuantityChangeRecordRepository>, IStockQuantityChangeRecordService
     {
-        public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> stockInfoDetails, float beforeQuantity, float totalQuantity, StockChangeTypeEnum changeType, int? taskNum = null)
+        /// <summary>
+        /// 鍗锋枡鍙樺姩搴撳瓨璁板綍
+        /// </summary>
+        /// <param name="stockInfo">搴撳瓨</param>
+        /// <param name="beforeQuantity">鍙樺姩鍓嶅簱瀛�</param>
+        /// <param name="changeQuantity">鍙樺姩搴撳瓨</param>
+        /// <param name="changeType">鍙樺姩绫诲瀷</param>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <param name="orderNo">鍗曟嵁缂栧彿</param>
+        /// <exception cref="Exception"></exception>
+        public void AddStockChangeRecord(Dt_StockInfo stockInfo, decimal beforeQuantity, decimal changeQuantity, StockChangeTypeEnum changeType, int? taskNum = 0,string orderNo="")
         {
             try
             {
-                List<Dt_StockQuantityChangeRecord> stockQuantityChangeRecords = new List<Dt_StockQuantityChangeRecord>();
-                stockQuantityChangeRecords = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(stockInfoDetails);
-                int index = 0;
-                float currentQuantity = 0;
-                stockQuantityChangeRecords.ForEach(x =>
+                Dt_StockQuantityChangeRecord stockQuantityChangeRecord = new Dt_StockQuantityChangeRecord()
                 {
-                    x.PalleCode = stockInfo.PalletCode;
-                    x.BeforeQuantity = beforeQuantity;
-                    if (totalQuantity >= beforeQuantity)
-                    {
-                        x.ChangeQuantity = stockInfoDetails[index].StockQuantity;
-                        currentQuantity += stockInfoDetails[index].StockQuantity;
-                        x.AfterQuantity = stockInfoDetails[index].StockQuantity + beforeQuantity;
-                    }
-                    else
-                    {
-                        x.ChangeQuantity = -stockInfoDetails[index].StockQuantity;
-                        currentQuantity -= stockInfoDetails[index].StockQuantity;
-                        x.AfterQuantity = beforeQuantity - stockInfoDetails[index].StockQuantity;
-                    }
-
-                    x.ChangeType = changeType.ObjToInt();
-                    beforeQuantity += x.ChangeQuantity;
-                    x.TaskNum = taskNum;
-                    index++;
-                });
-                BaseDal.AddData(stockQuantityChangeRecords);
+                    StockId = stockInfo.Id,
+                    PalleCode = stockInfo.PalletCode,
+                    MaterielCode=stockInfo.MaterielCode,
+                    MaterielName=stockInfo.MaterielName,
+                    BatchNo = "",
+                    SerilNumber=$"{stockInfo.Id}",
+                    OrderNo = orderNo,
+                    TaskNum= taskNum,
+                    ChangeType=changeType.ObjToInt(),
+                    ChangeQuantity=changeQuantity,
+                    BeforeQuantity=beforeQuantity,
+                    AfterQuantity=beforeQuantity+changeQuantity,
+                    Creater="System"
+                };
+                BaseDal.AddData(stockQuantityChangeRecord);
             }
             catch (Exception ex)
             {
                 throw new Exception(ex.Message);
             }
         }
-
-        public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> residueDetailList, List<Dt_StockInfoDetail> updateDetails, List<Dt_StockInfoDetail> deleteDetails, StockChangeTypeEnum changeType, int? taskNum = null)
+        /// <summary>
+        /// 鎴愬搧杈呮枡搴撳瓨璁板綍
+        /// </summary>
+        /// <param name="proStockInfo">搴撳瓨</param>
+        /// <param name="beforeQuantity">鍙樺姩鍓嶅簱瀛�</param>
+        /// <param name="changeQuantity">鍙樺姩搴撳瓨</param>
+        /// <param name="changeType">鍙樺姩绫诲瀷</param>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <param name="orderNo"></param>
+        /// <exception cref="Exception"></exception>
+        public void AddStockChangeRecord(Dt_ProStockInfo proStockInfo, decimal beforeQuantity, decimal changeQuantity, StockChangeTypeEnum changeType, int? taskNum = null, string orderNo = "")
         {
             try
             {
-                List<Dt_StockQuantityChangeRecord> stockQuantityChangeRecords = new List<Dt_StockQuantityChangeRecord>();
-
-                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 =>
+                Dt_StockQuantityChangeRecord stockQuantityChangeRecord = new Dt_StockQuantityChangeRecord()
                 {
-                    x.PalleCode = stockInfo.PalletCode;
-                    x.BeforeQuantity = beforeQuantity;
-                    x.ChangeQuantity = -updateDetails[index1].OutboundQuantity;
-                    x.AfterQuantity = beforeQuantity + x.ChangeQuantity;
-                    beforeQuantity -= updateDetails[index1].OutboundQuantity;
-                    index1++;
-                });
-                stockQuantityChangeRecords.AddRange(records1);
-                int index2 = 0;
-                List<Dt_StockQuantityChangeRecord> records2 = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(deleteDetails);
-                records2.ForEach(x =>
-                {
-                    x.PalleCode = stockInfo.PalletCode;
-                    x.BeforeQuantity = beforeQuantity;
-                    x.ChangeQuantity = -deleteDetails[index2].StockQuantity;
-                    x.AfterQuantity = beforeQuantity + x.ChangeQuantity;
-                    beforeQuantity -= deleteDetails[index2].StockQuantity;
-                    index2++;
-                });
-                stockQuantityChangeRecords.AddRange(records2);
-
-                BaseDal.AddData(stockQuantityChangeRecords);
+                    StockId = proStockInfo.Id,
+                    PalleCode = proStockInfo.PalletCode,
+                    MaterielCode = proStockInfo.proStockInfoDetails?.FirstOrDefault()?.ProductCode ?? "",
+                    MaterielName = proStockInfo.proStockInfoDetails?.FirstOrDefault()?.ProductName ?? "",
+                    BatchNo = "",
+                    SerilNumber = $"{proStockInfo.Id}",
+                    OrderNo = orderNo,
+                    TaskNum = taskNum,
+                    ChangeType = changeType.ObjToInt(),
+                    ChangeQuantity = changeQuantity,
+                    BeforeQuantity = beforeQuantity,
+                    AfterQuantity = beforeQuantity + changeQuantity,
+                    Creater = "System"
+                };
+                BaseDal.AddData(stockQuantityChangeRecord);
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.3