From a833526d6f9d396df0249066f8057c6d5c51b86d Mon Sep 17 00:00:00 2001 From: xxyy <cathay_xy@163.com> Date: 星期四, 27 二月 2025 13:36:26 +0800 Subject: [PATCH] 修复 Dt_TaskService.cs 中 locations 检查逻辑 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 110 insertions(+), 7 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 48f30ad..b95bab5 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 @@ -200,7 +200,8 @@ TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam", - ProductionLine = result.ProductionLine + ProductionLine = result.ProductionLine, + ProcessCode = result.ProcessCode, }; return taskNG; } @@ -258,7 +259,8 @@ TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam", - ProductionLine = result.ProductionLine + ProductionLine = result.ProductionLine, + ProcessCode = result.ProcessCode, }; return taskNG; } @@ -291,7 +293,8 @@ TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam", - ProductionLine = result.ProductionLine + ProductionLine = result.ProductionLine, + ProcessCode = result.ProcessCode, }; return task; } @@ -368,7 +371,8 @@ TaskType = (int)TaskOutboundTypeEnum.InToOut, TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam", - ProductionLine = result.ProductionLine + ProductionLine = result.ProductionLine, + ProcessCode = result.ProcessCode, }; return taskNG; } @@ -418,6 +422,7 @@ TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam", ProductionLine = result.ProductionLine, + ProcessCode = result.ProcessCode, }; int lastStatus = locationInfo.LocationStatus; ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + lastStatus.ToString()); @@ -454,6 +459,10 @@ else { locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Distribute && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1); + if (locations == null) + { + locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1); + } } if (locations == null) @@ -653,6 +662,7 @@ TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam", ProductionLine = result.ProductionLine, + ProcessCode = result.ProcessCode, }; return Epmtytask; } @@ -714,6 +724,7 @@ TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam", ProductionLine = result.ProductionLine, + ProcessCode = result.ProcessCode, }; var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing); @@ -872,7 +883,7 @@ WebResponseContent content = new WebResponseContent(); try { - var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTO.Position); + var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTO.Position && x.stationStatus == "1"); var locations = _locationRepository.QueryData(x => x.RoadwayNo == station.Roadway && x.LocationStatus == (int)LocationEnum.Free && x.LocationType == 1); if (locations.Count > 10) @@ -967,8 +978,12 @@ WebResponseContent content = new WebResponseContent(); try { - Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position && x.stationType == 12 && x.stationArea == "Call"); + //LogFactory.GetLog("甯告俯3鍑哄簱鑷冲寘瑁�").Info(true, $"甯告俯3鍑哄簱鑷冲寘瑁呬紶鍏ュ弬鏁帮細" + JsonConvert.SerializeObject(json, Formatting.Indented)); + Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position && x.stationType == 12 && x.stationArea == "Call"); + if (station == null) { throw new Exception($"鏈壘鍒板寘瑁呯珯鍙颁俊鎭紝璇锋鏌ヤ紶鍏ュ弬鏁皗json.Position}"); } + + //LogFactory.GetLog("甯告俯3鍑哄簱鑷冲寘瑁�").Info(true, $"甯告俯3鍑哄簱鑷冲寘瑁呬紶鍏ュ弬鏁帮細" + JsonConvert.SerializeObject(json, Formatting.Indented)); var stockInfo = _stockInfoRepository.Db.Queryable<DtStockInfo>() .Where(x => x.ProductionLine == station.productLine) .Includes(x => x.LocationInfo) // 棰勫姞杞絃ocationInfo @@ -978,7 +993,7 @@ .First(); // 鑾峰彇绗竴涓厓绱� //DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(X => X.IsFull && X.AreaCode == "CWSC3" && X.ProductionLine == station.productLine); - if (stockInfo == null) throw new Exception("搴撳唴鏃犳弧瓒虫潯浠剁殑搴撳瓨鍙嚭搴�"); + if (stockInfo == null) throw new Exception($"搴撳唴{station.productLine}鏃犳弧瓒虫潯浠剁殑搴撳瓨鍙嚭搴�"); DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.AreaId == 5 && x.LocationCode == stockInfo.LocationCode); @@ -1002,6 +1017,7 @@ TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam", ProductionLine = stockInfo.ProductionLine, + ProcessCode = stockInfo.ProcessCode, }; WMSTaskDTO taskDTO = CreateTaskDTO(task); @@ -1145,4 +1161,91 @@ } #endregion + + #region 鍒嗗绌烘鍏ュ簱鏀逛负鐩存帴鍑哄簱 + + public async Task<WebResponseContent> SetEmptyOutbyInToOutAsync(RequestTaskDto request) + { + WebResponseContent content = new WebResponseContent(); + var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode); + if (!task.IsNullOrEmpty()) + { + var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position); + var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 7 && x.productLine == fromStation.productLine && x.stationArea == fromStation.stationArea); + if (!toStation.IsNullOrEmpty()) + { + var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea)); + task.TargetAddress = toStation.stationLocation; + task.NextAddress = toStation.stationChildCode; + task.Grade = 3; + task.TaskType = (int)TaskOutboundTypeEnum.InToOut; + task.TaskState = (int)TaskOutStatusEnum.OutNew; + + location.LocationStatus = (int)LocationEnum.Free; + + await _locationRepository.UpdateDataAsync(location); + await BaseDal.UpdateDataAsync(task); + return content.OK("鎴愬姛"); + } + else + { + ConsoleHelper.WriteErrorLine("鍒嗗绌烘鍏ュ簱鏀逛负鐩存帴鍑哄簱:鏈壘鍒板搴旂珯鍙�"); + content.Error("鏈壘鍒板搴旂珯鍙�"); + } + } + else + { + ConsoleHelper.WriteErrorLine("鍒嗗绌烘鍏ュ簱鏀逛负鐩存帴鍑哄簱:鏈壘鍒颁换鍔�"); + content.Error("鏈壘鍒颁换鍔�"); + } + return content; + } + + #endregion + + #region 鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱 + + /// <summary> + /// 鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱 + /// </summary> + /// <param name="request"></param> + /// <returns></returns> + public async Task<WebResponseContent> SetEmptyOutbyInToOutOneAsync(RequestTaskDto request) + { + WebResponseContent content = new WebResponseContent(); + var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode); + if (!task.IsNullOrEmpty()) + { + var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position); + var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 6 && x.productLine == toStation.productLine && x.stationArea == toStation.stationArea); + if (!fromStation.IsNullOrEmpty()) + { + //var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea)); + task.SourceAddress = toStation.stationLocation; + task.CurrentAddress = toStation.stationChildCode; + task.Grade = 3; + task.TaskType = (int)TaskOutboundTypeEnum.InToOut; + task.TaskState = (int)TaskOutStatusEnum.OutNew; + + //location.LocationStatus = (int)LocationEnum.Free; + + //await _locationRepository.UpdateDataAsync(location); + await BaseDal.UpdateDataAsync(task); + return content.OK("鎴愬姛"); + } + else + { + ConsoleHelper.WriteErrorLine("鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱:鏈壘鍒板搴旂珯鍙�"); + content.Error("鏈壘鍒板搴旂珯鍙�"); + } + } + else + { + ConsoleHelper.WriteErrorLine("鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱:鏈壘鍒颁换鍔�"); + content.Error("鏈壘鍒颁换鍔�"); + } + return content; + } + + #endregion } \ No newline at end of file -- Gitblit v1.9.3