From 923003a1600977c01a49f4abf72332fa66d4aa3a Mon Sep 17 00:00:00 2001 From: krivoshein Date: Mon, 27 Jan 2025 11:40:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BF=D1=80=D0=B0=D0=BA=D1=83=20=D0=B7=D0=B0=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D1=81=D0=BE=D0=B2=20=D0=B2=20=D1=81=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=20=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D0=BA=D1=80=D0=B5=D1=82=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BE=D0=B1=D1=83=D1=87=D0=B0=D0=B5=D0=BC=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataBaseLMS/typeQueryToDB.h | 4 ++- .../instructorsandtraineeswidget.cpp | 2 +- .../tasks/ammtaskswidget.cpp | 6 +++++ .../tasks/fimtaskswidget.cpp | 6 +++++ .../trainees/viewertrainees.cpp | 25 +++++++++++++++++-- 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/DataBaseLMS/typeQueryToDB.h b/DataBaseLMS/typeQueryToDB.h index 72b45f0..d534b0c 100644 --- a/DataBaseLMS/typeQueryToDB.h +++ b/DataBaseLMS/typeQueryToDB.h @@ -15,7 +15,9 @@ enum TypeQueryToDB{ TYPE_QUERY_DEL_TRAINEE, TYPE_QUERY_EDIT_TRAINEE, TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, - TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE + TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE, + TYPE_QUERY_GET_TASKS_AMM_FOR_TRAINEE, + TYPE_QUERY_GET_TASKS_FIM_FOR_TRAINEE }; #endif // TYPEQUERYTODB_H diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp index 7aab0dc..d3e9255 100644 --- a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp +++ b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp @@ -49,7 +49,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) : connect(connectorToServer,&ConnectorToServer::signal_ConnectedToServer,this,&InstructorsAndTraineesWidget::slot_ConnectedToServer); ammTasksWidget = new AMMtasksWidget(connectorToServer, AMMtasksWidget::TypeList::listCommon, this); - fimTasksWidget = new FIMtasksWidget(connectorToServer, FIMtasksWidget::TypeList::listForTrainee, this); + fimTasksWidget = new FIMtasksWidget(connectorToServer, FIMtasksWidget::TypeList::listCommon, this); connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIM, fimTasksWidget, &FIMtasksWidget::slot_NeedUpdateUI); connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMM, ammTasksWidget, &AMMtasksWidget::slot_NeedUpdateUI); diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index 3af1b3b..1699a20 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -114,6 +114,12 @@ void AMMtasksWidget::slot_traineeSelected(QString login) { qDebug() << "AMMtasksWidget::slot_traineeSelected thread ID " << QThread::currentThreadId(); loginTraineeSelected = login; + + if(type == TypeList::listForTrainee) + { + int trainee_id = connectorToServer->getIdTraineeByLogin(loginTraineeSelected); + connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_AMM_FOR_TRAINEE, trainee_id); + } } void AMMtasksWidget::loadTasksAMM() diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp index 5e95f64..1fb4c07 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -223,6 +223,12 @@ void FIMtasksWidget::slot_traineeSelected(QString login) { qDebug() << "FIMtasksWidget::slot_traineeSelected thread ID " << QThread::currentThreadId(); loginTraineeSelected = login; + + if(type == TypeList::listForTrainee) + { + int trainee_id = connectorToServer->getIdTraineeByLogin(loginTraineeSelected); + connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_FIM_FOR_TRAINEE, trainee_id); + } } void FIMtasksWidget::loadTasksFIM() diff --git a/InstructorsAndTrainees/trainees/viewertrainees.cpp b/InstructorsAndTrainees/trainees/viewertrainees.cpp index f467191..0624d7d 100644 --- a/InstructorsAndTrainees/trainees/viewertrainees.cpp +++ b/InstructorsAndTrainees/trainees/viewertrainees.cpp @@ -17,6 +17,9 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *pa ammTasksWidget = new AMMtasksWidget(connectorToServer, AMMtasksWidget::TypeList::listForTrainee, this); fimTasksWidget = new FIMtasksWidget(connectorToServer, FIMtasksWidget::TypeList::listForTrainee, this); + connect(this, &ViewerTrainees::signal_traineeSelected, fimTasksWidget, &FIMtasksWidget::slot_traineeSelected); + connect(this, &ViewerTrainees::signal_traineeSelected, ammTasksWidget, &AMMtasksWidget::slot_traineeSelected); + ui->verticalLayout_2->addWidget(ammTasksWidget); ui->verticalLayout_2->addWidget(fimTasksWidget); @@ -47,6 +50,9 @@ void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column void ViewerTrainees::slot_tabMessengerChanged(QString login) { + if(login == "") + return; + for (int i = 0; i < treeWidget->topLevelItemCount(); i++) {//Проход по группам int countChild = treeWidget->topLevelItem(i)->childCount(); @@ -58,7 +64,12 @@ void ViewerTrainees::slot_tabMessengerChanged(QString login) { treeWidget->setCurrentItem(treeWidget->topLevelItem(i)->child(j)); typeObject = TypeObject::objTrainee; - lastCurrentID = connectorToServer->getIdTraineeByLogin(login); + int newCurrentID = connectorToServer->getIdTraineeByLogin(login); + + if(newCurrentID == lastCurrentID) + return; + + lastCurrentID = newCurrentID; Q_EMIT signal_traineeSelected(login); return; } @@ -106,7 +117,17 @@ void ViewerTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, if(current->childCount() == 0) {//Выбран обучаемый QString login = current->text(ColumnsTreeTrainees::clmn_Login); - Q_EMIT signal_traineeSelected(login); + if(login != "") + { + int newCurrentID = connectorToServer->getIdTraineeByLogin(login); + + if(newCurrentID == lastCurrentID) + return; + + lastCurrentID = newCurrentID; + + Q_EMIT signal_traineeSelected(login); + } } }