From 6be2bc8324ca81145830b758c110255d9dfdc00b Mon Sep 17 00:00:00 2001
From: duyongjia <adu_555@163.com>
Date: 星期六, 28 十二月 2024 17:13:44 +0800
Subject: [PATCH] 增加出库单历史 库存历史查询功能

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs |   55 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 49 insertions(+), 6 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
index a5fd370..52fc700 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
@@ -60,6 +60,47 @@
             return tasks;
         }
 
+
+        /// <summary>
+        /// 搴撳瓨鏁版嵁杞嚭搴撲换鍔�,浠诲姟闇�鍏宠仈浠诲姟鏄庣粏ID
+        /// </summary>
+        /// <param name="stockInfos"></param>
+        /// <returns></returns>
+        public List<Dt_Task> GetTasksOutBoundDetailId(List<Dt_StockInfo> stockInfos,int detailId)
+        {
+            List<Dt_Task> tasks = new List<Dt_Task>();
+            for (int i = 0; i < stockInfos.Count; i++)
+            {
+                Dt_StockInfo stockInfo = stockInfos[i];
+
+                if (stockInfo != null)
+                {
+                    Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode);
+                    Dt_RoadwayInfo roadwayInfo = _basicService.RoadwayInfoService.Repository.QueryFirst(x => x.RoadwayNo == locationInfo.RoadwayNo);
+                    if (roadwayInfo != null)
+                    {
+                        Dt_Task task = new()
+                        {
+                            CurrentAddress = stockInfo.LocationCode,
+                            Grade = 3,
+                            PalletCode = stockInfo.PalletCode,
+                            NextAddress = roadwayInfo.OutStationCode,
+                            Roadway = locationInfo.RoadwayNo,
+                            SourceAddress = stockInfo.LocationCode,
+                            TargetAddress = roadwayInfo.OutStationCode,
+                            TaskStatus = OutTaskStatusEnum.OutNew.ObjToInt(),
+                            TaskType = TaskTypeEnum.Outbound.ObjToInt(),
+                            Depth = locationInfo.Depth,
+                            TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
+                            Remark = detailId.ToString()//鐢ㄤ簬浠诲姟鍏宠仈鍑哄簱鍗曟槑缁�
+                        };
+                        tasks.Add(task);
+                    }
+                }
+            }
+            return tasks;
+        }
+
         /// <summary>
         /// 鍑哄簱浠诲姟鏁版嵁澶勭悊
         /// </summary>
@@ -90,7 +131,8 @@
                 (List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetail, stockSelectViews);
                 if (result.Item1 != null && result.Item1.Count > 0)
                 {
-                    tasks = GetTasks(result.Item1);
+                    //tasks = GetTasks(result.Item1);
+                    tasks = GetTasksOutBoundDetailId(result.Item1, orderDetailId);
                     result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
                     result.Item3.ForEach(x =>
                     {
@@ -113,7 +155,8 @@
                 if (stockLockInfos != null && stockLockInfos.Count > 0)
                 {
                     List<Dt_StockInfo> stocks = _stockService.StockInfoService.Repository.GetStockInfosByPalletCodes(stockLockInfos.Select(x => x.PalletCode).Distinct().ToList());
-                    tasks = GetTasks(stocks);
+                    //tasks = GetTasks(stocks);
+                    tasks = GetTasksOutBoundDetailId(stocks, orderDetailId);
                 }
             }
 
@@ -435,11 +478,11 @@
         /// </summary>
         /// <param name="inTask"></param>
         /// <returns></returns>
-        public WebResponseContent PalletOutboundTask(string roadwayNo, string endStation)
+        public WebResponseContent PalletOutboundTask(string roadwayNo, string endStation,string strayType)
         {
             try
             {
-                Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetPalletStockInfo(roadwayNo);
+                Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetPalletStockInfo(roadwayNo,strayType);
                 if (stockInfo == null)
                 {
                     return WebResponseContent.Instance.Error("鏈壘鍒扮┖鎵樼洏搴撳瓨");
@@ -472,8 +515,8 @@
                     TaskType = TaskTypeEnum.PalletOutbound.ObjToInt(),
                     Depth = locationInfo.Depth,
                     TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
-                    Creater ="System"
-
+                    Creater = "System"
+            
                 };
                 int beforeStatus = locationInfo.LocationStatus;
                 _unitOfWorkManage.BeginTran();

--
Gitblit v1.9.3