From 695571c6009ecbc12e7d4a4fb147df7967a1260e Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 07 七月 2025 20:21:19 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs | 61 ++++++++++++++++++++++++++----
1 files changed, 52 insertions(+), 9 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 8f2f430..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"
@@ -4,6 +4,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.StockEnum;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
@@ -15,19 +16,19 @@
{
public partial class StockQuantityChangeRecordService : ServiceBase<Dt_StockQuantityChangeRecord, IStockQuantityChangeRecordRepository>, IStockQuantityChangeRecordService
{
- public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> stockInfoDetails, decimal beforeQuantity, decimal totalQuantity, StockChangeType changeType,int taskNum)
+ public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> stockInfoDetails, float beforeQuantity, float totalQuantity, StockChangeTypeEnum changeType, int? taskNum = null)
{
- try
- {
+ try
+ {
List<Dt_StockQuantityChangeRecord> stockQuantityChangeRecords = new List<Dt_StockQuantityChangeRecord>();
stockQuantityChangeRecords = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(stockInfoDetails);
int index = 0;
- decimal currentQuantity = 0;
+ float currentQuantity = 0;
stockQuantityChangeRecords.ForEach(x =>
{
x.PalleCode = stockInfo.PalletCode;
x.BeforeQuantity = beforeQuantity;
- if (totalQuantity > beforeQuantity)
+ if (totalQuantity >= beforeQuantity)
{
x.ChangeQuantity = stockInfoDetails[index].StockQuantity;
currentQuantity += stockInfoDetails[index].StockQuantity;
@@ -43,13 +44,55 @@
x.ChangeType = changeType.ObjToInt();
beforeQuantity += x.ChangeQuantity;
x.TaskNum = taskNum;
+ index++;
});
BaseDal.AddData(stockQuantityChangeRecords);
}
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
+ 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)
+ {
+ 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 =>
+ {
+ 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);
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
}
}
}
--
Gitblit v1.9.3