From b2feeabc23454a2c9e161aa3b26d0edf938e55bd Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期二, 22 七月 2025 15:03:17 +0800
Subject: [PATCH] 增加超时设置,更新依赖注入和查询逻辑

---
 CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
index 503a2bd..01591d9 100644
--- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
+++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -599,11 +599,14 @@
             taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System";
 
             var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway);
-            int lastStatus = location.LocationStatus;
-            location.LocationStatus = (int)LocationEnum.Free;
+            if (location != null)
+            {
+                int lastStatus = location.LocationStatus;
+                location.LocationStatus = (int)LocationEnum.Free;
+                _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);
+            }
             task.TaskState = (int)TaskOutStatusEnum.OutFinish;
 
-            _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);
             // 浜嬪姟澶勭悊
             await _unitOfWorkManage.UseTranAsync(async () =>
             {
@@ -614,7 +617,10 @@
                     await AddStockInfoHtyAsync(stockInfo_Hty);
                 }
 
-                await UpdateLocationAsync(location);
+                if (location != null)
+                {
+                    await UpdateLocationAsync(location);
+                }
                 await DeleteTaskAsync(task.TaskId);
                 await AddTaskHtyAsync(taskHty);
             });
@@ -1045,6 +1051,13 @@
                 .Where(x => x.DeviceCode.Contains("CWSC")) // 杩囨护鏉′欢
                 .ToList().Select(x => x.DeviceCode).ToList();
 
+            var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList();
+            List<string>? materielCodes = outBoundMateriel.Count != 0
+                ? outBoundMateriel.Where(x => x.ProductionLine == station.productLine && x.ProcessCode == "CWSC3")
+                                  .Select(x => x.MaterielCode)
+                                  .ToList()
+                : null;
+
             // 淇敼鍚庣殑鏌ヨ浠g爜
             var stockInfo = await _stockInfoRepository.Db.Queryable<DtStockInfo>()
                                 .Includes(x => x.LocationInfo)
@@ -1055,6 +1068,7 @@
                                 .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock)
                                 // 澧炲姞瀵� LocationInfo 鐨勭┖鍊兼鏌�
                                 .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo))
+                                .WhereIF(!materielCodes.IsNullOrEmpty(), x => x.StockInfoDetails.Any(y => materielCodes.Contains(y.MaterielCode)))
                                 .OrderBy(x => x.OutboundTime)
                                 .FirstAsync();
 

--
Gitblit v1.9.3