From 06bc8ee02717f3ee80483d15a52c753cb6df9432 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期三, 04 二月 2026 08:48:15 +0800
Subject: [PATCH] 1
---
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 47 insertions(+), 7 deletions(-)
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
index 99424e0..40eafa0 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
@@ -152,7 +152,17 @@
List<Dt_LocationInfo>? locationInfos = null;
//if (outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
{
- (List<Dt_StockInfo>, List<Dt_OutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails);
+ Dt_OutboundOrder dt_OutboundOrder = _outboundService.OutboundOrderService.Repository.QueryData(x => x.Id == outboundOrderDetails.First().OrderId).First();
+ (List<Dt_StockInfo>, List<Dt_OutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = new();
+ if (dt_OutboundOrder.OutWareHouse.Contains("BC"))
+ {
+
+ result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails);
+ }
+ else
+ {
+ result = _outboundService.OutboundOrderDetailService.DWANDYSAssignStockOutbound(outboundOrderDetails);
+ }
if (result.Item1 != null && result.Item1.Count > 0)
{
Dt_OutboundOrder outboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId);
@@ -168,10 +178,26 @@
{
x.OrderNo = outboundOrder.OrderNo;
});
- result.Item2.ForEach(x =>
+ if (dt_OutboundOrder.OutWareHouse.Contains("BC"))
{
- x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
- });
+ result.Item2.ForEach(x =>
+ {
+ x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+ });
+ }
+ else
+ {
+
+
+ result.Item2.ForEach(x =>
+ {
+ if (x.LockQuantity == x.OrderQuantity)
+ {
+ x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
+ }
+ });
+ }
+
result.Item3.ForEach(x =>
{
@@ -271,7 +297,7 @@
/// <summary>
- /// 绔嬪簱鍑哄簱鎸囦护涓婁紶锛屽嚭搴撲换鍔′笅鍙�
+ /// 鍑哄簱鍗曟嵁涓嬪彂
/// </summary>
/// <param name="orderAddDTO"></param>
/// <returns></returns>
@@ -394,6 +420,7 @@
BatchNo = details.BatchNo,
MaterielCode = details.MaterielCode,
MaterielName = details.MaterielName,
+ MaterielType = details.MaterielType,
MaterieSpec = details.MaterieSpec,
OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
OrderQuantity = details.OrderQuantity,
@@ -932,13 +959,26 @@
}
if (result.Item5 != null && result.Item5.Count > 0)
{
- locationInfos.AddRange(result.Item5);
+ if (result.Item5.Any(x => x.RoadwayNo.Contains("DW")) || result.Item5.Any(x => x.RoadwayNo.Contains("YS")))
+ {
+ locationInfos.AddRange(result.Item5.DistinctBy(x => x.LocationCode));
+
+ }
+ else
+ {
+ locationInfos.AddRange(result.Item5);
+
+ }
+
}
if (result.Item1 != null && result.Item1.Count > 0)
{
tasks.AddRange(result.Item1);
}
-
+ if (locationInfos.First().RoadwayNo.Contains("DW") || locationInfos.First().RoadwayNo.Contains("YS"))
+ {
+ break;
+ }
}
--
Gitblit v1.9.3