Report WH

This commit is contained in:
2025-12-24 17:24:01 +03:00
parent bfe586ee2e
commit a06f7653c5
6 changed files with 48 additions and 16 deletions

View File

@@ -431,7 +431,7 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
//Выгребаем отчет для этой задачи
int report_id = 0;
queryStr = QString("SELECT reports.report_id "
queryStr = QString("SELECT reports.report_id, reports.mmel "
"FROM public.reports "
"WHERE fk_task_fim_id = %1 "
"ORDER BY reports.report_id ASC").arg(
@@ -445,6 +445,7 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
{//Отчет
report_id = queryReport.value(0).toInt();
task.report.id = report_id;
task.report.mmel = queryReport.value(1).toBool();
}
}
else
@@ -490,7 +491,7 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
//Выгребаем все wh_item отчета
queryStr = QString("SELECT report_wh_items.wh_item_id, report_wh_items.status, report_wh_items.go_name, report_wh_items.obj_name, report_wh_items.fk_report_id, report_wh_items.number "
queryStr = QString("SELECT report_wh_items.wh_item_id, report_wh_items.status, report_wh_items.go_name, report_wh_items.obj_name, report_wh_items.code, report_wh_items.fk_report_id, report_wh_items.number "
"FROM public.report_wh_items "
"WHERE fk_report_id = %1 "
"ORDER BY report_wh_items.number ASC").arg(
@@ -507,6 +508,7 @@ QList<TaskAmmFim> DataBaseLMS::selectTasksFIMofTrainee(int id_trainee)
reportWhItem.status = queryWhItems.value(1).toInt();
reportWhItem.goName = queryWhItems.value(2).toString();
reportWhItem.objName = queryWhItems.value(3).toString();
reportWhItem.code = queryWhItems.value(4).toString();
task.report.warehouseItemList.append(reportWhItem);
}
@@ -618,7 +620,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
//Выгребаем отчет для этой задачи
int report_id = 0;
queryStr = QString("SELECT reports.report_id "
queryStr = QString("SELECT reports.report_id, reports.mmel "
"FROM public.reports "
"WHERE fk_task_fim_id = %1 "
"ORDER BY reports.report_id ASC").arg(
@@ -632,6 +634,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
{//Отчет
report_id = queryReport.value(0).toInt();
task.report.id = report_id;
task.report.mmel = queryReport.value(1).toBool();
}
}
else
@@ -677,7 +680,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
//Выгребаем все wh_item отчета
queryStr = QString("SELECT report_wh_items.wh_item_id, report_wh_items.status, report_wh_items.go_name, report_wh_items.obj_name, report_wh_items.fk_report_id, report_wh_items.number "
queryStr = QString("SELECT report_wh_items.wh_item_id, report_wh_items.status, report_wh_items.go_name, report_wh_items.obj_name, report_wh_items.code, report_wh_items.fk_report_id, report_wh_items.number "
"FROM public.report_wh_items "
"WHERE fk_report_id = %1 "
"ORDER BY report_wh_items.number ASC").arg(
@@ -694,6 +697,7 @@ TaskAmmFim DataBaseLMS::selectTaskFIMbyID(int id_task)
reportWhItem.status = queryWhItems.value(1).toInt();
reportWhItem.goName = queryWhItems.value(2).toString();
reportWhItem.objName = queryWhItems.value(3).toString();
reportWhItem.code = queryWhItems.value(4).toString();
task.report.warehouseItemList.append(reportWhItem);
}
@@ -751,8 +755,8 @@ int DataBaseLMS::updateReportFIMforTask(TaskAmmFim task)
queryStr = QString("INSERT INTO public.reports (fk_task_fim_id, mmel) "
"VALUES (%1, %2) "
"RETURNING reports.report_id").arg(
task.getID(),
task.report.mmel);
QString::number(task.getID()),
(task.report.mmel ? "true" : "false"));
report_id = queryExecInt(queryStr);
if(!report_id)

View File

@@ -885,6 +885,7 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
{//Отчет
FIMReport report;
report.id = malfOrReportNode.toElement().attribute("report_id").toInt();
report.mmel = malfOrReportNode.toElement().attribute("mmel") == "true" ? true : false;
for(int k = 0; k < malfOrReportNode.childNodes().count(); k++)
{
@@ -906,6 +907,17 @@ void RecognizeSystem::xmlParserQueryToDB(PacketType packetType, QByteArray array
report.itemList.append(reportItem);
}
else if(reportItemNode.nodeName() == "reportWHItem")
{
FIMReportWarehouseItem reportWhItem;
reportWhItem.id = reportItemNode.toElement().attribute("wh_item_id").toInt();
reportWhItem.status = reportItemNode.toElement().attribute("status").toInt();
reportWhItem.goName = reportItemNode.toElement().attribute("goName");
reportWhItem.objName = reportItemNode.toElement().attribute("objName");
reportWhItem.code = reportItemNode.toElement().attribute("code");
report.warehouseItemList.append(reportWhItem);
}
}
task.report = report;

View File

@@ -27,6 +27,7 @@ CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type,
{
fimTasksWidget = new FIMtasksWidget(nullptr, TypeListTreeAMMFIM::listOneTask, this);
ui->verticalLayout_3->addWidget(fimTasksWidget);
fimTasksWidget->setMaximumHeight(300);
ui->lblName->setVisible(false);
ui->lblDMcode->setVisible(false);
@@ -202,7 +203,7 @@ void CheckerTask::outReport(FIMReport report)
*/
//Title
str = QString("<b>%1</b>").arg(item.procedure.title);
str = QString("<p style=\"color:blue;\">%1</p>").arg(item.procedure.title);
ui->plainText->appendHtml(str);
//DMcode
@@ -222,10 +223,10 @@ void CheckerTask::outReport(FIMReport report)
str = QString("<p style=\"color:green;\">%1</p>").arg(item.text);
ui->plainText->appendHtml(str);
ui->plainText->appendHtml("<br>");
//ui->plainText->appendHtml("<br>");
}
ui->plainText->appendHtml("<br>");
//ui->plainText->appendHtml("<br>");
//Устройства/приборы
bool flNeedMMEL = false;
@@ -258,19 +259,22 @@ void CheckerTask::outReport(FIMReport report)
str = QString("<p>%1</p>").arg(whItem.code);
ui->plainText->appendHtml(str);
ui->plainText->appendHtml("<br>");
//ui->plainText->appendHtml("<br>");
}
ui->plainText->appendHtml("<br>");
//ui->plainText->appendHtml("<br>");
if(flNeedMMEL)
{
QString strMMEL = tr("Trainee believes that:") + "\n";
QString strMMEL = tr("Trainee believes that:");
if(report.mmel)
str += tr("The aircraft may operate with its equipment removed in accordance with the \"Master Minimum Equipment List\"");
strMMEL += 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\"");
strMMEL += tr("The aircraft cannot be flown with equipment removed in accordance with the \"Master Minimum Equipment List\"");
str = QString("<p style=\"color:gray;\">%1</p>").arg(strMMEL);
ui->plainText->appendHtml(str);
}
}

View File

@@ -18,7 +18,7 @@ DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, Checker
{
case CheckerTask::TypeChecker::fim_check:
this->setWindowTitle(tr("Check Task"));
this->setMinimumSize(1400, 700);
this->setMinimumSize(1400, 900);
//this->setWindowState(Qt::WindowMaximized);
break;
case CheckerTask::TypeChecker::amm_check:

View File

@@ -225,6 +225,7 @@ QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim>
QDomNode reportNode = commonDOM.createElement("report");
taskNode.appendChild(reportNode);
reportNode.toElement().setAttribute("report_id", report.id);
reportNode.toElement().setAttribute("mmel", report.mmel ? "true" : "false");
for(FIMReportItem reportItem : task.report.itemList)
{//FIMReportItem
@@ -242,6 +243,17 @@ QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim>
procedureIDNode.toElement().setAttribute("dmCode", reportItem.procedure.dmCode);
procedureIDNode.toElement().setAttribute("result", reportItem.procedure.result);
}
for(FIMReportWarehouseItem reportWhItem : task.report.warehouseItemList)
{//FIMReportWarehouseItem
QDomNode reportWhItemNode = commonDOM.createElement("reportWHItem");
reportNode.appendChild(reportWhItemNode);
reportWhItemNode.toElement().setAttribute("wh_item_id", reportWhItem.id);
reportWhItemNode.toElement().setAttribute("status", reportWhItem.status);
reportWhItemNode.toElement().setAttribute("goName", reportWhItem.goName);
reportWhItemNode.toElement().setAttribute("objName", reportWhItem.objName);
reportWhItemNode.toElement().setAttribute("code", reportWhItem.code);
}
}
}

View File

@@ -221,7 +221,7 @@ void ProcessParser::clientUnityTaskFIMreport(QXmlStreamReader &xmlReader, Client
}
else if(reportItemNode.nodeName() == "mmel")
{
report.mmel = (reportItemNode.toElement().nodeValue() == "true" ? true : false);
report.mmel = (reportItemNode.nodeValue() == "true" ? true : false);
}
}