Report upgrade WH

This commit is contained in:
2025-12-24 11:58:32 +03:00
parent 4dab164e27
commit bfe586ee2e
15 changed files with 584 additions and 329 deletions

View File

@@ -189,6 +189,10 @@ void CheckerTask::outReport(FIMReport report)
ui->plainText->appendHtml("<br>");
*/
//Действия обучаемого
str = QString("<b>%1</b>").arg(tr("Trainee's actions:"));
ui->plainText->appendHtml(str);
for(FIMReportItem item : report.itemList)
{
/*
@@ -220,6 +224,69 @@ void CheckerTask::outReport(FIMReport report)
ui->plainText->appendHtml("<br>");
}
ui->plainText->appendHtml("<br>");
//Устройства/приборы
bool flNeedMMEL = false;
str = QString("<b>%1</b>").arg(tr("Devices/instruments:"));
ui->plainText->appendHtml(str);
for(FIMReportWarehouseItem whItem : report.warehouseItemList)
{
/*
//WhItem ID
str = QString("<p>WhItem ID: %1</p>").arg(QString::number(whItem.id));
ui->plainText->appendHtml(str);
*/
// статус GameObject-а в сцене
str = QString("<p>%1</p>").arg(getStatusStr(whItem.status));
ui->plainText->appendHtml(str);
if(whItem.status == 0)
flNeedMMEL = true;
// имя GameObject-а в сцене
str = QString("<p>%1</p>").arg(whItem.goName);
ui->plainText->appendHtml(str);
// человеческое название прибора
str = QString("<p>%1</p>").arg(whItem.objName);
ui->plainText->appendHtml(str);
// его код из документации
str = QString("<p>%1</p>").arg(whItem.code);
ui->plainText->appendHtml(str);
ui->plainText->appendHtml("<br>");
}
ui->plainText->appendHtml("<br>");
if(flNeedMMEL)
{
QString strMMEL = tr("Trainee believes that:") + "\n";
if(report.mmel)
str += tr("The aircraft may operate with its equipment removed in accordance with the \"Master Minimum Equipment List\"");
else
str += tr("The aircraft cannot be flown with equipment removed in accordance with the \"Master Minimum Equipment List\"");
}
}
QString CheckerTask::getStatusStr(int status)
{
switch (status)
{
//демонтировано
case 0: return tr("dismantled");
//неисправно
case 1: return tr("faulty");
//заменено на новое со склада
case 2: return tr("replaced with a new one from the warehouse");
//unknown
default: return "unknown";
}
}
//НЕВЕРНО

View File

@@ -47,6 +47,7 @@ private slots:
private:
void outReport(FIMReport report);
QString getStatusStr(int status);
private:
TaskAmmFim task;

View File

@@ -310,9 +310,9 @@ void FIMtasksWidget::reSetHeadTreeWidget()
QStringList listHeaders;
if(type == TypeListTreeAMMFIM::listForTrainee)
listHeaders = QStringList{tr("Procedure FIM"), tr("Status"), tr("ID")};
listHeaders = QStringList{tr("Procedure FIM"), tr("Device"), tr("Status"), tr("ID")};
else
listHeaders = QStringList{tr("Procedure FIM"), tr("Status"), tr("ID")};
listHeaders = QStringList{tr("Procedure FIM"), tr("Device"), tr("Status"), tr("ID")};
treeWidget->setHeaderLabels(listHeaders);
}
@@ -323,6 +323,8 @@ void FIMtasksWidget::setWidthColumnsTree()
treeWidget->setColumnWidth(ColumnsTreeFIM::clmnFIM_Title, 100);
listWidthColumn.append(100);
treeWidget->setColumnWidth(ColumnsTreeFIM::clmnFIM_Device, 150);
listWidthColumn.append(150);
treeWidget->setColumnWidth(ColumnsTreeFIM::clmnFIM_status, 150);
listWidthColumn.append(130);
treeWidget->setColumnWidth(ColumnsTreeFIM::clmnFIM_ID, 50);

View File

@@ -225,7 +225,9 @@ void TaskAMMFIMTreePreparation::loadFIMtasksFromXML(QByteArray array)
malfunction.initialize(nodeMap.namedItem("dmCode").nodeValue(),
nodeMap.namedItem("num").nodeValue(),
nodeMap.namedItem("description").nodeValue());
nodeMap.namedItem("description").nodeValue(),
nodeMap.namedItem("goName").nodeValue(),
nodeMap.namedItem("objName").nodeValue());
QDomElement signElement = malfunctionElement.firstChildElement();
if(!signElement.isNull())
@@ -614,6 +616,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array)
itemMalfunction->setFlags(itemMalfunction->flags() ^ Qt::ItemIsSelectable);
itemMalfunction->setText(ColumnsTreeFIM::clmnFIM_Title, malfunction.description);
itemMalfunction->setText(ColumnsTreeFIM::clmnFIM_Device, malfunction.objName);
if(type == TypeListTreeAMMFIM::listCommon)
{
itemMalfunction->setFlags(itemMalfunction->flags() | Qt::ItemIsUserCheckable);
@@ -706,6 +709,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmm
QTreeWidgetItem* itemMalfunction = new QTreeWidgetItem();
itemMalfunction->setText(ColumnsTreeFIM::clmnFIM_Title, malfunction.description);
itemMalfunction->setText(ColumnsTreeFIM::clmnFIM_Device, malfunction.objName);
if(type == TypeListTreeAMMFIM::listCommon)
{
itemMalfunction->setFlags(itemMalfunction->flags() | Qt::ItemIsUserCheckable);

View File

@@ -18,9 +18,10 @@ enum ColumnsTreeAMM{
};
enum ColumnsTreeFIM{
clmnFIM_Title = 0,
clmnFIM_Title = 0,
clmnFIM_Device,
clmnFIM_status,
clmnFIM_ID,
clmnFIM_ID,
clmnFIM_count
};