1
huangxiaoqiang
2025-06-06 d2530aa168e1f3f818bc642d05e99b74c6fffe2e
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -94,7 +94,7 @@
                    // 判断任务类型是否为出库任务
                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                    {
                        if ((task.Roadway == "2000" || 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== "2000" && task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
                    if(task.Roadway=="1326"&& task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
                    {
                        task.TaskState = (int)TaskOutStatusEnum.Line_OutExecuting;
                    }
@@ -745,28 +745,43 @@
                var wmsIpAddress = wmsBase + completeTask;
                var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result;
                QuartzLogger.WriteLogToFile($"Info_任务完成", $"任务完成,任务号:【{taskNum}】返回参数【{JsonConvert.SerializeObject(result)}】{Environment.NewLine}{Environment.NewLine}");
                if(result != null)
                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
                if (!content.Data.IsNullOrEmpty())
                {
                    content = JsonConvert.DeserializeObject<WebResponseContent>(result);
                    if (!content.Data.IsNullOrEmpty())
                    if (content.Data.ToString() == "NG")
                    {
                        if (content.Data.ToString() == "NG")
                        {
                            task.Remark = "NG";
                            //BaseDal.UpdateData(task);
                            //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机出库完成,MOM返回NG");
                        }
                        task.Remark = "NG";
                        //BaseDal.UpdateData(task);
                        //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机出库完成,MOM返回NG");
                    }
                    task.ExceptionMessage += "   " + content.Message;
                }
                task.ExceptionMessage += "   " + content.Message;
                #endregion WMS同步任务完成
                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 +795,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)