From b13d3d2c634df625dcaa74371f1d36a8376851b4 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期二, 06 一月 2026 14:54:16 +0800
Subject: [PATCH] 优化撤销组盘功能
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs | 77 ++++++++++++++++++++++++++++++--------
1 files changed, 61 insertions(+), 16 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 4d53ab6..53bfd2c 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"
@@ -878,22 +878,6 @@
return WebResponseContent.Instance.Error(response.Message);
}
- bool isMatMixed = stockInfo.Details.GroupBy(x => new
- {
- x.MaterielCode,
- x.MaterielName,
- x.BatchNo,
- x.SupplyCode,
- x.WarehouseCode
- }).Count() > 1;
-
- if (isMatMixed)
- {
- response.Success = false;
- response.Message = $"娣锋枡鎵樼洏 {request.PalletCode} 涓嶈兘鏁寸鍑哄簱";
- return WebResponseContent.Instance.Error(response.Message);
- }
-
// 2. 鏌ユ壘鍑哄簱鍗曚俊鎭�
Dt_OutboundOrder outboundOrder = _outboundRepository.QueryFirst(o => o.OrderNo == request.OrderNo);
if (outboundOrder == null)
@@ -919,6 +903,67 @@
return WebResponseContent.Instance.Error(response.Message);
}
+ //bool isMatMixed = stockInfo.Details.GroupBy(x => new
+ //{
+ // x.MaterielCode,
+ // x.MaterielName,
+ // x.BatchNo,
+ // x.SupplyCode,
+ // x.WarehouseCode
+ //}).Count() > 1;
+ bool isMatMixed = false;
+
+ bool includeBatchNo = !string.IsNullOrEmpty(lockInfo.BatchNo);
+ bool includeSupplyCode = !string.IsNullOrEmpty(lockInfo.SupplyCode);
+
+ if (includeBatchNo && includeSupplyCode)
+ {
+ isMatMixed = stockInfo.Details.GroupBy(x => new
+ {
+ x.MaterielCode,
+ x.MaterielName,
+ x.BatchNo,
+ x.SupplyCode,
+ x.WarehouseCode
+ }).Count() > 1;
+ }
+ else if (includeBatchNo && !includeSupplyCode)
+ {
+ isMatMixed = stockInfo.Details.GroupBy(x => new
+ {
+ x.MaterielCode,
+ x.MaterielName,
+ x.BatchNo,
+ x.WarehouseCode
+ }).Count() > 1;
+ }
+ else if (!includeBatchNo && includeSupplyCode)
+ {
+ isMatMixed = stockInfo.Details.GroupBy(x => new
+ {
+ x.MaterielCode,
+ x.MaterielName,
+ x.SupplyCode,
+ x.WarehouseCode
+ }).Count() > 1;
+ }
+ else
+ {
+ isMatMixed = stockInfo.Details.GroupBy(x => new
+ {
+ x.MaterielCode,
+ x.MaterielName,
+ x.WarehouseCode
+ }).Count() > 1;
+ }
+
+ if (isMatMixed)
+ {
+ response.Success = false;
+ response.Message = $"娣锋枡鎵樼洏 {request.PalletCode} 涓嶈兘鏁寸鍑哄簱";
+ return WebResponseContent.Instance.Error(response.Message);
+ }
+
// 鎵惧嚭宸插垎閰嶇殑璁㈠崟鏄庣粏Id
List<int> detailIds = new List<int>();
string[] ids = lockInfo.OrderDetailIds.Split(",");
--
Gitblit v1.9.3