ref: send task list to client

This commit is contained in:
semenov
2025-06-04 14:30:58 +03:00
parent c238a28800
commit d75eb3ce5c
7 changed files with 36 additions and 31 deletions

View File

@@ -90,23 +90,6 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien
client->sendXmlAnswer(arrayAnswer);
client->sendVersion();
//Отправка списков задач клиенту Юнити
if(client->getClient()->getIsUnity())
{
QString login = client->getClient()->getLogin();
int id_trainee = providerDBLMS->getIdTraineeByLogin(login);
//AMM
QList<TaskAmmFim> listTasksAMM = providerDBLMS->GetListTasksAMMofTrainee(id_trainee);
QByteArray arrayAnswerTasksAMM = dataParser->DbAnswer()->listTasksAMMofTrainee(true, &listTasksAMM, id_trainee);
client->sendXmlAnswer(arrayAnswerTasksAMM, PacketType::TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_TRAINEE);
//FIM
QList<TaskAmmFim> listTasksFIM = providerDBLMS->GetListTasksFIMofTrainee(id_trainee);
QByteArray arrayAnswerFIM = dataParser->DbAnswer()->listTasksFIMofTrainee(true, &listTasksFIM, id_trainee);
client->sendXmlAnswer(arrayAnswerFIM, PacketType::TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_TRAINEE);
}
QString str = QString(arrayAnswer);
//logger->addTextToLogger("To Client: " + str);
@@ -423,17 +406,9 @@ void ProcessingSystem::processingClientNotify(ClientHandler *client, ClientNotif
{
if(clientNotify.Code == commandReadyClient)
{//Клиент готов принять задания
client->getClient()->setReady(true); //скорее всего функции будут внутри хэндлера
//Отправляем пакет с заданиями для Обучаемого(клиента)
client->setReady(true);
sendTaskListToUnity(client);
client->getSocket()->flush();
//QStringList listTasks;
//QByteArray arrayAnswer = dataParser->ClientAnswer()->tasks(listTasks);
//client->sendXmlAnswer(arrayAnswer);
//QString str = QString(arrayAnswer);
//emit sigLogMessage("To Client: " + str);
}
else if(clientNotify.Code == commandDisableClient)
{
@@ -459,6 +434,9 @@ void ProcessingSystem::processingClientNotify(ClientHandler *client, ClientNotif
client->sigSendNotify(commandUnchangable);
}
}else if(clientNotify.Code == commandGetTasks)
{
sendTaskListToUnity(client);
}
}
@@ -481,6 +459,26 @@ void ProcessingSystem::sendListTasksFIMofTraineetoClient(ClientHandler *client,
client->sendXmlAnswer(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_TRAINEE);
}
void ProcessingSystem::sendTaskListToUnity(ClientHandler *client)
{
//Отправка списков задач клиенту Юнити
if(client->getClient()->getIsUnity())
{
QString login = client->getClient()->getLogin();
int id_trainee = providerDBLMS->getIdTraineeByLogin(login);
//AMM
QList<TaskAmmFim> listTasksAMM = providerDBLMS->GetListTasksAMMofTrainee(id_trainee);
QByteArray arrayAnswerTasksAMM = dataParser->DbAnswer()->listTasksAMMofTrainee(true, &listTasksAMM, id_trainee);
client->sendXmlAnswer(arrayAnswerTasksAMM, PacketType::TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_TRAINEE);
//FIM
QList<TaskAmmFim> listTasksFIM = providerDBLMS->GetListTasksFIMofTrainee(id_trainee);
QByteArray arrayAnswerFIM = dataParser->DbAnswer()->listTasksFIMofTrainee(true, &listTasksFIM, id_trainee);
client->sendXmlAnswer(arrayAnswerFIM, PacketType::TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_TRAINEE);
}
}
ClientHandler *ProcessingSystem::getUnityClientById(int id)
{
QString login = providerDBLMS->getLoginTraineeById(id);