Рефакт TaskAMMFIMTreePreparation

This commit is contained in:
2025-07-25 12:29:48 +03:00
parent 943b9413fa
commit 3e5c451bb3
10 changed files with 192 additions and 108 deletions

View File

@@ -41,6 +41,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
connect(this, &FIMtasksWidget::signal_prepareFIMListItems, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareFIMListItems);
connect(this, &FIMtasksWidget::signal_prepareFIMListItemsForTrainee, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee);
connect(taskTreePreparation, &TaskAMMFIMTreePreparation::signal_listFIMItemsReady, this, &FIMtasksWidget::slot_FIMlistItemsReady);
connect(this, &FIMtasksWidget::signal_stopParserPreparation, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_stopParserPreparation);
waitAnimationWidget = new WaitAnimationWidget;
QMovie *movie = new QMovie(":/resources/icons/762.gif");
@@ -83,7 +84,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
FIMtasksWidget::~FIMtasksWidget()
{
waitAnimationWidget->hideWithStop();
taskTreePreparation->stopParser();
emit signal_stopParserPreparation();
threadPreparation->quit();
threadPreparation->wait();
@@ -166,9 +167,9 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
{//Выбрана задача
int id = current->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
TaskAmmFim* task = taskTreePreparation->getTaskFIMbyID(id);
TaskAmmFim task = taskTreePreparation->getTaskFIMbyID(id);
if(task == nullptr)
if(!task.getID())
{
ui->btnAssignTask->setEnabled(false);
@@ -176,13 +177,13 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
ui->btnCheck->setEnabled(false);
}
code = task->title;
code = task.title;
ui->btnAssignTask->setEnabled(true);
ui->btnDelete->setEnabled(true);
if(task->status != "new")
if(task.status != "new")
ui->btnCheck->setEnabled(true);
else
ui->btnCheck->setEnabled(false);
@@ -298,14 +299,14 @@ void FIMtasksWidget::assignTaskFIMtoTrainee()
int id = current->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
TaskAmmFim* task = taskTreePreparation->getTaskFIMbyID(id);
TaskAmmFim task = taskTreePreparation->getTaskFIMbyID(id);
if(task)
if(task.getID())
{
int trainee_id = connectorToServer->getIdTraineeByLogin(loginTraineeSelected);
TaskAmmFim taskNew;
taskNew.title = task->title;
taskNew.title = task.title;
//Назначенные неисправности
for (int i = 0; i < current->childCount(); i++)
@@ -314,7 +315,7 @@ void FIMtasksWidget::assignTaskFIMtoTrainee()
if(itemMalfunction->checkState(0) == Qt::Checked)
{
Malfunction malfunction = task->malfunctionList.at(i);
Malfunction malfunction = task.malfunctionList.at(i);
taskNew.malfunctionList.append(malfunction);
}
}
@@ -359,11 +360,14 @@ void FIMtasksWidget::on_btnCheck_clicked()
int id = treeItemCurrent->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
TaskAmmFim* task = taskTreePreparation->getTaskFIMbyID(id);
TaskAmmFim task = taskTreePreparation->getTaskFIMbyID(id);
if(!task.getID())
return;
DialogCheckTask dlg(connectorToServer, "fim", this);
dlg.setTask(task);
dlg.setTask(&task);
QDialog* dialog = new QDialog(this);
QHBoxLayout *layout = new QHBoxLayout(dialog);