From ad4d32dc4e162ba7fb71cd3bc213f1d71c964551 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 13 五月 2025 14:30:57 +0800
Subject: [PATCH] 最新代码上传

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs |   35 +++++++++++++++++++++++++++--------
 1 files changed, 27 insertions(+), 8 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
index 7208d9e..e295122 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
@@ -83,7 +83,7 @@
         /// <param name="ProOutNo">鍑哄簱璁㈠崟鍙�</param>
         /// <param name="StationCode">绔欏彴鍦板潃</param>
         /// <returns></returns>
-        public async Task<WebResponseContent> OutProductTask(int[] keys, string StationCode)
+        public async Task<WebResponseContent> OutProductTask(int[] keys, string StationCode, int Grade)
         {
             WebResponseContent content = new WebResponseContent();
             try
@@ -93,10 +93,10 @@
                     return await Task.FromResult(content.Error("绾夸綋杈撳叆閿欒"));
                 }
                 //鑾峰彇鎴愬搧鍑哄簱璁㈠崟
-                List<Dt_ProOutOrderDetail> _ProOutOrderDetails = await _outboundRepository.ProOutOrderDetailRepository.QueryDataAsync(x => keys.Contains(x.Id));
+                List<Dt_ProOutOrderDetail> _ProOutOrderDetails = await _outboundRepository.ProOutOrderDetailRepository.QueryDataAsync(x => keys.Contains(x.Id) && x.ProOrderDetailStatus== OrderDetailStatusEnum.New.ObjToInt());
                 if (_ProOutOrderDetails.Count<=0)
                 {
-                    return await Task.FromResult(content.Error("鍕鹃�夎鍗曟槑缁嗕笉瀛樺湪"));
+                    return await Task.FromResult(content.Error("鍕鹃�夎鍗曟槑缁嗙姸鎬佷负鍑哄簱涓�"));
                 }
                 List<Dt_Task> tasks = new List<Dt_Task>();
                 List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>();
@@ -124,10 +124,26 @@
                 }
                 if (result.Item1 != null && result.Item1.Count > 0)
                 {
+                    Dt_Task? task = BaseDal.QueryData(x=>x.TaskType==TaskTypeEnum.OutProduct.ObjToInt()).OrderByDescending(x=>x.Grade).FirstOrDefault();
                     //鏇存柊鍑哄簱鐩殑浣嶇疆
                     result.Item1.ForEach(x =>
                     {
                         x.TargetAddress = StationCode;
+                        if (Grade==1 || task==null)
+                        {
+                            x.Grade = 127;
+                        }
+                        else
+                        {
+                            if (task.Grade==0 || task.Grade==1)
+                            {
+                                x.Grade = 1;
+                            }
+                            else
+                            {
+                                x.Grade = task.Grade - 1;
+                            }
+                        }
                     });
                     tasks.AddRange(result.Item1);
                 }
@@ -422,9 +438,7 @@
                 {
                     x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
                 });
-                string groupId = DateTime.Now.ToString("yyyyMMddHHmmss");
                 tasks.ForEach(x => x.OrderNo = proOutOrder.ProOutOrderNo);
-                tasks.ForEach(x => x.GroupId = groupId);
                 proStockInfos = result.Item1;
                 proOutOrderDetails = result.Item2;
                 outProStockInfos = result.Item3;
@@ -445,10 +459,14 @@
         public List<Dt_Task> GetTasks(List<Dt_ProStockInfo> stockInfos, TaskTypeEnum taskType)
         {
             List<Dt_Task> tasks = new List<Dt_Task>();
-            for (int i = 0; i < stockInfos.Count; i++)
+            string groupId = DateTime.Now.ToString("yyMMddHHmmss");
+            for (int i = 1; i <= stockInfos.Count; i++)
             {
-                Dt_ProStockInfo stockInfo = stockInfos[i];
-
+                Dt_ProStockInfo stockInfo = stockInfos[i-1];
+                if (i%5==0)
+                {
+                    groupId= DateTime.Now.AddSeconds(i).ToString("yyMMddHHmmss");
+                }
                 if (stockInfo != null)
                 {
                     Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode);
@@ -468,6 +486,7 @@
                             TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                             PalletType = stockInfo.PalletType,
                             WarehouseId = stockInfo.WarehouseId,
+                            GroupId= groupId
                         };
                         tasks.Add(task);
                     }

--
Gitblit v1.9.3