mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
262 lines
7.0 KiB
C++
262 lines
7.0 KiB
C++
#include "checkertask.h"
|
||
#include "specialmessagebox.h"
|
||
#include "ui_checkertask.h"
|
||
#include "fimtaskswidget.h"
|
||
|
||
CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, QWidget *parent) :
|
||
QWidget(parent),
|
||
ui(new Ui::CheckerTask),
|
||
connectorToServer(connectorToServer),
|
||
fimTasksWidget(nullptr),
|
||
flChanged(false),
|
||
id_task(0),
|
||
type(TypeChecker::fim_check)
|
||
{
|
||
ui->setupUi(this);
|
||
|
||
ui->btnNew->setObjectName("btnNew");
|
||
ui->btnCheckup->setObjectName("btnCheckup");
|
||
ui->btnWrong->setObjectName("btnWrong");
|
||
ui->btnCompleted->setObjectName("btnCompleted");
|
||
|
||
this->type = type;
|
||
|
||
if(type == TypeChecker::fim_check)
|
||
{
|
||
fimTasksWidget = new FIMtasksWidget(nullptr, TypeListTreeAMMFIM::listOneTask, this);
|
||
ui->verticalLayout_3->addWidget(fimTasksWidget);
|
||
|
||
ui->lblName->setVisible(false);
|
||
ui->lblDMcode->setVisible(false);
|
||
|
||
ui->plainText->setReadOnly(true);
|
||
ui->plainText->setObjectName("plainText");
|
||
}
|
||
else if(type == TypeChecker::amm_check)
|
||
{
|
||
ui->plainText->setVisible(false);
|
||
ui->label->setVisible(false);
|
||
|
||
ui->btnWrong->setEnabled(false);
|
||
ui->btnCheckup->setEnabled(false);
|
||
}
|
||
}
|
||
|
||
CheckerTask::~CheckerTask()
|
||
{
|
||
if(fimTasksWidget)
|
||
{
|
||
delete fimTasksWidget;
|
||
fimTasksWidget = nullptr;
|
||
}
|
||
|
||
delete ui;
|
||
}
|
||
|
||
void CheckerTask::closeEvent(QCloseEvent *event)
|
||
{
|
||
|
||
}
|
||
|
||
void CheckerTask::setTask(TaskAmmFim* task)
|
||
{
|
||
this->task = *task;
|
||
id_task = task->getID();
|
||
|
||
if(type == TypeChecker::fim_check)
|
||
{
|
||
//Задача
|
||
fimTasksWidget->setOneTaskFim(&this->task);
|
||
|
||
//Репорт
|
||
outReport(this->task.report);
|
||
}
|
||
else if(type == TypeChecker::amm_check)
|
||
{
|
||
/*
|
||
if(this->task.status == "new")
|
||
ui->btnCompleted->setEnabled(true);
|
||
else
|
||
ui->btnWrong->setEnabled(true);
|
||
*/
|
||
|
||
ui->lblName->setText(task->ammProcedure.title);
|
||
ui->lblDMcode->setText(task->ammProcedure.dmCode);
|
||
}
|
||
|
||
//Статус
|
||
if(this->task.status == "completed")
|
||
{
|
||
ui->lblStatusCurrText->setText(tr("completed"));
|
||
ui->lblStatusCurrIco->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||
}
|
||
else if(this->task.status == "failed")
|
||
{
|
||
ui->lblStatusCurrText->setText(tr("failed"));
|
||
ui->lblStatusCurrIco->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleRed.png")));
|
||
}
|
||
else if(this->task.status == "checkup")
|
||
{
|
||
ui->lblStatusCurrText->setText(tr("checkup"));
|
||
ui->lblStatusCurrIco->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleYellow.png")));
|
||
}
|
||
else
|
||
{
|
||
ui->lblStatusCurrText->setText(tr("new"));
|
||
ui->lblStatusCurrIco->setPixmap(QPixmap(QStringLiteral(":/resources/icons/new.png")));
|
||
}
|
||
}
|
||
|
||
TaskAmmFim CheckerTask::getTask()
|
||
{
|
||
return this->task;
|
||
}
|
||
|
||
void CheckerTask::setModule(Module *module)
|
||
{
|
||
this->module = *module;
|
||
id_task = this->module.getID();
|
||
}
|
||
|
||
void CheckerTask::outReport(FIMReport report)
|
||
{
|
||
QString str;
|
||
/*
|
||
str = QString("<b>Report ID: %1</b>").arg(QString::number(report.id));
|
||
ui->plainText->appendHtml(str);
|
||
ui->plainText->appendHtml("<br>");
|
||
*/
|
||
|
||
for(FIMReportItem item : report.itemList)
|
||
{
|
||
/*
|
||
//Item ID
|
||
str = QString("<p>Item ID: %1</p>").arg(QString::number(item.id));
|
||
ui->plainText->appendHtml(str);
|
||
*/
|
||
|
||
//Title
|
||
str = QString("<b>%1</b>").arg(item.procedure.title);
|
||
ui->plainText->appendHtml(str);
|
||
|
||
//DMcode
|
||
str = QString("<p>%1</p>").arg(item.procedure.dmCode);
|
||
ui->plainText->appendHtml(str);
|
||
|
||
//Result
|
||
str = item.procedure.result;
|
||
if(str == "viewed")
|
||
str = tr("viewed");
|
||
else if(str == "completed")
|
||
str = tr("completed");
|
||
str = QString("<p>%1</p>").arg(str);
|
||
ui->plainText->appendHtml(str);
|
||
|
||
//Text
|
||
str = QString("<p style=\"color:green;\">%1</p>").arg(item.text);
|
||
ui->plainText->appendHtml(str);
|
||
|
||
ui->plainText->appendHtml("<br>");
|
||
}
|
||
}
|
||
|
||
//НЕВЕРНО
|
||
void CheckerTask::on_btnWrong_clicked()
|
||
{
|
||
TypeQueryToDB typeQuery;
|
||
QString status;
|
||
QString msgString;
|
||
|
||
if(type == TypeChecker::fim_check)
|
||
{
|
||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
||
status = "failed";
|
||
msgString = tr("Change task status?\nThe status will be set:\n'failed'");
|
||
}
|
||
|
||
if(SpecMsgBox::WarningYesNo(this, msgString) == QDialog::Accepted)
|
||
{
|
||
connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status);
|
||
this->parentWidget()->close();
|
||
flChanged = true;
|
||
}
|
||
}
|
||
|
||
//ВЫПОЛНЕНО
|
||
void CheckerTask::on_btnCompleted_clicked()
|
||
{
|
||
TypeQueryToDB typeQuery;
|
||
QString status;
|
||
QString msgString;
|
||
|
||
if(type == TypeChecker::fim_check)
|
||
{
|
||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
||
status = "completed";
|
||
msgString = tr("Change task status?\nThe status will be set:\n'completed'");
|
||
}
|
||
else if(type == TypeChecker::amm_check)
|
||
{
|
||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE;
|
||
status = "completed";
|
||
msgString = tr("Change task status?\nThe status will be set:\n'completed'");
|
||
}
|
||
|
||
if(SpecMsgBox::WarningYesNo(this, msgString) == QDialog::Accepted)
|
||
{
|
||
connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status);
|
||
this->parentWidget()->close();
|
||
flChanged = true;
|
||
}
|
||
}
|
||
|
||
//НОВАЯ
|
||
void CheckerTask::on_btnNew_clicked()
|
||
{
|
||
TypeQueryToDB typeQuery;
|
||
QString status;
|
||
QString msgString;
|
||
|
||
if(type == TypeChecker::fim_check)
|
||
{
|
||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
||
status = "new";
|
||
msgString = tr("Change task status?\nThe status will be set:\n'new'");
|
||
}
|
||
else if(type == TypeChecker::amm_check)
|
||
{
|
||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE;
|
||
status = "new";
|
||
msgString = tr("Change task status?\nThe status will be set:\n'new'");
|
||
}
|
||
|
||
if(SpecMsgBox::WarningYesNo(this, msgString) == QDialog::Accepted)
|
||
{
|
||
connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status);
|
||
this->parentWidget()->close();
|
||
flChanged = true;
|
||
}
|
||
}
|
||
|
||
//НА ПРОВЕРКЕ
|
||
void CheckerTask::on_btnCheckup_clicked()
|
||
{
|
||
TypeQueryToDB typeQuery;
|
||
QString status;
|
||
QString msgString;
|
||
|
||
if(type == TypeChecker::fim_check)
|
||
{
|
||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
||
status = "checkup";
|
||
msgString = tr("Change task status?\nThe status will be set:\n'checkup'");
|
||
}
|
||
|
||
if(SpecMsgBox::WarningYesNo(this, msgString) == QDialog::Accepted)
|
||
{
|
||
connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status);
|
||
this->parentWidget()->close();
|
||
flChanged = true;
|
||
}
|
||
}
|