mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
ПКМ для FIM AMM
This commit is contained in:
@@ -71,7 +71,7 @@ int CommonView::calculateWidth_0Column()
|
|||||||
widthRightColumns += w;
|
widthRightColumns += w;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
width0Column = widthHeader - widthRightColumns - widthSB;
|
width0Column = widthHeader - widthRightColumns - widthSB - 20;
|
||||||
|
|
||||||
return width0Column;
|
return width0Column;
|
||||||
}
|
}
|
||||||
@@ -82,12 +82,6 @@ void CommonView::setWidthColumnsTree()
|
|||||||
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Name, 100);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Name, 100);
|
||||||
listWidthColumn.append(100);
|
listWidthColumn.append(100);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_AMMtasks, 100);
|
|
||||||
listWidthColumn.append(100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_FIMtasks, 100);
|
|
||||||
listWidthColumn.append(100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Login, 100);
|
|
||||||
listWidthColumn.append(100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Password, 100);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Password, 100);
|
||||||
listWidthColumn.append(100);
|
listWidthColumn.append(100);
|
||||||
|
|
||||||
@@ -102,8 +96,14 @@ void CommonView::setWidthColumnsTree()
|
|||||||
listWidthColumn.append(140);
|
listWidthColumn.append(140);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100);
|
||||||
listWidthColumn.append(100);
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_AMMtasks, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_FIMtasks, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Messages, 100);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Messages, 100);
|
||||||
listWidthColumn.append(100);
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Login, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80);
|
||||||
listWidthColumn.append(80);
|
listWidthColumn.append(80);
|
||||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40);
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40);
|
||||||
@@ -114,7 +114,7 @@ void CommonView::setWidthColumnsTree()
|
|||||||
|
|
||||||
void CommonView::reSetHeadTreeWidget()
|
void CommonView::reSetHeadTreeWidget()
|
||||||
{
|
{
|
||||||
QStringList listHeaders = {tr("Name"), tr("AMM tasks"), tr("FIM tasks"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Administrator"), tr("Archived"), tr("Messages"), tr("Online"), tr("ID")};
|
QStringList listHeaders = {tr("Name"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Administrator"), tr("Archived"), tr("AMM tasks"), tr("FIM tasks"), tr("Messages"), tr("Login"), tr("Online"), tr("ID")};
|
||||||
treeWidget->setHeaderLabels(listHeaders);
|
treeWidget->setHeaderLabels(listHeaders);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,16 +32,16 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
enum ColumnsTreeUsers{
|
enum ColumnsTreeUsers{
|
||||||
clmn_Name = 0,
|
clmn_Name = 0,
|
||||||
clmn_AMMtasks,
|
|
||||||
clmn_FIMtasks,
|
|
||||||
clmn_Login,
|
|
||||||
clmn_Password,
|
clmn_Password,
|
||||||
clmn_Class,
|
clmn_Class,
|
||||||
clmn_Computer,
|
clmn_Computer,
|
||||||
clmn_IP_address,
|
clmn_IP_address,
|
||||||
clmn_Administrator,
|
clmn_Administrator,
|
||||||
clmn_Archived,
|
clmn_Archived,
|
||||||
|
clmn_AMMtasks,
|
||||||
|
clmn_FIMtasks,
|
||||||
clmn_Messages,
|
clmn_Messages,
|
||||||
|
clmn_Login,
|
||||||
clmn_Logged,
|
clmn_Logged,
|
||||||
clmn_ID,
|
clmn_ID,
|
||||||
clmn_count
|
clmn_count
|
||||||
@@ -92,7 +92,7 @@ protected:
|
|||||||
|
|
||||||
void preparationTreeWidget();
|
void preparationTreeWidget();
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
int calculateWidth_0Column();
|
int calculateWidth_0Column();
|
||||||
void setWidthColumnsTree();
|
void setWidthColumnsTree();
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAm
|
|||||||
mtxAccess.unlock();
|
mtxAccess.unlock();
|
||||||
|
|
||||||
emit signal_UpdateTasksAMMforTrainee(trainee_id);
|
emit signal_UpdateTasksAMMforTrainee(trainee_id);
|
||||||
|
emit signal_UpdateDB(false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
||||||
@@ -91,6 +92,7 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAm
|
|||||||
mtxAccess.unlock();
|
mtxAccess.unlock();
|
||||||
|
|
||||||
emit signal_UpdateTasksFIMforTrainee(trainee_id);
|
emit signal_UpdateTasksFIMforTrainee(trainee_id);
|
||||||
|
emit signal_UpdateDB(false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
|
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
|
||||||
|
|||||||
@@ -86,10 +86,10 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
ui->groupBox_Instructors->setMinimumHeight(200);
|
ui->groupBox_Instructors->setMinimumHeight(200);
|
||||||
ui->groupBox_Instructors->setMaximumHeight(300);
|
ui->groupBox_Instructors->setMaximumHeight(300);
|
||||||
|
|
||||||
ui->groupBox_Trainees->setMinimumHeight(400);
|
ui->groupBox_Trainees->setMinimumHeight(500);
|
||||||
|
|
||||||
ui->groupBox_Trainees->setMinimumWidth(800);
|
ui->groupBox_Trainees->setMinimumWidth(900);
|
||||||
ui->groupBox_Instructors->setMinimumWidth(800);
|
ui->groupBox_Instructors->setMinimumWidth(900);
|
||||||
|
|
||||||
|
|
||||||
//Доступность кнопок
|
//Доступность кнопок
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
|
|
||||||
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
||||||
|
|
||||||
connect(treeWidget, &QTreeWidget::itemClicked, this, &AMMtasksWidget::on_treeWidgetItemClicked);
|
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &AMMtasksWidget::on_treeWidgetCurrentItemChanged);
|
||||||
connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &AMMtasksWidget::on_treeWidgetDoubleClicked);
|
connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &AMMtasksWidget::on_treeWidgetDoubleClicked);
|
||||||
|
|
||||||
preparationTreeWidget();
|
preparationTreeWidget();
|
||||||
@@ -199,9 +199,9 @@ void AMMtasksWidget::changeEvent(QEvent *event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
void AMMtasksWidget::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
|
||||||
{
|
{
|
||||||
if(item == nullptr)
|
if(current == nullptr)
|
||||||
{
|
{
|
||||||
ui->btnDelete->setEnabled(false);
|
ui->btnDelete->setEnabled(false);
|
||||||
ui->btnStatus->setEnabled(false);
|
ui->btnStatus->setEnabled(false);
|
||||||
@@ -211,7 +211,7 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
|
|
||||||
if(this->type == TypeListTreeAMMFIM::listCommon)
|
if(this->type == TypeListTreeAMMFIM::listCommon)
|
||||||
{
|
{
|
||||||
int id = item->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||||
TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
|
TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
|
||||||
|
|
||||||
if(taskTreePreparation->getTypeModuleAMMbyID(id) == ModuleType::TYPE_PM)
|
if(taskTreePreparation->getTypeModuleAMMbyID(id) == ModuleType::TYPE_PM)
|
||||||
@@ -229,13 +229,13 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
}
|
}
|
||||||
else if(this->type == TypeListTreeAMMFIM::listForTrainee)
|
else if(this->type == TypeListTreeAMMFIM::listForTrainee)
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *treeItemParent = item->parent();
|
QTreeWidgetItem *treeItemParent = current->parent();
|
||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбрана задача
|
{//Выбрана задача
|
||||||
ui->btnStatus->setEnabled(true);
|
ui->btnStatus->setEnabled(true);
|
||||||
ui->btnDelete->setEnabled(true);
|
ui->btnDelete->setEnabled(true);
|
||||||
|
|
||||||
int id = item->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||||
TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
|
TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
|
||||||
|
|
||||||
if(task.getID())
|
if(task.getID())
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ protected:
|
|||||||
void changeEvent(QEvent * event) override;
|
void changeEvent(QEvent * event) override;
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
|
void on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||||
void on_btnDelete_clicked();
|
void on_btnDelete_clicked();
|
||||||
void on_btnStatus_clicked();
|
void on_btnStatus_clicked();
|
||||||
void on_btnAssignTask_clicked();
|
void on_btnAssignTask_clicked();
|
||||||
|
|||||||
@@ -34,8 +34,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
|
|
||||||
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
||||||
|
|
||||||
//connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged);
|
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged);
|
||||||
connect(treeWidget, &QTreeWidget::itemClicked, this, &FIMtasksWidget::on_treeWidgetItemClicked);
|
|
||||||
|
|
||||||
preparationTreeWidget();
|
preparationTreeWidget();
|
||||||
|
|
||||||
@@ -160,9 +159,9 @@ void FIMtasksWidget::changeEvent(QEvent *event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
void FIMtasksWidget::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
|
||||||
{
|
{
|
||||||
if(item == nullptr)
|
if(current == nullptr)
|
||||||
{
|
{
|
||||||
ui->btnDelete->setEnabled(false);
|
ui->btnDelete->setEnabled(false);
|
||||||
ui->btnCheck->setEnabled(false);
|
ui->btnCheck->setEnabled(false);
|
||||||
@@ -170,10 +169,10 @@ void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTreeWidgetItem *treeItemParent = item->parent();
|
QTreeWidgetItem *treeItemParent = current->parent();
|
||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбрана задача
|
{//Выбрана задача
|
||||||
int id = item->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
|
int id = current->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
|
||||||
|
|
||||||
TaskAmmFim task = taskTreePreparation->getTaskFIMbyID(id);
|
TaskAmmFim task = taskTreePreparation->getTaskFIMbyID(id);
|
||||||
|
|
||||||
@@ -201,14 +200,14 @@ void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setCurrentParentTask(item);
|
//setCurrentParentTask(current);
|
||||||
|
|
||||||
/*
|
/**/
|
||||||
ui->btnAssignTask->setEnabled(false);
|
ui->btnAssignTask->setEnabled(false);
|
||||||
|
|
||||||
ui->btnDelete->setEnabled(false);
|
ui->btnDelete->setEnabled(false);
|
||||||
ui->btnCheck->setEnabled(false);
|
ui->btnCheck->setEnabled(false);
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -469,7 +468,9 @@ void FIMtasksWidget::setCurrentTask(int id)
|
|||||||
if(item->text(ColumnsTreeFIM::clmnFIM_ID).toInt() == id)
|
if(item->text(ColumnsTreeFIM::clmnFIM_ID).toInt() == id)
|
||||||
{
|
{
|
||||||
treeWidget->setCurrentItem(item);
|
treeWidget->setCurrentItem(item);
|
||||||
treeWidget->itemClicked(item, 0);
|
//treeWidget->itemClicked(item, 0);
|
||||||
|
//treeWidget->itemChanged(item, 0);
|
||||||
|
treeWidget->setItemSelected(item, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ protected:
|
|||||||
void changeEvent(QEvent * event) override;
|
void changeEvent(QEvent * event) override;
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
|
void on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||||
void on_btnDelete_clicked();
|
void on_btnDelete_clicked();
|
||||||
void on_btnCheck_clicked();
|
void on_btnCheck_clicked();
|
||||||
void on_btnAssignTask_clicked();
|
void on_btnAssignTask_clicked();
|
||||||
|
|||||||
@@ -20,6 +20,56 @@ void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString TraineesView::buildStatisticTasksAMM(QList<TaskAmmFim> listTasks)
|
||||||
|
{
|
||||||
|
QString stat = "X/X";
|
||||||
|
int cntAll = 0;
|
||||||
|
int cntCompleted = 0;
|
||||||
|
|
||||||
|
for(TaskAmmFim task : listTasks)
|
||||||
|
{
|
||||||
|
cntAll++;
|
||||||
|
|
||||||
|
if(task.status == "completed")
|
||||||
|
cntCompleted++;
|
||||||
|
}
|
||||||
|
|
||||||
|
stat = QString("%1/%2").arg(
|
||||||
|
QString::number(cntCompleted),
|
||||||
|
QString::number(cntAll));
|
||||||
|
|
||||||
|
return stat;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString TraineesView::buildStatisticTasksFIM(QList<TaskAmmFim> listTasks)
|
||||||
|
{
|
||||||
|
QString stat = "X/X/X";
|
||||||
|
int cntAll = 0;
|
||||||
|
int cntCompleted = 0;
|
||||||
|
int cntCheckup = 0;
|
||||||
|
int cntFailed = 0;
|
||||||
|
|
||||||
|
for(TaskAmmFim task : listTasks)
|
||||||
|
{
|
||||||
|
cntAll++;
|
||||||
|
|
||||||
|
if(task.status == "completed")
|
||||||
|
cntCompleted++;
|
||||||
|
else if(task.status == "checkup")
|
||||||
|
cntCheckup++;
|
||||||
|
else if(task.status == "failed")
|
||||||
|
cntFailed++;
|
||||||
|
}
|
||||||
|
|
||||||
|
stat = QString("%1/%2/%3/%4").arg(
|
||||||
|
QString::number(cntCompleted),
|
||||||
|
QString::number(cntFailed),
|
||||||
|
QString::number(cntCheckup),
|
||||||
|
QString::number(cntAll));
|
||||||
|
|
||||||
|
return stat;
|
||||||
|
}
|
||||||
|
|
||||||
void TraineesView::loadTraineesFromDB()
|
void TraineesView::loadTraineesFromDB()
|
||||||
{
|
{
|
||||||
mtxTreeWidget.lock();
|
mtxTreeWidget.lock();
|
||||||
@@ -51,6 +101,11 @@ void TraineesView::loadTraineesFromDB()
|
|||||||
if(trainee.getGroup().getID() != group.getID())
|
if(trainee.getGroup().getID() != group.getID())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
QList<TaskAmmFim> listAMM = connectorToServer->getListTasksAMMforTrainee(trainee.getID());
|
||||||
|
QList<TaskAmmFim> listFIM = connectorToServer->getListTasksFIMforTrainee(trainee.getID());
|
||||||
|
QString statAMM = buildStatisticTasksAMM(listAMM);
|
||||||
|
QString statFIM = buildStatisticTasksFIM(listFIM);
|
||||||
|
|
||||||
QTreeWidgetItem *ItemTrainee = new QTreeWidgetItem();
|
QTreeWidgetItem *ItemTrainee = new QTreeWidgetItem();
|
||||||
|
|
||||||
ItemTrainee->setText(ColumnsTreeUsers::clmn_ID, QString::number(trainee.getID()));
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_ID, QString::number(trainee.getID()));
|
||||||
@@ -61,6 +116,9 @@ void TraineesView::loadTraineesFromDB()
|
|||||||
ItemTrainee->setText(ColumnsTreeUsers::clmn_Computer, trainee.getComputer().getName());
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Computer, trainee.getComputer().getName());
|
||||||
ItemTrainee->setText(ColumnsTreeUsers::clmn_IP_address, trainee.getComputer().getIpAddress());
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_IP_address, trainee.getComputer().getIpAddress());
|
||||||
|
|
||||||
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_AMMtasks, statAMM);
|
||||||
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_FIMtasks, statFIM);
|
||||||
|
|
||||||
//Сокрытие пароля
|
//Сокрытие пароля
|
||||||
ItemTrainee->setText(ColumnsTreeUsers::clmn_Password, QStringLiteral("******"));
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Password, QStringLiteral("******"));
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ public Q_SLOTS:
|
|||||||
//Слот обработки сигнала необходимости обновления интерфейса
|
//Слот обработки сигнала необходимости обновления интерфейса
|
||||||
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString buildStatisticTasksAMM(QList<TaskAmmFim> listTasks);
|
||||||
|
QString buildStatisticTasksFIM(QList<TaskAmmFim> listTasks);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void updateButtons(){};
|
virtual void updateButtons(){};
|
||||||
void loadTraineesFromDB();
|
void loadTraineesFromDB();
|
||||||
|
|||||||
Reference in New Issue
Block a user