Correct SQL Delete Trainee query

This commit is contained in:
2025-11-20 15:29:51 +03:00
parent 08664989b9
commit 15eade2363
4 changed files with 55 additions and 7 deletions

View File

@@ -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));

View File

@@ -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
{

View File

@@ -152,10 +152,13 @@ void ListSubProc::slot_UpdateSubProcForDMCode(QString dmCode)
{
QList<SubProc> 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();

View File

@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<width>594</width>
<height>300</height>
</rect>
</property>
@@ -49,7 +49,7 @@
<item>
<widget class="QLabel" name="label_SubProc">
<property name="text">
<string>Select subprocedures allowed to run in Auto mode:</string>
<string>Select the sub-procedures that are allowed to be run by the trainee in automatic mode:</string>
</property>
</widget>
</item>
@@ -72,7 +72,7 @@
<string>Assign</string>
</property>
<property name="icon">
<iconset resource="../InstructorsAndTrainees.qrc">
<iconset resource="../../ServerLMS/ServerLMS.qrc">
<normaloff>:/resources/icons/circleGreen.png</normaloff>:/resources/icons/circleGreen.png</iconset>
</property>
<property name="iconSize">
@@ -93,7 +93,7 @@
</layout>
</widget>
<resources>
<include location="../InstructorsAndTrainees.qrc"/>
<include location="../../ServerLMS/ServerLMS.qrc"/>
</resources>
<connections/>
</ui>