From 95c92db3c831c73b05068b09221c13ad4a250322 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期一, 02 二月 2026 20:07:00 +0800
Subject: [PATCH] 条码扫描成功音频播放功能,代码优化
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs | 52 +++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 47 insertions(+), 5 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/OutboundOrderService.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/OutboundOrderService.cs"
index 1d2c31f..4319e11 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/OutboundOrderService.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/OutboundOrderService.cs"
@@ -113,10 +113,6 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
}
- if (outboundOrder.OrderStatus != (int)OutOrderStatusEnum.鏈紑濮�)
- {
- return WebResponseContent.Instance.Error($"璇ヨ鍗曠姸鎬佷笉鍏佽淇敼");
- }
List<Dt_OutboundOrderDetail> outboundOrderDetails = new List<Dt_OutboundOrderDetail>();
List<Dt_OutboundOrderDetail> updateoutboundOrderDetails = new List<Dt_OutboundOrderDetail>();
List<int> detailIds = new List<int>();
@@ -161,6 +157,10 @@
}
else
{
+ if(item.OrderQuantity < outboundOrderDetail.LockQuantity + outboundOrderDetail.MoveQty)
+ {
+ return WebResponseContent.Instance.Error($"淇敼鐨勮鍙穥item.lineNo}鏁伴噺瓒呰繃浜嗘櫤浠撳嚭搴撻攣瀹氭暟閲忓姞涓婃尓鏂欐暟閲忥紝涓嶅厑璁镐慨鏀�");
+ }
outboundOrderDetail.lineNo = item.lineNo;
outboundOrderDetail.MaterielCode = item.MaterielCode;
outboundOrderDetail.SupplyCode = item.SupplyCode;
@@ -198,6 +198,10 @@
_unitOfWorkManage.BeginTran();
foreach (var item in deletePurchaseOrderDetails)
{
+ if(item.LockQuantity > 0)
+ {
+ return WebResponseContent.Instance.Error($"鍘熷崟鎹鍙穥item.lineNo}宸茬粡閿佸畾鍑哄簱锛屼笉鍏佽鍒犻櫎锛岃閲嶆柊鏇存敼鏁版嵁鎺ㄩ��");
+ }
// _outboundOrderDetailRepository.DeleteAndMoveIntoHty(item, OperateTypeEnum.鑷姩鍒犻櫎);
_outboundOrderDetailRepository.DeleteData(item);
}
@@ -205,6 +209,10 @@
_outboundOrderDetailRepository.UpdateData(updateoutboundOrderDetails);
_outboundOrderDetailRepository.AddData(outboundOrderDetails);
+ if(outboundOrder.Details.All(x => x.OverOutQuantity >= x.OrderQuantity - x.MoveQty))
+ {
+ outboundOrder.OrderStatus = (int)OutOrderStatusEnum.鍑哄簱瀹屾垚;
+ }
BaseDal.UpdateData(outboundOrder);
_unitOfWorkManage.CommitTran();
@@ -389,7 +397,41 @@
if (returnToMESStatusParam != null && !string.IsNullOrEmpty(returnToMESStatusParam.Value?.ToString()))
{
string returnToMESStatus = returnToMESStatusParam.Value.ToString().Trim();
- sugarQueryable1 = sugarQueryable1.Where(x => x.OrderStatus.Equals(returnToMESStatus));
+ sugarQueryable1 = sugarQueryable1.Where(x => x.ReturnToMESStatus.Equals(returnToMESStatus));
+ }
+
+ var createDateParams = searchParametersList
+ .Where(x => x.Name.Equals("createDate", StringComparison.OrdinalIgnoreCase)
+ && !string.IsNullOrEmpty(x.Value?.ToString()))
+ .ToList();
+
+ DateTime? minCreateDate = null;
+ DateTime? maxCreateDate = null;
+
+ foreach (var dateParam in createDateParams)
+ {
+ if (DateTime.TryParse(dateParam.Value.ToString(), out DateTime dateValue))
+ {
+ LinqExpressionType expressionType = dateParam.DisplayType.GetLinqCondition();
+ switch (expressionType)
+ {
+ case LinqExpressionType.ThanOrEqual:
+ minCreateDate = dateValue;
+ break;
+ case LinqExpressionType.LessThanOrEqual:
+ maxCreateDate = dateValue;
+ break;
+ }
+ }
+ }
+
+ if (minCreateDate.HasValue)
+ {
+ sugarQueryable1 = sugarQueryable1.Where(x => x.CreateDate >= minCreateDate.Value);
+ }
+ if (maxCreateDate.HasValue)
+ {
+ sugarQueryable1 = sugarQueryable1.Where(x => x.CreateDate <= maxCreateDate.Value);
}
}
}
--
Gitblit v1.9.3