From 0ba846024a89bbdfe2b2e2183d0ed944ac9782bf Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期六, 04 一月 2025 09:52:28 +0800 Subject: [PATCH] 更新 --- 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 14 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" index 9b5bdcc..248436a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -161,27 +161,44 @@ List<Dt_WarehouseDevice> wades = warehouseDevices.Where(x => x.WarehouseId == item.WarehouseId).ToList(); - Dt_Router? router = new Dt_Router(); + Dt_Router? router; + TaskTypeGroup taskTypeGroup = item.TaskType.GetTaskTypeGroup(); if (string.IsNullOrEmpty(item.AGVArea)) { - //task.AgvTaskNum = "AGV-" + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum; - Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == item.SourceAddress || x.StackerCraneCode == item.RoadWay); + Dt_StationManger stationManger; + if (taskTypeGroup == TaskTypeGroup.InboundGroup) + { + stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == item.SourceAddress); + } + else + { + stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneCode == item.RoadWay); + } if (stationManger == null) { return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃俊鎭�"); } - List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && (stationManger.StationCode == x.StartPosi || stationManger.StackerCraneCode == x.StartPosi)); - if (routers.FirstOrDefault() == null) + List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && (item.SourceAddress == x.StartPosi || item.RoadWay == x.StartPosi)); + router = routers.FirstOrDefault(); + if (router == null) { return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢遍厤缃俊鎭�"); } - router = routers.FirstOrDefault(); + if (routers.Count == 1) { - task.NextAddress = router?.NextPosi ?? ""; - task.DeviceCode = stationManger.StationDeviceCode; + if(taskTypeGroup == TaskTypeGroup.InboundGroup && item.TargetAddress == stationManger.StackerCraneCode) + { + task.NextAddress = router.NextPosi; + task.DeviceCode = stationManger.StationDeviceCode; + } + else + { + task.NextAddress = item.TargetAddress; + task.DeviceCode = stationManger.StationDeviceCode; + } } else { @@ -191,7 +208,7 @@ } else { - if (item.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + if (taskTypeGroup == TaskTypeGroup.OutbondGroup) { task.AgvTaskNum = "AGV-" + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum; List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && item.AGVArea == x.NextPosi); @@ -253,17 +270,23 @@ WebResponseContent content = new WebResponseContent(); try { - Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationDeviceCode == sourceAddress); + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == sourceAddress); if (stationManger == null) { return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙颁俊鎭�"); } - HttpHelper.Post($"RequestInboundTask?palletCode={palletCode}&stationCode={sourceAddress}"); + string responseStr = HttpHelper.Get($"http://127.0.0.1:9293/api/Task/DeviceRequestInboundTask?stationCode={sourceAddress}&roadwayNo={stationManger.StackerCraneCode}&palletCode={palletCode}"); + WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr); + if (responseContent != null && responseContent.Status && responseContent.Data != null) + { + WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString()); + if (taskDTO != null) + { + content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); + } + } - WMSTaskDTO taskDTO = new WMSTaskDTO(); - - content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); } catch (Exception ex) { -- Gitblit v1.9.3