statAMM statFIM в Перс Карте

This commit is contained in:
2026-01-19 14:56:58 +03:00
parent aa109ad2fe
commit f2b08887c7
13 changed files with 91 additions and 92 deletions

View File

@@ -20,6 +20,58 @@ void TaskAmmFim::addMalfunction(Malfunction malfunction)
malfunctionList.append(malfunction);
}
QString TaskAmmFim::buildStatisticTasksAMM(QList<TaskAmmFim> listTasks)
{
int cntAll = 0;
int cntCompleted = 0;
for(TaskAmmFim task : listTasks)
{
cntAll++;
if(task.status == "completed")
cntCompleted++;
}
QString statHTML = QString("<p><span style=\"color: green;\">%1</span> / "
"<span style=\"color: black;\">%2</span></p>").arg(
QString::number(cntCompleted),
QString::number(cntAll));
return statHTML;
}
QString TaskAmmFim::buildStatisticTasksFIM(QList<TaskAmmFim> listTasks)
{
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++;
}
QString statHTML = QString("<p><span style=\"color: green;\">%1</span>/"
"<span style=\"color: red;\">%2</span>/"
"<span style=\"color: darkorange;\">%3</span> / "
"<span style=\"color: black;\">%4</span></p>").arg(
QString::number(cntCompleted),
QString::number(cntFailed),
QString::number(cntCheckup),
QString::number(cntAll));
return statHTML;
}
void Malfunction::initialize(QString dmCode, QString num, QString description, QString goName, QString objName)
{
this->dmCode = dmCode;

View File

@@ -147,6 +147,10 @@ public:
public:
void setID(int id){this->id = id;};
int getID(){return id;};
public:
static QString buildStatisticTasksAMM(QList<TaskAmmFim> listTasks);
static QString buildStatisticTasksFIM(QList<TaskAmmFim> listTasks);
public:
int id; // для идентификации в БД

View File

@@ -100,10 +100,10 @@ void CommonView::setWidthColumnsTree()
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_Messages, 100);
listWidthColumn.append(100);
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 80);
listWidthColumn.append(80);
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 40);
@@ -114,7 +114,19 @@ void CommonView::setWidthColumnsTree()
void CommonView::reSetHeadTreeWidget()
{
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")};
QStringList listHeaders = { tr("Name"),
tr("Password"),
tr("Class"),
tr("Computer"),
tr("IP address"),
tr("Administrator"),
tr("Archived"),
tr("Tasks AMM"),
tr("Tasks FIM"),
tr("Login"),
tr("Messages"),
tr("Online"),
tr("ID")};
treeWidget->setHeaderLabels(listHeaders);
}

View File

@@ -40,8 +40,8 @@ protected:
clmn_Archived,
clmn_AMMtasks,
clmn_FIMtasks,
clmn_Messages,
clmn_Login,
clmn_Messages,
clmn_Logged,
clmn_ID,
clmn_count

View File

@@ -282,7 +282,8 @@ void AMMtasksWidget::slot_UpdateTasksAMMforTrainee(int trainee_id)
QList<TaskAmmFim> listTask = connectorToServer->getListTasksAMMforTrainee(trainee_id);
emit signal_prepareAMMListItemsForTrainee(listTask);
emit signal_countTasksAMMforTraineeChanged(trainee_id, listTask.count());
QString statAMM = TaskAmmFim::buildStatisticTasksAMM(listTask);
emit signal_countTasksAMMforTraineeChanged(trainee_id, statAMM);
}
}
}

View File

@@ -80,7 +80,7 @@ Q_SIGNALS:
void signal_stopParserPreparation();
void signal_countTasksAMMforTraineeChanged(int trainee_id, int count);
void signal_countTasksAMMforTraineeChanged(int trainee_id, QString statAMM);
public Q_SLOTS:
void slot_AMMlistItemsReady(QList<QTreeWidgetItem*> listItems);

View File

@@ -240,7 +240,8 @@ void FIMtasksWidget::slot_UpdateTasksFIMforTrainee(int trainee_id)
QList<TaskAmmFim> listTask = connectorToServer->getListTasksFIMforTrainee(trainee_id);
emit signal_prepareFIMListItemsForTrainee(listTask);
emit signal_countTasksFIMforTraineeChanged(trainee_id, listTask.count());
QString statFIM = TaskAmmFim::buildStatisticTasksFIM(listTask);
emit signal_countTasksFIMforTraineeChanged(trainee_id, statFIM);
}
}
}

View File

@@ -72,7 +72,7 @@ Q_SIGNALS:
void signal_stopParserPreparation();
void signal_countTasksFIMforTraineeChanged(int trainee_id, int count);
void signal_countTasksFIMforTraineeChanged(int trainee_id, QString statFIM);
public Q_SLOTS:
void slot_FIMlistItemsReady(QList<QTreeWidgetItem*> listItems);

View File

@@ -103,19 +103,19 @@ void PersonalCardTrainee::loadInfo()
ui->lblTimeExit->setText(timing.getExitTimeS());
}
void PersonalCardTrainee::slot_countTasksAMMforTraineeChanged(int trainee_id, int count)
void PersonalCardTrainee::slot_countTasksAMMforTraineeChanged(int trainee_id, QString statAMM)
{
if(id_trainee == trainee_id)
{
ui->lblCntAMM->setText(QString::number(count));
ui->lblCntAMM->setText(statAMM);
}
}
void PersonalCardTrainee::slot_countTasksFIMforTraineeChanged(int trainee_id, int count)
void PersonalCardTrainee::slot_countTasksFIMforTraineeChanged(int trainee_id, QString statFIM)
{
if(id_trainee == trainee_id)
{
ui->lblCntFIM->setText(QString::number(count));
ui->lblCntFIM->setText(statFIM);
}
}

View File

@@ -26,8 +26,8 @@ private:
void loadInfo();
public slots:
void slot_countTasksAMMforTraineeChanged(int trainee_id, int count);
void slot_countTasksFIMforTraineeChanged(int trainee_id, int count);
void slot_countTasksAMMforTraineeChanged(int trainee_id, QString statAMM);
void slot_countTasksFIMforTraineeChanged(int trainee_id, QString statFIM);
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);

View File

@@ -35,14 +35,14 @@
<item>
<widget class="QLabel" name="label_10">
<property name="text">
<string>Assigned AMM</string>
<string>Tasks AMM</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblCntAMM">
<property name="text">
<string>0</string>
<string>0 / 0</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -135,14 +135,14 @@
<item>
<widget class="QLabel" name="label_11">
<property name="text">
<string>Assigned FIM</string>
<string>Tasks FIM</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblCntFIM">
<property name="text">
<string>0</string>
<string>0/0/0 / 0</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>

View File

@@ -21,70 +21,6 @@ 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));
QString statHTML = QString("<p><span style=\"color: green;\">%1</span>/"
"<span style=\"color: black;\">%2</span></p>").arg(
QString::number(cntCompleted),
QString::number(cntAll));
return /*stat*/statHTML;
}
QString TraineesView::buildStatisticTasksFIM(QList<TaskAmmFim> listTasks)
{
QString stat = "X/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));
QString statHTML = QString("<p><span style=\"color: green;\">%1</span>/"
"<span style=\"color: red;\">%2</span>/"
"<span style=\"color: darkorange;\">%3</span>/"
"<span style=\"color: black;\">%4</span></p>").arg(
QString::number(cntCompleted),
QString::number(cntFailed),
QString::number(cntCheckup),
QString::number(cntAll));
return /*stat*/statHTML;
}
void TraineesView::loadTraineesFromDB()
{
mtxTreeWidget.lock();
@@ -126,9 +62,6 @@ 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("******"));
@@ -161,8 +94,8 @@ void TraineesView::loadTraineesFromDB()
QList<TaskAmmFim> listAMM = connectorToServer->getListTasksAMMforTrainee(trainee.getID());
QList<TaskAmmFim> listFIM = connectorToServer->getListTasksFIMforTrainee(trainee.getID());
QString statAMM = buildStatisticTasksAMM(listAMM);
QString statFIM = buildStatisticTasksFIM(listFIM);
QString statAMM = TaskAmmFim::buildStatisticTasksAMM(listAMM);
QString statFIM = TaskAmmFim::buildStatisticTasksFIM(listFIM);
QPlainTextEdit *plainTextEditAMM = new QPlainTextEdit();
plainTextEditAMM->setObjectName("plainTextEditAMM");

View File

@@ -17,10 +17,6 @@ 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();