wangxinhui
2025-09-26 9ae0890dd74771ba9edd44d4830e0de37f8d9938
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_Tasks/Âë¶â/MDJob_CP.cs
@@ -77,7 +77,7 @@
            if (flag && value != null)
            {
                OtherDevice device = (OtherDevice)value;
                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StackerCraneCode == device.DeviceCode);
                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StackerCraneCode == device.DeviceCode && x.StationType == 33);
                foreach (var item in stationMangers)
                {
                    //获取协议
@@ -109,18 +109,21 @@
                        var axis = _packaxisRepository.QueryFirst(x => x.DeviceCode == item.StackerCraneCode && x.StationCode == Convert.ToInt32(item.StackerCraneStationCode));
                        if (axis != null)
                        {
                            //进行结托
                            if (Convert.ToInt32(PackNum) == axis.PackNum)
                            {
                                device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == GetPackSendEnum(item.StackerCraneStationCode).ToString()).DeviceProDataBlock, 2);
                            }
                            //获取当前任务
                            Dt_Task task = _taskRepository.QueryData(x => x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.MD_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode).OrderBy(x => x.TaskNum).FirstOrDefault();
                            if (task != null) //码垛申请
                            ConsoleHelper.WriteInfoLine($"码垛工位{item.StationCode}状态{Allow}");
                            //码垛申请
                            if (Allow == 3 || Allow == 7)
                            {
                                if (Allow == 3 || Allow == 7)
                                {
                                //获取当前任务
                                Dt_Task task = _taskRepository.QueryData(x => x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.MD_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode).OrderBy(x => x.TaskNum).FirstOrDefault();
                                if (task != null)
                                {
                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == GetPackSendEnum(item.StackerCraneStationCode).ToString()).DeviceProDataBlock, 1);
                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDSendID.ToString()).DeviceProDataBlock, Convert.ToInt16(item.StackerCraneStationCode));
@@ -139,16 +142,18 @@
                                    #endregion
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDA.ToString()).DeviceProDataBlock, 1);
                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDReceiveDone.ToString()).DeviceProDataBlock, 3);
                                    //更新任务信息
                                    //_taskService.TaskCompleted(task.TaskNum);
                                    task.TaskState = TaskStatusEnum.Finish.ObjToInt();
                                    _taskRepository.UpdateData(task);
                                    //_taskRepository.UpdateData(task);
                                    Thread.Sleep(1500);
                                    WriteInfo(item.StationName, $"任务号{task.TaskNum}码垛");
                                    return Task.CompletedTask;
                                }
                            }
                        }
                        else