From 8abc9481eafeb715b39a4f4f8d6f628a642e6b53 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期三, 19 三月 2025 17:38:18 +0800
Subject: [PATCH] 优化AGV和输送线、产线对接逻辑

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs"
index 56e6f14..275b577 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs"
@@ -26,6 +26,10 @@
 {
     public partial class OutboundOrderDetailService : ServiceBase<Dt_OutboundOrderDetail, IOutboundOrderDetailRepository>, IOutboundOrderDetailService
     {
+        public override PageGridData<Dt_OutboundOrderDetail> GetPageData(PageDataOptions options)
+        {
+            return base.GetPageData(options);
+        }
         public WebResponseContent LockOutboundStock(int orderDetailId)
         {
             Dt_OutboundOrderDetail outboundOrderDetail = BaseDal.QueryFirst(x => x.Id == orderDetailId);
@@ -126,7 +130,25 @@
             }
             return (true, "鎴愬姛");
         }
+        public (List<Dt_StockInfo>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_OutboundOrder outboundOrder, List<StockSelectViewDTO> stockSelectViews)
+        {
+            var PalletCodes= stockSelectViews.First().PalletCode.Split(',');
+            List<Dt_StockInfo> outStocks = _stockService.StockInfoService.Repository.QueryData(x => PalletCodes.Contains(x.PalletCode));
 
+            outStocks.ForEach(x =>
+            {
+                x.StockStatus = StockStatusEmun.鍑哄簱涓�.ObjToInt();
+            });
+
+            List<Dt_OutStockLockInfo> outStockLockInfos = _outStockLockInfoService.GetOutStockLockInfo(outboundOrder, outboundOrder.Details.First(), outStocks, BatchNo: stockSelectViews.First().BatchNo);
+
+            List<Dt_LocationInfo> locationInfos = _basicService.LocationInfoService.Repository.GetLocationInfos(stockSelectViews.Select(x => x.LocationCode).ToList());
+            locationInfos.ForEach(x =>
+            {
+                x.LocationStatus = LocationStatusEnum.Outbounding.ObjToInt();
+            });
+            return (outStocks, outStockLockInfos, locationInfos);
+        }
         /// <summary>
         /// 鍒嗛厤鍑哄簱搴撳瓨
         /// </summary>
@@ -309,7 +331,7 @@
         /// <param name="locationStatus"></param>
         /// <param name="tasks"></param>
         /// <returns></returns>
-        public WebResponseContent LockOutboundStockDataUpdate(List<Dt_StockInfo> stockInfos, List<Dt_OutboundOrderDetail> outboundOrderDetails, List<Dt_OutStockLockInfo> outStockLockInfos, List<Dt_LocationInfo> locationInfos, LocationStatusEnum locationStatus = LocationStatusEnum.Lock, List<Dt_Task>? tasks = null)
+        public WebResponseContent LockOutboundStockDataUpdate(List<Dt_StockInfo> stockInfos, List<Dt_OutboundOrderDetail> outboundOrderDetails, List<Dt_OutStockLockInfo> outStockLockInfos, List<Dt_LocationInfo> locationInfos, LocationStatusEnum locationStatus = LocationStatusEnum.OutLock, List<Dt_Task>? tasks = null)
         {
             try
             {

--
Gitblit v1.9.3