11
yanjinhui
2026-03-22 1ffa551c6deb1fc3a4c5a9af168e7bade6b2f329
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs
@@ -21,6 +21,7 @@
using WIDESEAWCS_DTO.WMS;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.DTO;
namespace WIDESEAWCS_TaskInfoService
{
@@ -82,6 +83,30 @@
                            break;
                        case "outbin"://离开起点
                            {
                                ///判断任务是否跟设备有关
                                TaskFromCompleted(task, deviceTypeEnum);
                            }
                            break;
                        case "finish"://离开提升机
                            {
                                //入提升机
                                if (task.TaskType == TaskTypeEnum.RK3F.ObjToInt() && task.TaskState == (int)TaskStatusEnum.CheckPalletCodeFinish)
                                {
                                    var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
                                    if (device == null) task.ExceptionMessage = "未找到提升机信息";
                                    else
                                    {
                                        DeviceProDTO? deviceProDTO = device.DeviceProDTOs.FirstOrDefault((DeviceProDTO x) => x.DeviceProParamName == HoistEnum.Inboundboxon.ToString());
                                        if (device.IsConnected)
                                            device.SetValue(HoistEnum.Inboundboxon, 1);//入库完成
                                        else
                                            task.ExceptionMessage = "提升机信息设备连接失败";
                                    }
                                }
                                //出提升机
                                if (task.TaskType == TaskTypeEnum.CK3F.ObjToInt() && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
                                {
                                    var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
@@ -89,13 +114,38 @@
                                    else
                                    {
                                        if (device.IsConnected)
                                            device.SetValue(HoistEnum.Outboundboxon, 1);
                                            device.SetValue(HoistEnum.Outboundboxon, 1);//出库完成
                                        else
                                            task.ExceptionMessage = "提升机信息设备连接失败";
                                    }
                                }
                                ///判断任务是否跟设备有关
                                TaskFromCompleted(task, deviceTypeEnum);
                                //四楼 å…¥åº“
                                if (task.TaskType == TaskTypeEnum.CHUKU1.ObjToInt() && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
                                {
                                    var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
                                    if (device == null) task.ExceptionMessage = "未找到提升机信息";
                                    else
                                    {
                                        if (device.IsConnected)
                                            device.SetValue(HoistEnum.Emptyboxplacedinposition, 1);
                                        else
                                            task.ExceptionMessage = "提升机信息设备连接失败";
                                    }
                                }
                                //四楼 å‡ºåº“
                                if (task.TaskType == TaskTypeEnum.Q1TSJ4.ObjToInt() && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
                                {
                                    var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
                                    if (device == null) task.ExceptionMessage = "未找到提升机信息";
                                    else
                                    {
                                        if (device.IsConnected)
                                            //写以一个出库完成信号
                                            device.SetValue(HoistEnum.Outboundboxretrievalcompleted, "1");
                                        else
                                            task.ExceptionMessage = "提升机信息设备连接失败";
                                    }
                                }
                            }
                            break;
                        case "into"://申请进入提升机
@@ -113,18 +163,7 @@
                        case "end"://任务完成通知
                            {
                                ///判断任务是否跟设备有关
                                if (task.TaskType == TaskTypeEnum.RK3F.ObjToInt() && task.TaskState == (int)TaskStatusEnum.CheckPalletCodeFinish)
                                {
                                    var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
                                    if (device == null) task.ExceptionMessage = "未找到提升机信息";
                                    else
                                    {
                                        if (device.IsConnected)
                                            device.SetValue(HoistEnum.Inboundboxon, 1);
                                        else
                                            task.ExceptionMessage = "提升机信息设备连接失败";
                                    }
                                }
                                TaskCompleted(task, deviceTypeEnum);
                            }
                            break;