Изменение статуса для ФИМ. В процессе.

This commit is contained in:
2025-12-18 10:27:10 +03:00
parent 360b740220
commit c8ca0e32ad
9 changed files with 58 additions and 42 deletions

View File

@@ -81,7 +81,7 @@ QToolButton {
height: 55px;
}
QToolButton#btnSend, QToolButton#btnDelete, QToolButton#btnCheck, QToolButton#btnOnlyActive,
QToolButton#btnSend, QToolButton#btnDelete, QToolButton#btnCheck, QToolButton#btnOnlyActive, QToolButton#btnStatus,
QToolButton#btnSave, QToolButton#btnUpdateStyle, QToolButton#btnSetVersion,
QToolButton#btnAssignTask, QToolButton#btnCheckDB, QToolButton#btnRepare, QToolButton#btnDocsUpdating,
QToolButton#btnAssign {

View File

@@ -21,7 +21,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
threadPreparation(nullptr),
taskTreePreparation(nullptr),
waitAnimationWidget(nullptr),
dlgCheckerTask(nullptr),
dlgStatusTask(nullptr),
dlgListSubProc(nullptr),
flOnlyActive(false),
lastCurrentID(0)
@@ -63,8 +63,8 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
ui->btnDelete->setObjectName("btnDelete");
ui->btnDelete->setEnabled(false);
ui->btnCheck->setObjectName("btnCheck");
ui->btnCheck->setEnabled(false);
ui->btnStatus->setObjectName("btnStatus");
ui->btnStatus->setEnabled(false);
ui->btnOnlyActive->setObjectName("btnOnlyActive");
ui->btnOnlyActive->setEnabled(false);
ui->btnAssignTask->setObjectName("btnAssignTask");
@@ -75,7 +75,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
if(type == TypeListTreeAMMFIM::listCommon)
{
ui->btnDelete->setVisible(false);
ui->btnCheck->setVisible(false);
ui->btnStatus->setVisible(false);
}
else
{
@@ -153,8 +153,8 @@ void AMMtasksWidget::closeEvent(QCloseEvent *event)
void AMMtasksWidget::closeChildDlg()
{
if(dlgCheckerTask)
dlgCheckerTask->close();
if(dlgStatusTask)
dlgStatusTask->close();
if(dlgListSubProc)
dlgListSubProc->close();
}
@@ -183,7 +183,7 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
if(item == nullptr)
{
ui->btnDelete->setEnabled(false);
ui->btnCheck->setEnabled(false);
ui->btnStatus->setEnabled(false);
ui->btnAssignTask->setEnabled(false);
return;
}
@@ -204,14 +204,14 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
lastCurrentID = id;
ui->btnDelete->setEnabled(false);
ui->btnCheck->setEnabled(false);
ui->btnStatus->setEnabled(false);
}
else if(this->type == TypeListTreeAMMFIM::listForTrainee)
{
QTreeWidgetItem *treeItemParent = item->parent();
if(treeItemParent == nullptr)
{//Выбрана задача
ui->btnCheck->setEnabled(true);
ui->btnStatus->setEnabled(true);
ui->btnDelete->setEnabled(true);
int id = item->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
@@ -222,7 +222,7 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
}
else
{
ui->btnCheck->setEnabled(false);
ui->btnStatus->setEnabled(false);
ui->btnDelete->setEnabled(false);
}
ui->btnAssignTask->setEnabled(false);
@@ -515,7 +515,7 @@ void AMMtasksWidget::on_btnDelete_clicked()
}
}
void AMMtasksWidget::on_btnCheck_clicked()
void AMMtasksWidget::on_btnStatus_clicked()
{
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
@@ -529,17 +529,17 @@ void AMMtasksWidget::on_btnCheck_clicked()
if(!task.getID())
return;
dlgCheckerTask = new DialogChekerTask(connectorToServer, "amm", this);
dlgCheckerTask->setTask(&task);
dlgCheckerTask->exec();
dlgStatusTask = new DialogChekerTask(connectorToServer, CheckerTask::TypeChecker::amm_status, this);
dlgStatusTask->setTask(&task);
dlgStatusTask->exec();
if(dlgCheckerTask->getFlChanged())
if(dlgStatusTask->getFlChanged())
waitAnimationWidget->showWithPlay();
if(dlgCheckerTask)
if(dlgStatusTask)
{
delete dlgCheckerTask;
dlgCheckerTask = nullptr;
delete dlgStatusTask;
dlgStatusTask = nullptr;
}
}
}

View File

@@ -42,7 +42,7 @@ protected:
private Q_SLOTS:
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
void on_btnDelete_clicked();
void on_btnCheck_clicked();
void on_btnStatus_clicked();
void on_btnAssignTask_clicked();
void on_btnOnlyActive_clicked(); //AMM
@@ -99,7 +99,7 @@ private:
TaskAMMFIMTreePreparation* taskTreePreparation;
WaitAnimationWidget *waitAnimationWidget;
DialogChekerTask* dlgCheckerTask;
DialogChekerTask* dlgStatusTask;
DialogListSubProc* dlgListSubProc;

View File

@@ -133,7 +133,7 @@
</spacer>
</item>
<item>
<widget class="QToolButton" name="btnCheck">
<widget class="QToolButton" name="btnStatus">
<property name="minimumSize">
<size>
<width>50</width>

View File

@@ -3,20 +3,20 @@
#include "ui_checkertask.h"
#include "fimtaskswidget.h"
CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, QString type, QWidget *parent) :
CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, QWidget *parent) :
QWidget(parent),
ui(new Ui::CheckerTask),
connectorToServer(connectorToServer),
fimTasksWidget(nullptr),
flChanged(false),
id_task(0),
type("fim")
type(TypeChecker::fim_check)
{
ui->setupUi(this);
this->type = type;
if(type == "fim")
if(type == TypeChecker::fim_check)
{
fimTasksWidget = new FIMtasksWidget(nullptr, TypeListTreeAMMFIM::listOneTask, this);
@@ -27,7 +27,7 @@ CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, QString type, QWi
ui->plainText->setReadOnly(true);
ui->plainText->setObjectName("plainText");
}
else
else if(type == TypeChecker::amm_status)
{
ui->plainText->setVisible(false);
ui->label->setVisible(false);
@@ -62,7 +62,7 @@ void CheckerTask::setTask(TaskAmmFim* task)
this->task = *task;
id_task = task->getID();
if(type == "fim")
if(type == TypeChecker::fim_check)
{
//Задача
fimTasksWidget->setOneTaskFim(&this->task);
@@ -70,7 +70,7 @@ void CheckerTask::setTask(TaskAmmFim* task)
//Репорт
outReport(this->task.report);
}
else if(type == "amm")
else if(type == TypeChecker::amm_status)
{
if(this->task.status == "new")
ui->btnRight->setEnabled(true);
@@ -163,13 +163,13 @@ void CheckerTask::on_btnWrong_clicked()
QString status;
QString msgString;
if(type == "fim")
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'");
}
else
else if(type == TypeChecker::amm_status)
{
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE;
status = "new";
@@ -190,13 +190,13 @@ void CheckerTask::on_btnRight_clicked()
QString status;
QString msgString;
if(type == "fim")
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
else if(type == TypeChecker::amm_status)
{
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE;
status = "completed";

View File

@@ -19,7 +19,16 @@ class CheckerTask : public QWidget
Q_OBJECT
public:
explicit CheckerTask(ConnectorToServer* connectorToServer, QString type, QWidget *parent = nullptr);
enum TypeChecker
{
amm_status,
amm_check,
fim_status,
fim_check
};
public:
explicit CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, QWidget *parent = nullptr);
~CheckerTask();
void closeEvent(QCloseEvent *event) override;
@@ -50,7 +59,7 @@ private:
bool flChanged;
int id_task;
QString type;
TypeChecker type;
};
#endif // DIALOGCHECKTASK_H

View File

@@ -1,7 +1,7 @@
#include <QHBoxLayout>
#include "dialogchekertask.h"
DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, QString type, QWidget *parent) :
DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, CheckerTask::TypeChecker type, QWidget *parent) :
QDialog(parent,
Qt::WindowSystemMenuHint
| Qt::WindowMaximizeButtonHint
@@ -13,17 +13,24 @@ DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, QString
QHBoxLayout *layout = new QHBoxLayout(this);
layout->addWidget(checkerTask);
this->setWindowTitle(tr("Check Task"));
if(type == "fim")
switch (type)
{
case CheckerTask::TypeChecker::fim_check:
case CheckerTask::TypeChecker::amm_check:
this->setWindowTitle(tr("Check Task"));
this->setMinimumSize(1400, 700);
this->setWindowState(Qt::WindowMaximized);
}
else
{
break;
case CheckerTask::TypeChecker::fim_status:
case CheckerTask::TypeChecker::amm_status:
this->setWindowTitle(tr("Status Task"));
this->setMinimumSize(400, 200);
break;
default:
break;
}
this->setModal(true);
}

View File

@@ -9,7 +9,7 @@ class DialogChekerTask : public QDialog
{
Q_OBJECT
public:
DialogChekerTask(ConnectorToServer* connectorToServer, QString type, QWidget *parent = nullptr);
DialogChekerTask(ConnectorToServer* connectorToServer, CheckerTask::TypeChecker type, QWidget *parent = nullptr);
~DialogChekerTask();
void closeEvent(QCloseEvent *event) override;

View File

@@ -422,7 +422,7 @@ void FIMtasksWidget::on_btnCheck_clicked()
if(!task.getID())
return;
dlgCheckerTask = new DialogChekerTask(connectorToServer, "fim", this);
dlgCheckerTask = new DialogChekerTask(connectorToServer, CheckerTask::TypeChecker::fim_check, this);
dlgCheckerTask->setTask(&task);
dlgCheckerTask->exec();