huangxiaoqiang
2025-06-03 d0712fcf60aa1ef5ddfb8d18b583a742893a7aea
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -94,7 +94,7 @@
                    // 判断任务类型是否为出库任务
                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                    {
                        if ((task.Roadway == "1326"||task.Roadway == "1529" )&& ( task.TaskType == (int)TaskOutboundTypeEnum.OutTray|| task.TaskType == (int)TaskOutboundTypeEnum.InToOut))
                        if ((task.Roadway == "2000" || task.Roadway == "1529" )&& ( task.TaskType == (int)TaskOutboundTypeEnum.OutTray|| task.TaskType == (int)TaskOutboundTypeEnum.InToOut))
                        {
                            // 设置任务状态为出库新建
                            //task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
@@ -563,7 +563,7 @@
                        BaseDal.DeleteData(task);
                        _taskHtyRepository.AddData(task_Hty);
                    }
                    if(task.Roadway=="1326"&& task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
                    if(task.Roadway== "2000" && task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
                    {
                        task.TaskState = (int)TaskOutStatusEnum.Line_OutExecuting;
                    }
@@ -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)