Передача назначенных задач FIM из сервера в ГУИ

This commit is contained in:
krivoshein
2025-01-28 15:38:18 +03:00
parent c7c665bebd
commit 74ae7f7f75
18 changed files with 173 additions and 1 deletions

View File

@@ -275,6 +275,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
case TYPE_XMLANSWER_QUERY_DB__LIST_CLASSROOMS:
case TYPE_XMLANSWER_QUERY_DB__LIST_TASKS:
case TYPE_XMLANSWER_QUERY_TASKS_AMM_FOR_TRAINEE:
case TYPE_XMLANSWER_QUERY_TASKS_FIM_FOR_TRAINEE:
{
QByteArray array;
stream.startTransaction();
@@ -694,6 +695,28 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
emit sigAnswerQueryToDB_ListTasksAMMforTrainee(listTasks, trainee_id);
}
break;
case TYPE_XMLANSWER_QUERY_TASKS_FIM_FOR_TRAINEE:
{
QList<TaskAmmFim> listTasks;
int trainee_id = 0;
QDomNode listNode = commonDOM.namedItem("ListTasksFIM");
trainee_id = listNode.toElement().attribute("trainee_id").toInt();
for(int i = 0; i < listNode.childNodes().count(); i++)
{
QDomNode taskNode = listNode.childNodes().at(i);
if(taskNode.nodeName() == "taskFIM")
{//Задача
TaskAmmFim task;
task.setID(taskNode.toElement().attribute("task_id").toInt());
task.title = taskNode.toElement().attribute("title");
listTasks.append(task);
}
}
emit sigAnswerQueryToDB_ListTasksFIMforTrainee(listTasks, trainee_id);
}
break;
};
}

View File

@@ -50,6 +50,7 @@ signals:
void sigAnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms);
void sigAnswerQueryToDB_ListTasks(QList<Task> listTasks);
void sigAnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim>listTasks, int trainee_id);
void sigAnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim>listTasks, int trainee_id);
void sigAnswerQueryTasksXML_FIM(QByteArray array);
void sigAnswerQueryTasksXML_AMM(QByteArray array);
void sigShowServerDataList(QList<StreamingVersionData*> *versions);

View File

@@ -156,6 +156,14 @@ QList<TaskAmmFim> ConnectorToServer::getListTasksAMMforTrainee(int trainee_id)
return QList<TaskAmmFim>();
}
QList<TaskAmmFim> ConnectorToServer::getListTasksFIMforTrainee(int trainee_id)
{
if(mapTasksFIM.contains(trainee_id))
return mapTasksFIM.value(trainee_id);
else
return QList<TaskAmmFim>();
}
bool ConnectorToServer::isArchivedInstructor(int id)
{
for(Instructor instructor : listInstructors)
@@ -332,6 +340,17 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAm
emit signal_UpdateTasksAMMforTrainee(trainee_id);
}
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
{
//Удаляем старые задачи этого обучаемого
mapTasksFIM.remove(trainee_id);
//Добавляем новые
mapTasksFIM.insert(trainee_id, listTasks);
emit signal_UpdateTasksFIMforTrainee(trainee_id);
}
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
{
this->listTaskFimArray = array;
@@ -405,6 +424,7 @@ void ConnectorToServer::bindConnection()
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasks,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasks);
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksAMMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee);
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryToDB_ListTasksFIMforTrainee,this,&ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee);
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_FIM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_FIM);
connect(recognizeSystem,&RecognizeSystem::sigAnswerQueryTasksXML_AMM,this,&ConnectorToServer::slot_AnswerQueryTasksXML_AMM);

View File

@@ -46,6 +46,7 @@ public:
QList<Classroom> getListClassrooms();
QList<Task> getListTasks();
QList<TaskAmmFim> getListTasksAMMforTrainee(int trainee_id);
QList<TaskAmmFim> getListTasksFIMforTrainee(int trainee_id);
bool isArchivedInstructor(int id);
bool isAdminInstructor(int id);
@@ -75,6 +76,7 @@ public slots:
void slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms);
void slot_AnswerQueryToDB_ListTasks(QList<Task> listTasks);
void slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id);
void slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id);
void slot_AnswerQueryTasksXML_FIM(QByteArray array);
void slot_AnswerQueryTasksXML_AMM(QByteArray array);
@@ -133,6 +135,7 @@ private:
QList<Classroom> listClassrooms;
QList<Task> listTasks;
QMap<int, QList<TaskAmmFim>> mapTasksAMM;
QMap<int, QList<TaskAmmFim>> mapTasksFIM;
QByteArray listTaskFimArray;
QByteArray listTaskAmmArray;