diff --git a/DataBaseLMS/databaselms_trainees.cpp b/DataBaseLMS/databaselms_trainees.cpp index 4227828..8de21c6 100644 --- a/DataBaseLMS/databaselms_trainees.cpp +++ b/DataBaseLMS/databaselms_trainees.cpp @@ -261,6 +261,39 @@ int DataBaseLMS::deleteTrainee(int id_trainee) //Удаление задач AMM + /*Выборка задач AMM для этого обучаемого*/ + queryStr = QString("SELECT tasks_amm.task_id " + "FROM public.tasks_amm " + "WHERE tasks_amm.fk_trainee_id = %1 " + "ORDER BY tasks_amm.task_id ASC").arg( + id_trainee); + + QSqlQuery queryTasksAMMSEL = QSqlQuery(*db); + if(queryExec(queryStr, &queryTasksAMMSEL)) + { + while (queryTasksAMMSEL.next()) + {//Задача + int task_id = queryTasksAMMSEL.value(0).toInt(); + + queryStr = QString("DELETE FROM public.subprocs " + "WHERE fk_task_amm_id = %1 ").arg( + QString::number(task_id)); + + QSqlQuery querySubProcDEL = QSqlQuery(*db); + if(!queryExec(queryStr, &querySubProcDEL)) + { + resBool = db->rollback(); + return 0; + } + } + } + else + { + resBool = db->rollback(); + return 0; + } + + queryStr = QString("DELETE FROM public.tasks_amm " "WHERE fk_trainee_id = %1 ").arg( QString::number(id_trainee)); diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index c35b669..9a842b1 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -311,6 +311,12 @@ void AMMtasksWidget::preparationTreeWidget() { treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true); treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true); + +#ifdef PROJECT_TYPE_DEBUG + treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_canplay, false); +#else + treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_canplay, true); +#endif } else { diff --git a/InstructorsAndTrainees/tasks/listsubproc.cpp b/InstructorsAndTrainees/tasks/listsubproc.cpp index 4dd6abb..f1e047a 100644 --- a/InstructorsAndTrainees/tasks/listsubproc.cpp +++ b/InstructorsAndTrainees/tasks/listsubproc.cpp @@ -152,10 +152,13 @@ void ListSubProc::slot_UpdateSubProcForDMCode(QString dmCode) { QList list = connectorToServer->getListSubProcForDMCode(dmCode); + if(!list.count()) + on_btnAssign_clicked(); + for(SubProc subProc : list) { QTreeWidgetItem* item = new QTreeWidgetItem(treeWidget); - item->setIcon(0, QIcon(":/resources/icons/link.png")); + //item->setIcon(0, QIcon(":/resources/icons/link.png")); item->setText(ColumnsTreeSubProc::clmnSP_title, subProc.getTitle()); item->setText(ColumnsTreeSubProc::clmnSP_code, subProc.getDmCode()); item->setText(ColumnsTreeSubProc::clmnSP_canplay, subProc.getModeListStr()); @@ -166,6 +169,8 @@ void ListSubProc::slot_UpdateSubProcForDMCode(QString dmCode) { item->setFlags(item->flags() | Qt::ItemIsUserCheckable); item->setCheckState(ColumnsTreeSubProc::clmnSP_title, Qt::Checked); + + treeWidget->addTopLevelItem(item); } else { @@ -173,9 +178,13 @@ void ListSubProc::slot_UpdateSubProcForDMCode(QString dmCode) item->setCheckState(ColumnsTreeSubProc::clmnSP_title, Qt::Unchecked); item->setFlags(item->flags() ^ Qt::ItemIsEnabled); - } - treeWidget->addTopLevelItem(item); +#ifdef PROJECT_TYPE_DEBUG + treeWidget->addTopLevelItem(item); +#else + +#endif + } } waitAnimationWidget->hideWithStop(); diff --git a/InstructorsAndTrainees/tasks/listsubproc.ui b/InstructorsAndTrainees/tasks/listsubproc.ui index c47623e..c8a2479 100644 --- a/InstructorsAndTrainees/tasks/listsubproc.ui +++ b/InstructorsAndTrainees/tasks/listsubproc.ui @@ -6,7 +6,7 @@ 0 0 - 400 + 594 300 @@ -49,7 +49,7 @@ - Select subprocedures allowed to run in Auto mode: + Select the sub-procedures that are allowed to be run by the trainee in automatic mode: @@ -72,7 +72,7 @@ Assign - + :/resources/icons/circleGreen.png:/resources/icons/circleGreen.png @@ -93,7 +93,7 @@ - +