From 457b75b642a1fdaa7158e5b047cabc5d7ae16333 Mon Sep 17 00:00:00 2001 From: xxyy <cathay_xy@163.com> Date: 星期一, 10 三月 2025 10:10:13 +0800 Subject: [PATCH] 修复和优化 Dt_TaskService.cs 中的任务请求逻辑 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 53 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 32 insertions(+), 21 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs index acb5069..528d7af 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs @@ -1,8 +1,6 @@ 锘縰sing Masuit.Tools; using SqlSugar; using WIDESEA_Common.CustomModels; - -//using WIDESEA_Common.CustomModels; using WIDESEA_Core.Const; using WIDESEA_DTO.MOM; using WIDESEA_DTO.WMS; @@ -200,7 +198,7 @@ TaskState = (int)TaskInStatusEnum.Line_InFinish, TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = result.ProductionLine, ProcessCode = result.ProcessCode, }; @@ -227,7 +225,7 @@ TaskState = (int)TaskInStatusEnum.Line_InFinish, TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam" + Creater = "System" }; return taskNG; } @@ -259,7 +257,7 @@ TaskState = (int)TaskInStatusEnum.Line_InFinish, TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = result.ProductionLine, ProcessCode = result.ProcessCode, }; @@ -293,7 +291,7 @@ TaskState = (int)TaskInStatusEnum.Line_InFinish, TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = result.ProductionLine, ProcessCode = result.ProcessCode, }; @@ -371,7 +369,7 @@ TaskState = (int)TaskInStatusEnum.Line_InFinish, TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = result.ProductionLine, ProcessCode = result.ProcessCode, }; @@ -421,7 +419,7 @@ TaskState = (int)TaskInStatusEnum.Line_InFinish, TaskType = stationManager.stationType == 1 ? (int)TaskInboundTypeEnum.Inbound : (int)TaskInboundTypeEnum.InTray, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = result.ProductionLine, ProcessCode = result.ProcessCode, }; @@ -546,8 +544,9 @@ IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo); List<DtStockInfo> stockInfoList = stockInfos.Values.ToList(); - var stockinfo = stockInfoList.Where(x => x.LocationInfo != null && !x.IsFull && x.LocationInfo.RoadwayNo == stationManager.Roadway) - .OrderBy(x => x.CreateDate) + var stockinfo1 = stockInfoList.OrderBy(x => x.CreateDate) + .ToList(); + var stockinfo = stockinfo1.Where(x => x.LocationInfo != null && !x.IsFull && x.LocationInfo.RoadwayNo == stationManager.Roadway) .FirstOrDefault(); if (stockinfo == null) return null; @@ -567,10 +566,10 @@ TaskState = (int)TaskOutStatusEnum.OutNew, TaskType = (int)TaskOutboundTypeEnum.OutTray, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = stockinfo.ProductionLine, }; - + _simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { task.PalletCode }); return task; } catch (Exception ex) @@ -662,7 +661,7 @@ TaskState = (int)TaskInStatusEnum.Line_InFinish, TaskType = (int)TaskInboundTypeEnum.InTray, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = result.ProductionLine, ProcessCode = result.ProcessCode, }; @@ -724,7 +723,7 @@ TaskState = (int)TaskInStatusEnum.Line_InFinish, TaskType = (int)TaskInboundTypeEnum.Inbound, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = result.ProductionLine, ProcessCode = result.ProcessCode, }; @@ -984,13 +983,20 @@ IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo); List<DtStockInfo> stockInfoList = stockInfos.Values.ToList(); - var result = stockInfoList.Where(x => x.ProductionLine == productLine) + var result1 = stockInfoList.Where(x => x.ProductionLine == productLine) .Where(x => x.AreaCode == areaCode && x.IsFull == false) - .Where(x => x.StockInfoDetails != null && x.StockInfoDetails.Any(y => y.MaterielCode == "绌烘墭鐩�")) - .Where(x => x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // 杩囨护鏉′欢 .WhereIF(!deviceCode.IsNullOrEmpty(), x => x.LocationInfo != null && deviceCode.Contains(x.LocationInfo.RoadwayNo)) .OrderBy(x => x.CreateDate) // 鎺掑簭 - .FirstOrDefault(); // 杞崲涓哄垪琛� + .ToList(); // 杞崲涓哄垪琛� + + var result = result1.Where(x => x.StockInfoDetails != null && x.StockInfoDetails.Any(y => y.MaterielCode == "绌烘墭鐩�")) + .Where(x => x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // 杩囨护鏉′欢 + .FirstOrDefault(); // 鑾峰彇绗竴涓厓绱� + + if (result != null) + _simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { result.PalletCode }); + else + ConsoleHelper.WriteColorLine($"甯告俯{productLine}绌烘墭鐩樺簱瀛樹笉瓒�", ConsoleColor.Red); return result; } @@ -1025,14 +1031,17 @@ List<DtStockInfo> stockInfoList = stockInfos.Values.ToList(); // 淇敼鍚庣殑鏌ヨ浠g爜 - var stockInfo = stockInfoList + var stockInfo1 = stockInfoList .Where(x => x.ProductionLine == station.productLine) .Where(x => x.AreaCode == "CWSC3" && x.IsFull == true) + .OrderBy(x => x.OutboundTime) + .ToList(); + + var stockInfo = stockInfo1 // 澧炲姞瀵� LocationInfo 鐨勭┖鍊兼鏌� .Where(x => x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock) // 澧炲姞瀵� LocationInfo 鐨勭┖鍊兼鏌� .WhereIF(!deviceCode.IsNullOrEmpty(), x => x.LocationInfo != null && deviceCode.Contains(x.LocationInfo.RoadwayNo)) - .OrderBy(x => x.OutboundTime) .FirstOrDefault(); if (stockInfo == null) throw new Exception($"搴撳唴{station.productLine}鏃犳弧瓒虫潯浠剁殑搴撳瓨鍙嚭搴�"); @@ -1057,7 +1066,7 @@ TaskState = (int)TaskOutStatusEnum.OutNew, TaskType = (int)TaskOutboundTypeEnum.Outbound, TaskNum = await BaseDal.GetTaskNo(), - Creater = "Systeam", + Creater = "System", ProductionLine = stockInfo.ProductionLine, ProcessCode = stockInfo.ProcessCode, }; @@ -1070,6 +1079,8 @@ stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable; _locationRepository.UpdateData(stockInfo.LocationInfo); + _simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { taskDTO.PalletCode }); + _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(stockInfo.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum); return content.OK(data: taskDTO); -- Gitblit v1.9.3