From f34f0751ef0c6305c94ff342ca7fbe24aa09844e Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期四, 18 十二月 2025 14:48:31 +0800
Subject: [PATCH] 111
---
StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs | 63 +++++++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs b/StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs
index 038c2ac..5fb2d0b 100644
--- a/StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs
+++ b/StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs
@@ -94,4 +94,67 @@
return query.ToList();
}
+
+ /// <summary>
+ /// 鍒涘缓閿�鍞鍗曞彂璐�
+ /// </summary>
+ /// <param name="request">鍙戣揣璇锋眰鍙傛暟</param>
+ /// <returns></returns>
+ public int CreateSalesOrderShipping(CreateSalesOrderShippingRequestDto request)
+ {
+ //楠岃瘉request.PalletIds鏄惁涓虹┖
+ if (request.PalletIds == null || !request.PalletIds.Any())
+ {
+ throw new Exception("閿�鍞墭鐩業D鍒楄〃涓嶈兘涓虹┖");
+ }
+
+ //璋冪敤GetSalesPalletDetail鏂规硶鎷垮埌杩斿洖鍊�
+ var allDetails = new List<SalesPalletDetailQueryDto>();
+ foreach (var palletId in request.PalletIds)
+ {
+ var detailQuery = new SalesPalletDetailQueryDto { Mid = palletId };
+ var details = GetSalesPalletDetail(detailQuery);
+ allDetails.AddRange(details);
+ }
+
+ if (!allDetails.Any())
+ {
+ throw new Exception("鏈壘鍒伴攢鍞墭鐩樻槑缁嗘暟鎹�");
+ }
+
+ //鎻愬彇鍑虹粨鏋滈泦鐨凷tackcode骞跺幓閲�
+ var stackCodes = allDetails
+ .Where(d => !string.IsNullOrEmpty(d.Stackcode))
+ .Select(d => d.Stackcode)
+ .Distinct()
+ .ToList();
+
+ if (!stackCodes.Any())
+ {
+ throw new Exception("鏈壘鍒版湁鏁堢殑鏍堟澘鐮�");
+ }
+
+ //select * from MES_INV_ITEM_STOCKS where STACKCODE in (Stackcode鍘婚噸鍚庣殑缁撴灉);
+ var stockItems = Db.Queryable<MesInvItemStocks>()
+ .Where(s => stackCodes.Contains(s.StackCode) && s.Quantity > 0)
+ .ToList();
+
+ if (!stockItems.Any())
+ {
+ throw new Exception("鏈壘鍒板搴旂殑搴撳瓨鏁版嵁");
+ }
+
+ //璋冪敤MesInvItemStocksManager.CreateReturnMaterialRequest鏂规硶
+ var stockManager = new MesInvItemStocksManager();
+ var itemStockQuery = new ItemStockQueryDto
+ {
+ UserCode = request.UserCode,
+ Station = request.Station,
+ ItemBarcodes = stackCodes
+ };
+
+ stockManager.CreateReturnMaterialRequest(itemStockQuery);
+
+ return stackCodes.Count;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3