Files
RRJServer/LibInstructorsAndTrainees/connectorToServer/connectortoserver_AnswerQueryToDB.cpp
2026-01-19 10:38:23 +03:00

143 lines
3.5 KiB
C++

#include "connectortoserver.h"
void ConnectorToServer::slot_AnswerQueryToDB_ListInstructors(QList<Instructor> listInstructors)
{
mtxAccess.lock();
this->listInstructors = listInstructors;
QList<User> listUsers;
for(Instructor instructor : listInstructors)
{
listUsers.append(instructor);
}
mtxAccess.unlock();
emit signal_UpdateDB(true, false);
emit signal_reInitMessangerByUsers(listUsers);
}
void ConnectorToServer::slot_AnswerQueryToDB_ListGroups(QList<Group> listGroups)
{
mtxAccess.lock();
this->listGroups = listGroups;
mtxAccess.unlock();
emit signal_UpdateDB(false, true);
}
void ConnectorToServer::slot_AnswerQueryToDB_ListTrainees(QList<Trainee> listTrainees)
{
mtxAccess.lock();
this->listTrainees = listTrainees;
QList<User> listUsers;
for(Trainee trainee : listTrainees)
{
listUsers.append(trainee);
}
mtxAccess.unlock();
emit signal_UpdateDB(false, true);
emit signal_reInitMessangerByUsers(listUsers);
}
void ConnectorToServer::slot_AnswerQueryToDB_ListComputers(QList<Computer> listComputers)
{
mtxAccess.lock();
this->listComputers = listComputers;
mtxAccess.unlock();
//emit signal_UpdateDB(false, true); //TODO
}
void ConnectorToServer::slot_AnswerQueryToDB_ListClassrooms(QList<Classroom> listClassrooms)
{
mtxAccess.lock();
this->listClassrooms = listClassrooms;
mtxAccess.unlock();
//emit signal_UpdateDB(false, true); //TODO
}
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
{
mtxAccess.lock();
//Удаляем старые задачи этого обучаемого
mapTasksAMM.remove(trainee_id);
//Добавляем новые
mapTasksAMM.insert(trainee_id, listTasks);
mtxAccess.unlock();
emit signal_UpdateTasksAMMforTrainee(trainee_id);
emit signal_UpdateDB(false, true);
}
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
{
mtxAccess.lock();
//Удаляем старые задачи этого обучаемого
mapTasksFIM.remove(trainee_id);
//Добавляем новые
mapTasksFIM.insert(trainee_id, listTasks);
mtxAccess.unlock();
emit signal_UpdateTasksFIMforTrainee(trainee_id);
emit signal_UpdateDB(false, true);
}
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
{
mtxAccess.lock();
this->listTaskFimArray = array;
mtxAccess.unlock();
emit signal_UpdateTasksFIM();
}
void ConnectorToServer::slot_AnswerQueryTasksXML_AMM(QByteArray array)
{
mtxAccess.lock();
this->listTaskAmmArray = array;
mapSubProc.clear();//Очищаем подпроцедуры (уже не актуальны)
mtxAccess.unlock();
emit signal_UpdateTasksAMM();
//Запрос старых оффлайн-сообщений
if(!fl_GetedOfflineMessages)
{
sendClientNotify(cmd_GetOfflineMessages);
fl_GetedOfflineMessages = true;
}
}
void ConnectorToServer::slot_AnswerQuerySubProc(QList<SubProc> listSubProc, QString parentTask_dmCode)
{
mtxAccess.lock();
//Удаляем старые Подпроцедуры этого dmCode
mapSubProc.remove(parentTask_dmCode);
//Добавляем новые
mapSubProc.insert(parentTask_dmCode, listSubProc);
mtxAccess.unlock();
emit signal_UpdateSubProcForDMCode(parentTask_dmCode);
}
void ConnectorToServer::slot_AnswerDocsChanged()
{
emit signal_AnswerDocsChanged();
}