From 22e2ebff94b7ffec294c43250719d10c27b0d75b Mon Sep 17 00:00:00 2001 From: krivoshein Date: Fri, 5 Sep 2025 17:23:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=BA=D0=B8=D0=BD=D1=83?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=B1=D1=89=D0=B5=D0=B5=20=D0=BA=D0=BE=D0=BB-?= =?UTF-8?q?=D0=B2=D0=BE=20AMM=20=D0=B8=20FIM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../connectorToServer/connectortoserver.cpp | 16 +++++++++++++++ .../connectorToServer/connectortoserver.h | 2 ++ .../tasks/ammtaskswidget.cpp | 2 ++ InstructorsAndTrainees/tasks/ammtaskswidget.h | 2 ++ .../tasks/fimtaskswidget.cpp | 2 ++ InstructorsAndTrainees/tasks/fimtaskswidget.h | 2 ++ .../trainees/personalcardtrainee.cpp | 20 +++++++++++++++++++ .../trainees/personalcardtrainee.h | 4 ++++ 8 files changed, 50 insertions(+) diff --git a/InstructorsAndTrainees/connectorToServer/connectortoserver.cpp b/InstructorsAndTrainees/connectorToServer/connectortoserver.cpp index 5486a6c..44237e7 100644 --- a/InstructorsAndTrainees/connectorToServer/connectortoserver.cpp +++ b/InstructorsAndTrainees/connectorToServer/connectortoserver.cpp @@ -194,6 +194,22 @@ QList ConnectorToServer::getListTasksFIMforTrainee(int trainee_id) return QList(); } +int ConnectorToServer::getCountTasksAMMforTrainee(int trainee_id) +{ + if(mapTasksAMM.contains(trainee_id)) + return mapTasksAMM.value(trainee_id).count(); + else + return 0; +} + +int ConnectorToServer::getCountTasksFIMforTrainee(int trainee_id) +{ + if(mapTasksFIM.contains(trainee_id)) + return mapTasksFIM.value(trainee_id).count(); + else + return 0; +} + bool ConnectorToServer::isArchivedInstructor(int id) { for(Instructor instructor : listInstructors) diff --git a/InstructorsAndTrainees/connectorToServer/connectortoserver.h b/InstructorsAndTrainees/connectorToServer/connectortoserver.h index bd3bcc7..14f55d0 100644 --- a/InstructorsAndTrainees/connectorToServer/connectortoserver.h +++ b/InstructorsAndTrainees/connectorToServer/connectortoserver.h @@ -47,6 +47,8 @@ public: QList getListClassrooms(); QList getListTasksAMMforTrainee(int trainee_id); QList getListTasksFIMforTrainee(int trainee_id); + int getCountTasksAMMforTrainee(int trainee_id); + int getCountTasksFIMforTrainee(int trainee_id); bool isArchivedInstructor(int id); bool isAdminInstructor(int id); diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index 300762e..9f4ff28 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -199,6 +199,8 @@ void AMMtasksWidget::slot_UpdateTasksAMMforTrainee(int trainee_id) { QList listTask = connectorToServer->getListTasksAMMforTrainee(trainee_id); signal_prepareAMMListItemsForTrainee(listTask); + + emit signal_countTasksAMMforTraineeChanged(trainee_id, listTask.count()); } } } diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.h b/InstructorsAndTrainees/tasks/ammtaskswidget.h index 0332745..a8c1113 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.h +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.h @@ -59,6 +59,8 @@ Q_SIGNALS: void signal_stopParserPreparation(); + void signal_countTasksAMMforTraineeChanged(int trainee_id, int count); + public Q_SLOTS: void slot_AMMlistItemsReady(QList listItems); diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp index 2885741..e581a78 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -226,6 +226,8 @@ void FIMtasksWidget::slot_UpdateTasksFIMforTrainee(int trainee_id) { QList listTask = connectorToServer->getListTasksFIMforTrainee(trainee_id); emit signal_prepareFIMListItemsForTrainee(listTask); + + emit signal_countTasksFIMforTraineeChanged(trainee_id, listTask.count()); } } } diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.h b/InstructorsAndTrainees/tasks/fimtaskswidget.h index ea0e52d..8e70f25 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.h +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.h @@ -61,6 +61,8 @@ Q_SIGNALS: void signal_stopParserPreparation(); + void signal_countTasksFIMforTraineeChanged(int trainee_id, int count); + public Q_SLOTS: void slot_FIMlistItemsReady(QList listItems); diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp index cfffdf0..8b52d0b 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp @@ -23,6 +23,10 @@ PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, M connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMMforTrainee, ammTasksWidget_personal, &AMMtasksWidget::slot_UpdateTasksAMMforTrainee); connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIMforTrainee, fimTasksWidget_personal, &FIMtasksWidget::slot_UpdateTasksFIMforTrainee); + connect(ammTasksWidget_personal, &AMMtasksWidget::signal_countTasksAMMforTraineeChanged, this, &PersonalCardTrainee::slot_countTasksAMMforTraineeChanged); + connect(fimTasksWidget_personal, &FIMtasksWidget::signal_countTasksFIMforTraineeChanged, this, &PersonalCardTrainee::slot_countTasksFIMforTraineeChanged); + + fimTasksWidget_personal->slot_traineeSelected(connectorToServer->getTrainee(id_trainee).getLogin()); ammTasksWidget_personal->slot_traineeSelected(connectorToServer->getTrainee(id_trainee).getLogin()); @@ -78,3 +82,19 @@ void PersonalCardTrainee::loadInfo() ui->lblLoginTime->setText(timing.getEntryTimeS()); ui->lblTimeExit->setText(timing.getExitTimeS()); } + +void PersonalCardTrainee::slot_countTasksAMMforTraineeChanged(int trainee_id, int count) +{ + if(id_trainee == trainee_id) + { + ui->lblCntAMM->setText(QString::number(count)); + } +} + +void PersonalCardTrainee::slot_countTasksFIMforTraineeChanged(int trainee_id, int count) +{ + if(id_trainee == trainee_id) + { + ui->lblCntFIM->setText(QString::number(count)); + } +} diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.h b/InstructorsAndTrainees/trainees/personalcardtrainee.h index 5d0188c..61729c8 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.h +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.h @@ -24,6 +24,10 @@ public: private: void loadInfo(); +public slots: + void slot_countTasksAMMforTraineeChanged(int trainee_id, int count); + void slot_countTasksFIMforTraineeChanged(int trainee_id, int count); + private: ConnectorToServer* connectorToServer; MessangerController* messangerController;