#include "TaskRunThread.h" TaskRunThread::TaskRunThread(QObject *parent) : QThread(parent), nThreadStatus(server_Run) {} TaskRunThread::~TaskRunThread() {} void TaskRunThread::SetCMDType(TaskType pCMDType) { nThreadStatus = pCMDType; } void TaskRunThread::SetRunData(int nCourseID, int nType, int nTrainingID, int nLineID) { m_nCourseID = nCourseID; m_nSysId = nType; m_nTrainID=nTrainingID; m_nLineID = nLineID; } void TaskRunThread::run() { switch (nThreadStatus) { case server_Run: { //当前可以进行训练 if (TaskMNG::instance()->getTaskStatus()==TaskMNG::TaskStatus::Status_Null) { TaskMNG::instance()->CreateDispatchTask(m_nCourseID, m_nSysId,m_nTrainID,m_nLineID,0,0, nullptr); TaskMNG::instance()->RunDispatchTask(m_nCourseID, m_nSysId, m_nTrainID); emit signal_RunSuccess(); } else if (TaskMNG::instance()->getTaskStatus() == TaskMNG::Status_Stop) { TaskMNG::instance()->DeleteDispatchTask(m_nCourseID, m_nSysId, m_nTrainID); TaskMNG::instance()->CreateDispatchTask(m_nCourseID, m_nSysId, m_nTrainID, m_nLineID, 0, 0, nullptr); TaskMNG::instance()->RunDispatchTask(m_nCourseID, m_nSysId, m_nTrainID); emit signal_RunSuccess(); } else { emit signal_ErrorData("is Running"); } } break; case server_Stop: { if (TaskMNG::instance()->getTaskStatus() == TaskMNG::TaskStatus::Status_Init || TaskMNG::instance()->getTaskStatus() == TaskMNG::TaskStatus::Status_Run) { TaskMNG::instance()->StopDispatchTask(m_nCourseID, m_nSysId, m_nTrainID); TaskMNG::instance()->DeleteDispatchTask(m_nCourseID, m_nSysId, m_nTrainID); emit signal_RunSuccess(); } else { emit signal_ErrorData("is Delete"); } } break; default: break; } }