qinchulong
2025-03-04 6acfe6b52441943b1ceb8468a2235326dad880fe
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs
@@ -45,7 +45,6 @@
        }
        public Task Execute(IJobExecutionContext context)
        {
            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
            if (flag && value != null)
            {
@@ -55,10 +54,10 @@
                var ZXJdevice = Storage.Devices.Find(v => v.DeviceName == "阳极整形机");
                //规整机PLC对象
                var GZJevice = Storage.Devices.Find(v => v.DeviceName == "阳极规整机");
                if (!device.Communicator.IsConnected || !ZXJdevice.Communicator.IsConnected || !GZJevice.Communicator.IsConnected)
                {
                    return Task.CompletedTask;
                }
                //if (!device.Communicator.IsConnected || !ZXJdevice.Communicator.IsConnected || !GZJevice.Communicator.IsConnected)
                //{
                //    return Task.CompletedTask;
                //}
                try
                {
                    #region å¤©è½¦å®Œæˆä»»åŠ¡é€»è¾‘
@@ -96,6 +95,14 @@
                                }
                            }
                        }
                        else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.OutInventory)
                        {
                            WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask);
                            if (result.Status)
                            {
                                device.SetValue(DeviceDBName.W_ConfirmSignal, 3);
                            }
                        }
                        return Task.CompletedTask;
                    }
                    else if (oHTReadData.R_RunState == (int)RunStateEnum.PutCompleted && oHTReadData.R_TaskState == (int)TaskStateEnum.TaskComplete)
@@ -111,7 +118,7 @@
                    #endregion
                    #region å¤©è½¦å‘送任务逻辑
                    if (oHTReadData.R_RunMode == (int)RunModeEnum.Automatic && oHTReadData.R_AlarmCode == (int)AlarmCodeEnum.Normal)
                    if (oHTReadData.R_RunMode == (int)RunModeEnum.Automatic )
                    {
                        if (oHTReadData.R_RunState == (int)RunStateEnum.Standby)
                        {
@@ -121,6 +128,8 @@
                                OHTTaskCommand? oHTTaskCommand = ConvertToOHTTaskCommand(task);
                                if (oHTTaskCommand != null)
                                {
                                    //给天车下发任务之前将此值写0
                                    device.SetValue(DeviceDBName.W_ConfirmSignal, 0);
                                    //todo:写入任务命令
                                    device.SetValue(DeviceDBName.W_Task_Type, oHTTaskCommand.W_Task_Type);
                                    device.SetValue(DeviceDBName.W_Pick_Line, oHTTaskCommand.W_Pick_Line);
@@ -184,7 +193,7 @@
                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"任务源地址配置错误!");
                    return null;
                }
                oHtTaskCommand.W_CheckValue = task.TaskType + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]);
                oHtTaskCommand.W_CheckValue = 2 + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]);
            }
            else if (task.TaskState == (int)TaskInStatusEnum.Line_Ingrab || task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
            {
@@ -203,7 +212,7 @@
                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"任务源地址配置错误!");
                    return null;
                }
                oHtTaskCommand.W_CheckValue = task.TaskType + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]);
                oHtTaskCommand.W_CheckValue = 3 + Convert.ToInt16(SourceCodes[0]) + Convert.ToInt16(SourceCodes[1]);
            }
            
            if (task.WMSId==1)
@@ -224,8 +233,8 @@
                oHtTaskCommand.W_Catch_2 = 1;
                oHtTaskCommand.W_CheckValue += 2;
            }
            oHtTaskCommand.W_TaskNumber = task.TaskNum;
            oHtTaskCommand.W_CheckValue += task.TaskNum;
            oHtTaskCommand.W_TaskNumber = task.TaskId;
            oHtTaskCommand.W_CheckValue += task.TaskId;
            return oHtTaskCommand;
        }
@@ -249,6 +258,17 @@
                    InorOut = "In";
                }
            }
            else
            {
                if (workType.Equals("In"))
                {
                    InorOut = "Out";
                }
                else
                {
                    InorOut = "In";
                }
            }
            return task;
        }
    }