Рефакт 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

@@ -40,6 +40,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
connect(this, &AMMtasksWidget::signal_prepareAMMListItems, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareAMMListItems);
connect(this, &AMMtasksWidget::signal_prepareAMMListItemsForTrainee, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee);
connect(taskTreePreparation, &TaskAMMFIMTreePreparation::signal_listAMMItemsReady, this, &AMMtasksWidget::slot_AMMlistItemsReady);
connect(this, &AMMtasksWidget::signal_stopParserPreparation, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_stopParserPreparation);
waitAnimationWidget = new WaitAnimationWidget;
QMovie *movie = new QMovie(":/resources/icons/762.gif");
@@ -80,7 +81,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
AMMtasksWidget::~AMMtasksWidget()
{
waitAnimationWidget->hideWithStop();
taskTreePreparation->stopParser();
emit signal_stopParserPreparation();
threadPreparation->quit();
threadPreparation->wait();
@@ -163,34 +164,10 @@ void AMMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
Module* module = taskTreePreparation->getModuleAMMbyID(id);
if(module)
{
QString type = "Code";
QString code = "";
if(module->getType() == ModuleType::TYPE_PM)
{
PM* PMmodul = static_cast<PM*>(module);
type = "PM";
code = PMmodul->pmCode();
ui->btnAssignTask->setEnabled(false);
}
else
{
DM* DMmodul = static_cast<DM*>(module);
type = "DM";
code = DMmodul->dmCode();
ui->btnAssignTask->setEnabled(true);
}
}
else
{
if(taskTreePreparation->getTypeModuleAMMbyID(id) == ModuleType::TYPE_PM)
ui->btnAssignTask->setEnabled(false);
}
else
ui->btnAssignTask->setEnabled(true);
}
void AMMtasksWidget::slot_NeedUpdateUI()
@@ -292,27 +269,14 @@ void AMMtasksWidget::assignTaskAMMtoTrainee()
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
Module* module = taskTreePreparation->getModuleAMMbyID(id);
TaskAmmFim taskNew = taskTreePreparation->getTaskAMMbyID(id);
if(module)
if(taskNew.getID())
{
if(module->getType() == ModuleType::TYPE_DM)
{
QString dmCode = "";
QString techName = "";
DM* DMmodul = static_cast<DM*>(module);
dmCode = DMmodul->dmCode();
techName = DMmodul->getLangStructRus().techName;
int trainee_id = connectorToServer->getIdTraineeByLogin(loginTraineeSelected);
int trainee_id = connectorToServer->getIdTraineeByLogin(loginTraineeSelected);
TaskAmmFim taskNew;
taskNew.ammProcedure.title = techName;
taskNew.ammProcedure.dmCode = dmCode;
emit signal_AssignedTask();
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, trainee_id, &taskNew);
}
emit signal_AssignedTask();
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, trainee_id, &taskNew);
}
}
@@ -346,10 +310,14 @@ void AMMtasksWidget::on_btnCheck_clicked()
int id = treeItemCurrent->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
if(!task.getID())
return;
DialogCheckTask dlg(connectorToServer, "amm", this);
//dlg.setTask(task);
dlg.setIDTask(id);
dlg.setTask(&task);
QDialog* dialog = new QDialog(this);
QHBoxLayout *layout = new QHBoxLayout(dialog);