mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
Частичная отправка задач в Юнити
This commit is contained in:
@@ -246,32 +246,40 @@ void ProcessingSystem::processingClientQueryToDB(ClientHandler *client, ClientQu
|
||||
|
||||
case TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE:
|
||||
{
|
||||
if(int id_new = providerDBLMS->newTaskAMM(*(TaskAmmFim*)data, id))
|
||||
int id_trainee = id;
|
||||
if(int id_new = providerDBLMS->newTaskAMM(*(TaskAmmFim*)data, id_trainee))
|
||||
{
|
||||
//Отправка списка задач AMM всем клиентам GUI
|
||||
//sendListTasksAMMofTraineetoClient(client, id);
|
||||
emit sigStatusTasksAMMofTraineeChanged(id);
|
||||
//sendListTasksAMMofTraineetoClient(client, id_trainee);
|
||||
emit sigStatusTasksAMMofTraineeChanged(id_trainee);
|
||||
|
||||
//Отправка списка задач AMM клиенту Юнити
|
||||
if(ClientHandler* clientUnity = getUnityClientById(id))
|
||||
if(ClientHandler* clientUnity = getUnityClientById(id_trainee))
|
||||
{//Есть такой
|
||||
sendListTasksAMMofTraineetoClient(clientUnity, id);
|
||||
//sendListTasksAMMofTraineetoClient(clientUnity, id_trainee);
|
||||
QList<int> listID;
|
||||
listID.append(id_new);
|
||||
sendListTasksAMMofTraineeByIDtoClient(clientUnity, id_trainee, listID);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE:
|
||||
{
|
||||
if(int id_new = providerDBLMS->newTaskFIM(*(TaskAmmFim*)data, id))
|
||||
int id_trainee = id;
|
||||
if(int id_new = providerDBLMS->newTaskFIM(*(TaskAmmFim*)data, id_trainee))
|
||||
{
|
||||
//Отправка списка задач FIM всем клиентам GUI
|
||||
//sendListTasksFIMofTraineetoClient(client, id);
|
||||
emit sigStatusTasksFIMofTraineeChanged(id);
|
||||
//sendListTasksFIMofTraineetoClient(client, id_trainee);
|
||||
emit sigStatusTasksFIMofTraineeChanged(id_trainee);
|
||||
|
||||
//Отправка списка задач FIM клиенту Юнити
|
||||
if(ClientHandler* clientUnity = getUnityClientById(id))
|
||||
if(ClientHandler* clientUnity = getUnityClientById(id_trainee))
|
||||
{//Есть такой
|
||||
sendListTasksFIMofTraineetoClient(clientUnity, id);
|
||||
//sendListTasksFIMofTraineetoClient(clientUnity, id_trainee);
|
||||
QList<int> listID;
|
||||
listID.append(id_new);
|
||||
sendListTasksFIMofTraineeByIDtoClient(clientUnity, id_trainee, listID);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -279,14 +287,16 @@ void ProcessingSystem::processingClientQueryToDB(ClientHandler *client, ClientQu
|
||||
|
||||
case TypeQueryToDB::TYPE_QUERY_GET_TASKS_AMM_FOR_TRAINEE:
|
||||
{
|
||||
int id_trainee = id;
|
||||
//Отправка списка задач AMM клиенту GUI
|
||||
sendListTasksAMMofTraineetoClient(client, id);
|
||||
sendListTasksAMMofTraineetoClient(client, id_trainee);
|
||||
break;
|
||||
}
|
||||
case TypeQueryToDB::TYPE_QUERY_GET_TASKS_FIM_FOR_TRAINEE:
|
||||
{
|
||||
int id_trainee = id;
|
||||
//Отправка списка задач FIM клиенту GUI
|
||||
sendListTasksFIMofTraineetoClient(client, id);
|
||||
sendListTasksFIMofTraineetoClient(client, id_trainee);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -356,7 +366,10 @@ void ProcessingSystem::processingClientQueryToDB(ClientHandler *client, ClientQu
|
||||
//Отправка списка задач AMM клиенту Юнити
|
||||
if(ClientHandler* clientUnity = getUnityClientById(id_trainee))
|
||||
{//Есть такой
|
||||
sendListTasksAMMofTraineetoClient(clientUnity, id_trainee);
|
||||
//sendListTasksAMMofTraineetoClient(clientUnity, id_trainee);
|
||||
QList<int> listID;
|
||||
listID.append(id);
|
||||
sendListTasksAMMofTraineeByIDtoClient(clientUnity, id_trainee, listID);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -374,7 +387,10 @@ void ProcessingSystem::processingClientQueryToDB(ClientHandler *client, ClientQu
|
||||
//Отправка списка задач FIM клиенту Юнити
|
||||
if(ClientHandler* clientUnity = getUnityClientById(id_trainee))
|
||||
{//Есть такой
|
||||
sendListTasksFIMofTraineetoClient(clientUnity, id_trainee);
|
||||
//sendListTasksFIMofTraineetoClient(clientUnity, id_trainee);
|
||||
QList<int> listID;
|
||||
listID.append(id);
|
||||
sendListTasksFIMofTraineeByIDtoClient(clientUnity, id_trainee, listID);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -469,7 +485,7 @@ void ProcessingSystem::setCurrentDataInfo(DataInfo *dataInfo)
|
||||
void ProcessingSystem::sendListTasksAMMofTraineetoClient(ClientHandler *client, int id_trainee)
|
||||
{
|
||||
QList<TaskAmmFim> listTasks = providerDBLMS->GetListTasksAMMofTrainee(id_trainee);
|
||||
QByteArray arrayAnswer = dataParser->DbAnswer()->listTasksAMMofTrainee(true, &listTasks, id_trainee);
|
||||
QByteArray arrayAnswer = dataParser->DbAnswer()->listTasksAMMofTrainee(true, &listTasks, id_trainee, true);
|
||||
//client->sendXmlAnswer(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_TRAINEE);
|
||||
client->sendFileBlockByteArray(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_TRAINEE);
|
||||
}
|
||||
@@ -477,7 +493,57 @@ void ProcessingSystem::sendListTasksAMMofTraineetoClient(ClientHandler *client,
|
||||
void ProcessingSystem::sendListTasksFIMofTraineetoClient(ClientHandler *client, int id_trainee)
|
||||
{
|
||||
QList<TaskAmmFim> listTasks = providerDBLMS->GetListTasksFIMofTrainee(id_trainee);
|
||||
QByteArray arrayAnswer = dataParser->DbAnswer()->listTasksFIMofTrainee(true, &listTasks, id_trainee);
|
||||
QByteArray arrayAnswer = dataParser->DbAnswer()->listTasksFIMofTrainee(true, &listTasks, id_trainee, true);
|
||||
//client->sendXmlAnswer(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_TRAINEE);
|
||||
client->sendFileBlockByteArray(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_TRAINEE);
|
||||
}
|
||||
|
||||
void ProcessingSystem::sendListTasksAMMofTraineeByIDtoClient(ClientHandler *client, int id_trainee, QList<int> listID)
|
||||
{
|
||||
QList<TaskAmmFim> listTasks = providerDBLMS->GetListTasksAMMofTrainee(id_trainee);
|
||||
|
||||
for(int i = 0; i < listTasks.count(); i++)
|
||||
{
|
||||
TaskAmmFim task = listTasks.at(i);
|
||||
bool flNeed = false;
|
||||
for(int id : listID)
|
||||
{
|
||||
if(id == task.getID())
|
||||
{
|
||||
flNeed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!flNeed)
|
||||
listTasks.removeAt(i);
|
||||
}
|
||||
|
||||
QByteArray arrayAnswer = dataParser->DbAnswer()->listTasksAMMofTrainee(true, &listTasks, id_trainee, false);
|
||||
//client->sendXmlAnswer(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_TRAINEE);
|
||||
client->sendFileBlockByteArray(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_AMM_OF_TRAINEE);
|
||||
}
|
||||
|
||||
void ProcessingSystem::sendListTasksFIMofTraineeByIDtoClient(ClientHandler *client, int id_trainee, QList<int> listID)
|
||||
{
|
||||
QList<TaskAmmFim> listTasks = providerDBLMS->GetListTasksFIMofTrainee(id_trainee);
|
||||
|
||||
for(int i = 0; i < listTasks.count(); i++)
|
||||
{
|
||||
TaskAmmFim task = listTasks.at(i);
|
||||
bool flNeed = false;
|
||||
for(int id : listID)
|
||||
{
|
||||
if(id == task.getID())
|
||||
{
|
||||
flNeed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!flNeed)
|
||||
listTasks.removeAt(i);
|
||||
}
|
||||
|
||||
QByteArray arrayAnswer = dataParser->DbAnswer()->listTasksFIMofTrainee(true, &listTasks, id_trainee, false);
|
||||
//client->sendXmlAnswer(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_TRAINEE);
|
||||
client->sendFileBlockByteArray(arrayAnswer, PacketType::TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_TRAINEE);
|
||||
}
|
||||
@@ -492,12 +558,12 @@ void ProcessingSystem::sendTaskListToUnity(ClientHandler *client)
|
||||
|
||||
//AMM
|
||||
QList<TaskAmmFim> listTasksAMM = providerDBLMS->GetListTasksAMMofTrainee(id_trainee);
|
||||
QByteArray arrayAnswerTasksAMM = dataParser->DbAnswer()->listTasksAMMofTrainee(true, &listTasksAMM, id_trainee);
|
||||
QByteArray arrayAnswerTasksAMM = dataParser->DbAnswer()->listTasksAMMofTrainee(true, &listTasksAMM, id_trainee, true);
|
||||
client->sendFileBlockByteArray(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);
|
||||
QByteArray arrayAnswerFIM = dataParser->DbAnswer()->listTasksFIMofTrainee(true, &listTasksFIM, id_trainee, true);
|
||||
client->sendFileBlockByteArray(arrayAnswerFIM, PacketType::TYPE_XMLANSWER_QUERY_TASKS_FIM_OF_TRAINEE);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user