From 5189c42ee1b15ba8c54fd258102b4c7262a2e6c7 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期一, 30 三月 2026 11:40:11 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 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 559ce38..894adab 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"
@@ -1376,9 +1376,18 @@
 
                         Func<Dt_OutStockLockInfo, bool> wareWhere = x => string.IsNullOrEmpty(outboundOrderDetails.First().WarehouseCode) ? true : x.WarehouseCode == outboundOrderDetails.First().WarehouseCode;
 
-                        List<Dt_OutStockLockInfo> stockLockInfos = _outboundLockInfoRepository.QueryData(x =>
-                                x.OrderNo == request.OrderNo &&
-                                x.MaterielCode == stockInfoDetail.MaterielCode).Where(supWhere).Where(wareWhere).ToList();
+                        var idStr = outboundOrderDetails.First().Id.ToString();
+
+                        var stockLockInfos = _outboundLockInfoRepository.QueryData(x =>
+                            (x.OrderDetailIds == idStr ||
+                             x.OrderDetailIds.StartsWith(idStr + ",") ||
+                             x.OrderDetailIds.EndsWith("," + idStr) ||
+                             x.OrderDetailIds.Contains("," + idStr + ",")) &&
+                            x.OrderNo == request.OrderNo &&
+                            x.MaterielCode == stockInfoDetail.MaterielCode)
+                            .Where(supWhere)
+                            .Where(wareWhere)
+                            .ToList();
                         if (stockLockInfos != null && stockLockInfos.Any())
                         {
                             _outboundLockInfoRepository.DeleteAndMoveIntoHty(stockLockInfos, WIDESEA_Core.Enums.OperateTypeEnum.鑷姩鍒犻櫎);
@@ -1804,9 +1813,18 @@
 
                         Func<Dt_OutStockLockInfo, bool> wareWhere = x => string.IsNullOrEmpty(outboundOrderDetails.First().WarehouseCode) ? true : x.WarehouseCode == outboundOrderDetails.First().WarehouseCode;
 
-                        List<Dt_OutStockLockInfo> stockLockInfos = _outboundLockInfoRepository.QueryData(x =>
-                                x.OrderNo == request.OrderNo &&
-                                x.MaterielCode == stockDetail.MaterielCode).Where(supWhere).Where(wareWhere).ToList();
+                        var idStr = outboundOrderDetails.First().Id.ToString();
+
+                        var stockLockInfos = _outboundLockInfoRepository.QueryData(x =>
+                            (x.OrderDetailIds == idStr ||
+                             x.OrderDetailIds.StartsWith(idStr + ",") ||
+                             x.OrderDetailIds.EndsWith("," + idStr) ||
+                             x.OrderDetailIds.Contains("," + idStr + ",")) &&
+                            x.OrderNo == request.OrderNo &&
+                            x.MaterielCode == stockDetail.MaterielCode)
+                            .Where(supWhere)
+                            .Where(wareWhere)
+                            .ToList();
                         if (stockLockInfos != null && stockLockInfos.Any())
                         {
                             _outboundLockInfoRepository.DeleteAndMoveIntoHty(stockLockInfos, WIDESEA_Core.Enums.OperateTypeEnum.鑷姩鍒犻櫎);

--
Gitblit v1.9.3