mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +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)
|
int DataBaseLMS::deleteTaskFIM(int id_task)
|
||||||
{
|
{
|
||||||
|
//TODO доделать удаление malfunction
|
||||||
QString queryStr = QString("DELETE FROM public.tasks_fim "
|
QString queryStr = QString("DELETE FROM public.tasks_fim "
|
||||||
"WHERE task_id = %1 "
|
"WHERE task_id = %1 "
|
||||||
"RETURNING tasks_fim.task_id").arg(
|
"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> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
||||||
{
|
{
|
||||||
QList<TaskAmmFim> listTasks;
|
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 "
|
"trainees.trainee_id "
|
||||||
"FROM public.tasks_fim JOIN public.trainees ON trainees.trainee_id = tasks_fim.trainee_task "
|
"FROM public.tasks_fim JOIN public.trainees ON trainees.trainee_id = tasks_fim.trainee_task "
|
||||||
"WHERE tasks_fim.trainee_task = %1 "
|
"WHERE tasks_fim.trainee_task = %1 "
|
||||||
@@ -603,10 +608,45 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
|
|||||||
task.setID(query.value(0).toInt());
|
task.setID(query.value(0).toInt());
|
||||||
task.title = query.value(1).toString();
|
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);
|
listTasks.append(task);
|
||||||
}
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return QList<TaskAmmFim>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resBool = db->commit();
|
||||||
return listTasks;
|
return listTasks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -148,6 +148,15 @@ QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim>
|
|||||||
listNode.appendChild(taskNode);
|
listNode.appendChild(taskNode);
|
||||||
taskNode.toElement().setAttribute("task_id", QString::number(task.getID()));
|
taskNode.toElement().setAttribute("task_id", QString::number(task.getID()));
|
||||||
taskNode.toElement().setAttribute("title", task.title);
|
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);
|
dataParser->saveDOMtoXML("ListTasksFIM.xml", &commonDOM);
|
||||||
|
|||||||
Reference in New Issue
Block a user