1
huanghongfeng
10 天以前 f49fa4b5027cfdc27b429985d023e8002abcca2e
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -70,7 +70,17 @@
                        }
                        else
                        {
                            wcs_PLCto07("任务完成故障", $"任务号:{commonStackerCrane.CurrentTaskNum},修改任务失败", $"失败原因:{webResponse.Message}");
                            WebResponseContent webRespon = _taskService.StackCraneTashty(commonStackerCrane.CurrentTaskNum);
                            if (webRespon.Status)
                            {
                                bool fk = commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
                                wcs_PLCto07("任务完成", $"任务号:{commonStackerCrane.CurrentTaskNum},历史查询信息", $"任务查找任务重,并进行反馈:{fk}");
                            }
                            else
                            {
                                wcs_PLCto07("任务完成故障", $"任务号:{commonStackerCrane.CurrentTaskNum},历史任务查询数据", $"失败原因:{webResponse.Message}");
                            }
                        }
                    }
@@ -91,8 +101,20 @@
                                    bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
                                    if (sendFlag)
                                    {
                                        commonStackerCrane.LastTaskType = task.TaskType;
                                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
                                        WebResponseContent webResponseContent=_taskService.UpdateTaskStatusToNext(task.TaskNum);
                                        if (webResponseContent.Status)
                                        {
                                            wcs_PLCto09("任务下发成功", $"任务号:{task.TaskNum}", $"托盘条码:{task.PalletCode},时间:{DateTime.Now}");
                                        }
                                        else
                                        {
                                            wcs_PLCto09("任务下发失败", $"任务号:{task.TaskNum}", $"失败原因:{webResponseContent.Message}");
                                        }
                                    }
                                    else
                                    {
                                        wcs_PLCto09("任务下发失败", $"任务号:{task.TaskNum}", $"下发给堆垛机任务失败,状态:{sendFlag}");
                                    }
                                }
                            }
@@ -102,6 +124,7 @@
            }
            catch (Exception ex)
            {
                wcs_PLCto09("堆垛机Job", $"故障", $"原因:{ex.Message}");
                //Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString());
            }
            return Task.CompletedTask;
@@ -141,6 +164,30 @@
                //查询全部任务,按时间排序进行查询
                List<Dt_Task> TasksList = _taskService.CraneTaskList(commonStackerCrane.DeviceCode);
                if (TasksList.Count == 0) return null;
                Dt_Task RELNew= TasksList.Where(x=>x.TaskType== (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskOutStatusEnum.ResRestNet).OrderBy(x => x.CreateDate).FirstOrDefault();
                if( RELNew != null )
                {
                    string[] targetCodes = RELNew.TargetAddress.Split("-");
                    //如果为深库位,则查看是否有需要执行的任务
                    if (targetCodes[4] == "02")
                    {
                        Dt_Task taskstrot = InTaskMove(RELNew);
                        if (taskstrot != null)
                        {
                            return taskstrot;
                        }
                    }
                    else
                    {
                            return RELNew;
                    }
                }
                foreach (var item in TasksList)
                {
                    if (item.TaskType == (int)TaskInboundTypeEnum.Inbound)
@@ -508,7 +555,7 @@
                    if (deviceProDTO != null)
                    {
                        int B_Event_Test = GetLine(conveyorLine, deviceProDTO.DeviceProDataBlock);        //判断输送线是否允许取货信号
                        if (B_Event_Test == 1)
                        if (B_Event_Test == 1 || (task.SourceAddress== "R01-002-043-001-01" && B_Event_Test==6))
                        {
                            if (Releasespermitted2(commonStackerCrane, task.SourceAddress,true))  //写入堆垛机允许取货信号
                            {
@@ -1293,5 +1340,10 @@
        {
            WriteLog.Write_Log("出库站台信息", SCLLinStack, Logtype, new { ä¿¡æ¯ = Magessadd });
        }
        public void wcs_PLCto09(string SCLLinStack, string Logtype, string Magessadd)
        {
            WriteLog.Write_Log("堆垛机下发情况", SCLLinStack, Logtype, new { ä¿¡æ¯ = Magessadd });
        }
    }
}