#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); if(this->task.status == "new") { ui->btnNew->setEnabled(false); ui->btnCheckup->setEnabled(false); ui->btnWrong->setEnabled(false); ui->btnCompleted->setEnabled(false); } else if(this->task.status == "checkup") { ui->btnNew->setEnabled(true); ui->btnCheckup->setEnabled(false); ui->btnWrong->setEnabled(true); ui->btnCompleted->setEnabled(true); } else if(this->task.status == "failed") { ui->btnNew->setEnabled(true); ui->btnCheckup->setEnabled(true); ui->btnWrong->setEnabled(false); ui->btnCompleted->setEnabled(true); } else if(this->task.status == "completed") { ui->btnNew->setEnabled(true); ui->btnCheckup->setEnabled(true); ui->btnWrong->setEnabled(true); ui->btnCompleted->setEnabled(false); } else { ui->btnNew->setEnabled(false); ui->btnCheckup->setEnabled(false); ui->btnWrong->setEnabled(false); ui->btnCompleted->setEnabled(false); } } else if(type == TypeChecker::amm_check) { if(this->task.status == "new") { ui->btnNew->setEnabled(false); ui->btnCompleted->setEnabled(true); } else { ui->btnNew->setEnabled(true); ui->btnCompleted->setEnabled(false); } 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("Report ID: %1").arg(QString::number(report.id)); ui->plainText->appendHtml(str); ui->plainText->appendHtml("
"); */ for(FIMReportItem item : report.itemList) { /* //Item ID str = QString("

Item ID: %1

").arg(QString::number(item.id)); ui->plainText->appendHtml(str); */ //Title str = QString("%1").arg(item.procedure.title); ui->plainText->appendHtml(str); //DMcode str = QString("

%1

").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("

%1

").arg(str); ui->plainText->appendHtml(str); //Text str = QString("

%1

").arg(item.text); ui->plainText->appendHtml(str); ui->plainText->appendHtml("
"); } } //НЕВЕРНО 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; } }