Установка статуса для AMM

This commit is contained in:
2025-07-04 12:13:13 +03:00
parent 36e9832b40
commit d658745ad3
16 changed files with 223 additions and 67 deletions

View File

@@ -545,13 +545,49 @@ int DataBaseLMS::updateTaskAMM(TaskAmmFim task)
int DataBaseLMS::updateStatusTaskAMM(int task_id, QString status)
{
QString queryStr = QString("UPDATE public.tasks_amm SET status = '%1' "
QString queryStr;
bool resBool = false;
int id_trainee = 0;
resBool = db->transaction();
queryStr = QString("SELECT trainees.trainee_id "
"FROM public.trainees JOIN public.tasks_amm ON trainees.trainee_id = tasks_amm.trainee_task "
"WHERE tasks_amm.task_id = %1 "
"ORDER BY trainees.trainee_id ASC").arg(
QString::number(task_id));
QSqlQuery query = QSqlQuery(*db);
if(queryExec(queryStr, &query))
{
if (query.first())
{//Обучаемый
id_trainee = query.value(0).toInt();
}
}
if(!id_trainee)
{
resBool = db->rollback();
return 0;
}
queryStr = QString("UPDATE public.tasks_amm SET status = '%1' "
"WHERE task_id = %2 "
"RETURNING tasks_amm.task_id").arg(
status,
QString::number(task_id) );
return queryExecInt(queryStr);
if(!queryExecInt(queryStr))
{
resBool = db->rollback();
return 0;
}
resBool = db->commit();
return id_trainee;
}
int DataBaseLMS::deleteTaskAMM(int id_task)

View File

@@ -307,11 +307,6 @@ int InterfaceDataBaseLMS::editTaskAMM(TaskAmmFim task)
return updateTaskAMM(task);
}
int InterfaceDataBaseLMS::editStatusTaskAMM(int task_id, QString status)
{
return updateStatusTaskAMM(task_id, status);
}
QList<TaskAmmFim> InterfaceDataBaseLMS::getListTasksAMMofTrainee(int id_trainee)
{
return selectTasksAMMofTrainee(id_trainee);
@@ -356,6 +351,11 @@ int InterfaceDataBaseLMS::changeStatusTaskFIM(int id_task, QString status)
return updateStatusTaskFIM(id_task, status);
}
int InterfaceDataBaseLMS::changeStatusTaskAMM(int id_task, QString status)
{
return updateStatusTaskAMM(id_task, status);
}
int InterfaceDataBaseLMS::newTrainee(int id_group)
{
return insertTrainee(id_group);

View File

@@ -72,7 +72,6 @@ public:
int newTaskAMM(TaskAmmFim task, int id_trainee);
int delTaskAMM(int id);
int editTaskAMM(TaskAmmFim task);
int editStatusTaskAMM(int task_id, QString status);
QList<TaskAmmFim> getListTasksAMMofTrainee(int id_trainee);
QList<TaskAmmFim> getListTasksFIMofTrainee(int id_trainee);
@@ -82,6 +81,7 @@ public:
int editTaskFIM(TaskAmmFim task);
int replaceReportFIM(TaskAmmFim task);
int changeStatusTaskFIM(int id_task, QString status);
int changeStatusTaskAMM(int id_task, QString status);
int newTrainee(int id_group);
int delTrainee(int id);

View File

@@ -25,6 +25,7 @@ enum TypeQueryToDB{
TYPE_QUERY_SET_REPORT_TASK_AMM_TO_TRAINEE,
TYPE_QUERY_SET_REPORT_TASK_FIM_TO_TRAINEE,
TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE,
TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE
};