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