mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
taskFIM выдаются из базы с Malfunction в GUI
This commit is contained in:
@@ -573,6 +573,7 @@ int DataBaseLMS::updateTaskFIM(TaskAmmFim task)
|
||||
|
||||
int DataBaseLMS::deleteTaskFIM(int id_task)
|
||||
{
|
||||
//TODO доделать удаление malfunction
|
||||
QString queryStr = QString("DELETE FROM public.tasks_fim "
|
||||
"WHERE task_id = %1 "
|
||||
"RETURNING tasks_fim.task_id").arg(
|
||||
@@ -584,8 +585,12 @@ int DataBaseLMS::deleteTaskFIM(int id_task)
|
||||
QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
||||
{
|
||||
QList<TaskAmmFim> listTasks;
|
||||
QString queryStr;
|
||||
bool resBool = false;
|
||||
|
||||
QString queryStr = QString("SELECT tasks_fim.task_id, tasks_fim.title, "
|
||||
resBool = db->transaction();
|
||||
|
||||
queryStr = QString("SELECT tasks_fim.task_id, tasks_fim.title, "
|
||||
"trainees.trainee_id "
|
||||
"FROM public.tasks_fim JOIN public.trainees ON trainees.trainee_id = tasks_fim.trainee_task "
|
||||
"WHERE tasks_fim.trainee_task = %1 "
|
||||
@@ -603,10 +608,45 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
||||
task.setID(query.value(0).toInt());
|
||||
task.title = query.value(1).toString();
|
||||
|
||||
//Выгребаем все malfunction для этой задачи
|
||||
queryStr = QString("SELECT malfunctions.malfunction_id, malfunctions.num, malfunctions.dm_code, malfunctions.description, "
|
||||
"tasks_fim.task_id "
|
||||
"FROM public.malfunctions JOIN public.tasks_fim ON tasks_fim.task_id = malfunctions.task_fim_malf "
|
||||
"WHERE malfunctions.task_fim_malf = %1 "
|
||||
"ORDER BY malfunctions.num ASC").arg(
|
||||
task.getID());
|
||||
|
||||
QSqlQuery queryMalf = QSqlQuery(*db);
|
||||
|
||||
if(queryExec(queryStr, &queryMalf))
|
||||
{
|
||||
while (queryMalf.next())
|
||||
{//Неисправность
|
||||
Malfunction malfanction;
|
||||
|
||||
malfanction.num = queryMalf.value(1).toString();
|
||||
malfanction.dmCode = queryMalf.value(2).toString();
|
||||
malfanction.description = queryMalf.value(3).toString();
|
||||
|
||||
task.addMalfunction(malfanction);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return QList<TaskAmmFim>();
|
||||
}
|
||||
|
||||
listTasks.append(task);
|
||||
}
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
resBool = db->rollback();
|
||||
return QList<TaskAmmFim>();
|
||||
}
|
||||
|
||||
resBool = db->commit();
|
||||
return listTasks;
|
||||
}
|
||||
|
||||
|
||||
@@ -148,6 +148,15 @@ QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim>
|
||||
listNode.appendChild(taskNode);
|
||||
taskNode.toElement().setAttribute("task_id", QString::number(task.getID()));
|
||||
taskNode.toElement().setAttribute("title", task.title);
|
||||
|
||||
for(Malfunction malfunction : task.malfunctionList)
|
||||
{//Неисправность
|
||||
QDomNode malfunctionNode = commonDOM.createElement("malfunction");
|
||||
taskNode.appendChild(malfunctionNode);
|
||||
malfunctionNode.toElement().setAttribute("dmCode", malfunction.dmCode);
|
||||
malfunctionNode.toElement().setAttribute("num", malfunction.num);
|
||||
malfunctionNode.toElement().setAttribute("description", malfunction.description);
|
||||
}
|
||||
}
|
||||
|
||||
dataParser->saveDOMtoXML("ListTasksFIM.xml", &commonDOM);
|
||||
|
||||
Reference in New Issue
Block a user