mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
ПКМ для FIM AMM
This commit is contained in:
@@ -71,7 +71,7 @@ int CommonView::calculateWidth_0Column()
|
||||
widthRightColumns += w;
|
||||
}
|
||||
}
|
||||
width0Column = widthHeader - widthRightColumns - widthSB;
|
||||
width0Column = widthHeader - widthRightColumns - widthSB - 20;
|
||||
|
||||
return width0Column;
|
||||
}
|
||||
@@ -82,12 +82,6 @@ void CommonView::setWidthColumnsTree()
|
||||
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Name, 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);
|
||||
listWidthColumn.append(100);
|
||||
|
||||
@@ -102,8 +96,14 @@ void CommonView::setWidthColumnsTree()
|
||||
listWidthColumn.append(140);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 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);
|
||||
listWidthColumn.append(100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Login, 100);
|
||||
listWidthColumn.append(100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80);
|
||||
listWidthColumn.append(80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40);
|
||||
@@ -114,7 +114,7 @@ void CommonView::setWidthColumnsTree()
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -32,16 +32,16 @@ public:
|
||||
protected:
|
||||
enum ColumnsTreeUsers{
|
||||
clmn_Name = 0,
|
||||
clmn_AMMtasks,
|
||||
clmn_FIMtasks,
|
||||
clmn_Login,
|
||||
clmn_Password,
|
||||
clmn_Class,
|
||||
clmn_Computer,
|
||||
clmn_IP_address,
|
||||
clmn_Administrator,
|
||||
clmn_Archived,
|
||||
clmn_AMMtasks,
|
||||
clmn_FIMtasks,
|
||||
clmn_Messages,
|
||||
clmn_Login,
|
||||
clmn_Logged,
|
||||
clmn_ID,
|
||||
clmn_count
|
||||
@@ -92,7 +92,7 @@ protected:
|
||||
|
||||
void preparationTreeWidget();
|
||||
|
||||
private:
|
||||
protected:
|
||||
int calculateWidth_0Column();
|
||||
void setWidthColumnsTree();
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTasksAMMforTrainee(QList<TaskAm
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateTasksAMMforTrainee(trainee_id);
|
||||
emit signal_UpdateDB(false, true);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAmmFim> listTasks, int trainee_id)
|
||||
@@ -91,6 +92,7 @@ void ConnectorToServer::slot_AnswerQueryToDB_ListTasksFIMforTrainee(QList<TaskAm
|
||||
mtxAccess.unlock();
|
||||
|
||||
emit signal_UpdateTasksFIMforTrainee(trainee_id);
|
||||
emit signal_UpdateDB(false, true);
|
||||
}
|
||||
|
||||
void ConnectorToServer::slot_AnswerQueryTasksXML_FIM(QByteArray array)
|
||||
|
||||
@@ -86,10 +86,10 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
||||
ui->groupBox_Instructors->setMinimumHeight(200);
|
||||
ui->groupBox_Instructors->setMaximumHeight(300);
|
||||
|
||||
ui->groupBox_Trainees->setMinimumHeight(400);
|
||||
ui->groupBox_Trainees->setMinimumHeight(500);
|
||||
|
||||
ui->groupBox_Trainees->setMinimumWidth(800);
|
||||
ui->groupBox_Instructors->setMinimumWidth(800);
|
||||
ui->groupBox_Trainees->setMinimumWidth(900);
|
||||
ui->groupBox_Instructors->setMinimumWidth(900);
|
||||
|
||||
|
||||
//Доступность кнопок
|
||||
|
||||
@@ -37,7 +37,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
||||
|
||||
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);
|
||||
|
||||
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->btnStatus->setEnabled(false);
|
||||
@@ -211,7 +211,7 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
||||
|
||||
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);
|
||||
|
||||
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)
|
||||
{
|
||||
QTreeWidgetItem *treeItemParent = item->parent();
|
||||
QTreeWidgetItem *treeItemParent = current->parent();
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана задача
|
||||
ui->btnStatus->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);
|
||||
|
||||
if(task.getID())
|
||||
|
||||
@@ -41,7 +41,7 @@ protected:
|
||||
void changeEvent(QEvent * event) override;
|
||||
|
||||
private Q_SLOTS:
|
||||
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
|
||||
void on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
void on_btnDelete_clicked();
|
||||
void on_btnStatus_clicked();
|
||||
void on_btnAssignTask_clicked();
|
||||
|
||||
@@ -34,8 +34,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
||||
|
||||
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
||||
|
||||
//connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged);
|
||||
connect(treeWidget, &QTreeWidget::itemClicked, this, &FIMtasksWidget::on_treeWidgetItemClicked);
|
||||
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged);
|
||||
|
||||
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->btnCheck->setEnabled(false);
|
||||
@@ -170,10 +169,10 @@ void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
||||
return;
|
||||
}
|
||||
|
||||
QTreeWidgetItem *treeItemParent = item->parent();
|
||||
QTreeWidgetItem *treeItemParent = current->parent();
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана задача
|
||||
int id = item->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
|
||||
int id = current->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
|
||||
|
||||
TaskAmmFim task = taskTreePreparation->getTaskFIMbyID(id);
|
||||
|
||||
@@ -201,14 +200,14 @@ void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
||||
}
|
||||
else
|
||||
{
|
||||
setCurrentParentTask(item);
|
||||
//setCurrentParentTask(current);
|
||||
|
||||
/*
|
||||
/**/
|
||||
ui->btnAssignTask->setEnabled(false);
|
||||
|
||||
ui->btnDelete->setEnabled(false);
|
||||
ui->btnCheck->setEnabled(false);
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -469,7 +468,9 @@ void FIMtasksWidget::setCurrentTask(int id)
|
||||
if(item->text(ColumnsTreeFIM::clmnFIM_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(item);
|
||||
treeWidget->itemClicked(item, 0);
|
||||
//treeWidget->itemClicked(item, 0);
|
||||
//treeWidget->itemChanged(item, 0);
|
||||
treeWidget->setItemSelected(item, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ protected:
|
||||
void changeEvent(QEvent * event) override;
|
||||
|
||||
private Q_SLOTS:
|
||||
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
|
||||
void on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
void on_btnDelete_clicked();
|
||||
void on_btnCheck_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()
|
||||
{
|
||||
mtxTreeWidget.lock();
|
||||
@@ -51,6 +101,11 @@ void TraineesView::loadTraineesFromDB()
|
||||
if(trainee.getGroup().getID() != group.getID())
|
||||
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();
|
||||
|
||||
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_IP_address, trainee.getComputer().getIpAddress());
|
||||
|
||||
ItemTrainee->setText(ColumnsTreeUsers::clmn_AMMtasks, statAMM);
|
||||
ItemTrainee->setText(ColumnsTreeUsers::clmn_FIMtasks, statFIM);
|
||||
|
||||
//Сокрытие пароля
|
||||
ItemTrainee->setText(ColumnsTreeUsers::clmn_Password, QStringLiteral("******"));
|
||||
|
||||
|
||||
@@ -17,6 +17,10 @@ public Q_SLOTS:
|
||||
//Слот обработки сигнала необходимости обновления интерфейса
|
||||
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
||||
|
||||
private:
|
||||
QString buildStatisticTasksAMM(QList<TaskAmmFim> listTasks);
|
||||
QString buildStatisticTasksFIM(QList<TaskAmmFim> listTasks);
|
||||
|
||||
protected:
|
||||
virtual void updateButtons(){};
|
||||
void loadTraineesFromDB();
|
||||
|
||||
Reference in New Issue
Block a user