wangxinhui
2025-03-31 a6e0ea9ce13e791f3edae4edffeb3be3ccb760be
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/StackerCraneJob_BC.cs
@@ -120,6 +120,8 @@
                                    task.Dispatchertime = DateTime.Now;
                                    task.ExceptionMessage = "";
                                    _taskService.UpdateTask(task, TaskStatusEnum.SC_Executing);
                                    //寤舵椂1s
                                    Thread.Sleep(1000);
                                }
                            }
                        }
@@ -200,7 +202,7 @@
                        }
                        else
                        {
                            _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: router.NextPosi, targetAddress: "1102");
                            _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: "1102", targetAddress: "1102");
                        }
                        
                    }
@@ -246,7 +248,12 @@
                //}
            }
            catch { }
            if (_taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.TaskState==TaskStatusEnum.SC_Executing.ObjToInt())!=null)
            {
                return null;
            }
            WriteDebug(commonStackerCrane.DeviceCode, $"璇诲彇鍒板綋鍓嶄换鍔″彿:{commonStackerCrane.CurrentTaskNum}");
            Dt_Task task;
            if (commonStackerCrane.LastTaskType == null)
            {
@@ -336,13 +343,22 @@
                else
                {
                    Dt_Task reloTask = _mapper.Map<Dt_Task>(taskDTO);
                    reloTask.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
                    reloTask.CurrentAddress = taskDTO.SourceAddress;
                    reloTask.NextAddress = taskDTO.TargetAddress;
                    reloTask.DeviceCode = task.DeviceCode;
                    reloTask.TaskType = TaskTypeEnum.Relocation.ObjToInt();
                    int taskId = _taskRepository.AddData(reloTask);
                    reloTask.TaskId = taskId;
                    //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц
                    Dt_Task existTask = _taskService.QueryStackerExistTask(reloTask.PalletCode, reloTask.SourceAddress);
                    if (existTask != null)
                    {
                        return existTask;
                    }
                    else
                    {
                        reloTask.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
                        reloTask.CurrentAddress = taskDTO.SourceAddress;
                        reloTask.NextAddress = taskDTO.TargetAddress;
                        reloTask.DeviceCode = task.DeviceCode;
                        reloTask.TaskType = TaskTypeEnum.Relocation.ObjToInt();
                        int taskId = _taskRepository.AddData(reloTask);
                        reloTask.TaskId = taskId;
                    }
                    return reloTask;
                }