From 7354151f37391cc27462bc9d787c79f624f6e50e Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期五, 09 一月 2026 11:41:09 +0800
Subject: [PATCH] 盘点,单位转换优化
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs | 27 ++++++++++++++++++---------
1 files changed, 18 insertions(+), 9 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs"
index edcb58a..6adef6d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs"
@@ -19,6 +19,7 @@
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.CodeConfigEnum;
using WIDESEA_Core.Helper;
+using WIDESEA_DTO.Base;
using WIDESEA_DTO.Basic;
using WIDESEA_DTO.CalcOut;
using WIDESEA_DTO.ReturnMES;
@@ -1063,18 +1064,23 @@
List<Dt_StockInfoDetail> stockInfoDetails = stockInfo.Details.Where((x => x.StockQuantity > x.OutboundQuantity)).ToList();
decimal itemQuantity = item.LockQuantity - item.OverOutQuantity;
-
+ decimal unitbarcodeQuantity;
foreach (var stockDetail in stockInfoDetails)
{
+
+
if (itemQuantity >= stockDetail.StockQuantity - stockDetail.OutboundQuantity)
{
+ unitbarcodeQuantity = stockDetail.StockQuantity - stockDetail.OutboundQuantity;
+ UnitConvertResultDTO currentResult = _basicService.UnitQuantityConvert(item.MaterielCode, item.Unit, item.BarcodeUnit, unitbarcodeQuantity);
+
Barcodes barcodes = new Barcodes
{
Barcode = stockDetail.Barcode,
- Qty = stockDetail.StockQuantity - stockDetail.OutboundQuantity,
+ Qty = currentResult.ToQuantity,
SupplyCode = stockDetail?.SupplyCode ?? "",
BatchNo = stockDetail?.BatchNo ?? "",
- Unit = stockDetail?.Unit ?? ""
+ Unit = currentResult.ToUnit ?? ""
};
itemQuantity -= (stockDetail.StockQuantity - stockDetail.OutboundQuantity);
@@ -1085,13 +1091,14 @@
}
else
{
+ UnitConvertResultDTO currentResult = _basicService.UnitQuantityConvert(item.MaterielCode, item.Unit, item.BarcodeUnit, itemQuantity);
Barcodes barcodes = new Barcodes
{
Barcode = stockDetail.Barcode,
- Qty = itemQuantity,
+ Qty = currentResult.ToQuantity,
SupplyCode = stockDetail?.SupplyCode ?? "",
BatchNo = stockDetail?.BatchNo ?? "",
- Unit = stockDetail?.Unit ?? ""
+ Unit = currentResult.ToUnit ?? ""
};
stockDetail.OutboundQuantity += itemQuantity;
barcodesList.Add(barcodes);
@@ -1478,13 +1485,15 @@
updateDetails.Add(item);
List<Barcodes> barcodesList = new List<Barcodes>();
+ UnitConvertResultDTO currentResult = _basicService.UnitQuantityConvert(item.MaterielCode, item.Unit, item.BarcodeUnit, barcodeQuantity);
+
Barcodes barcodes = new Barcodes
{
Barcode = isUnpacked ? newBarcode : stockDetail?.Barcode,
- Qty = barcodeQuantity,
+ Qty = currentResult.ToQuantity,
SupplyCode = stockDetail?.SupplyCode ?? "",
BatchNo = stockDetail?.BatchNo ?? "",
- Unit = stockDetail?.Unit ?? ""
+ Unit = currentResult.ToUnit ?? ""
};
if (!string.IsNullOrEmpty(item.ReturnJsonData))
{
@@ -1640,7 +1649,7 @@
/// <param name="beforeQuantity"></param>
/// <param name="taskNum"></param>
/// <returns></returns>
- private (string NewBarcode, List<MaterialCodeReturnDTO> MaterialCodeReturnDTOs) PerformUnpackOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
+ public (string NewBarcode, List<MaterialCodeReturnDTO> MaterialCodeReturnDTOs) PerformUnpackOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
decimal actualOutboundQuantity, OutboundCompleteRequestDTO request, decimal beforeQuantity, int taskNum, int orderId, string orderNo)
{
string newBarcode = GenerateNewBarcode();
@@ -1718,7 +1727,7 @@
/// <summary>
/// 鎵ц瀹屾暣鍑哄簱鎿嶄綔锛堜笉鎷嗗寘锛�
/// </summary>
- private void PerformFullOutboundOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
+ public void PerformFullOutboundOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
decimal actualOutboundQuantity, OutboundCompleteRequestDTO request, decimal beforeQuantity, int taskNum)
{
// 淇濆瓨搴撳瓨鏄庣粏鍒板巻鍙茶褰�
--
Gitblit v1.9.3