huangxiaoqiang
2025-06-03 d0712fcf60aa1ef5ddfb8d18b583a742893a7aea
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -765,8 +765,27 @@
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                {
                    if (!task.Roadway.Contains("GW"))
                    if (task.Roadway.Contains("GW") || (task.Roadway.Contains("JZ") && task.TaskType == (int)TaskOutboundTypeEnum.OutTray))
                    {
                        task.TaskState = (int)TaskOutStatusEnum.OutFinish;
                        //如高温出库后 NG 则将任务标记为NG 并在出库申请后将任务出至NG口
                        if (task.Remark == "NG")
                        {
                            BaseDal.UpdateData(task);
                        }
                        else
                        {
                            BaseDal.DeleteData(task);
                            ConsoleHelper.WriteWarningLine($"{(task.Roadway.Contains("GW")? "高温":"静置")}出库目的地址{task.TargetAddress}");
                        }
                        var taskHty = task.Adapt<Dt_Task_Hty>();
                        _taskHtyRepository.AddData(taskHty);
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机出库完成");
                    }
                    else
                    {
                        var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
                        if (!routers.Any()) return WebResponseContent.Instance.Error($"未找到设备路由信息");
@@ -780,25 +799,6 @@
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机出库完成");
                    }
                    else
                    {
                        task.TaskState = (int)TaskOutStatusEnum.OutFinish;
                        //如高温出库后 NG 则将任务标记为NG 并在出库申请后将任务出至NG口
                        if (task.Remark == "NG")
                        {
                            BaseDal.UpdateData(task);
                        }
                        else
                        {
                            BaseDal.DeleteData(task);
                            ConsoleHelper.WriteWarningLine($"高温出库目的地址{task.TargetAddress}");
                        }
                        var taskHty = task.Adapt<Dt_Task_Hty>();
                        _taskHtyRepository.AddData(taskHty);
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机出库完成");
                    }
                    //暂不考虑多个出库口
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)