передается список ПП в sendQueryToDB для отправки

This commit is contained in:
2025-11-18 12:58:13 +03:00
parent 168ded7b1e
commit 4f14cddbed
12 changed files with 193 additions and 53 deletions

View File

@@ -362,11 +362,48 @@ void AMMtasksWidget::assignTaskAMMtoTrainee()
if(taskNew.getID())
{
emit signal_AssignedTask();
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &taskNew);
//QList<SubProc> listSubProc;
if(selectSubProcForAssignTaskAMM(taskNew, &taskNew.listSubProc))
{
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted)
{
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &taskNew);
}
}
}
}
bool AMMtasksWidget::selectSubProcForAssignTaskAMM(TaskAmmFim taskNew, QList<SubProc>* listSubProc)
{
bool result = false;
dlgListSubProc = new DialogListSubProc(connectorToServer, this);
dlgListSubProc->setTask(&taskNew);
switch( dlgListSubProc->exec() )
{
case QDialog::Accepted:
{
//Здесь нужно забрать список отмеченных подпроцедур
result = dlgListSubProc->getListCheckedSubProc(listSubProc);
break;
}
case QDialog::Rejected:
break;
default:
break;
}
if(dlgListSubProc)
{
delete dlgListSubProc;
dlgListSubProc = nullptr;
}
return result;
}
void AMMtasksWidget::setCurrentTask(int id)
{
for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
@@ -433,8 +470,7 @@ void AMMtasksWidget::on_btnCheck_clicked()
void AMMtasksWidget::on_btnAssignTask_clicked()
{
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted)
assignTaskAMMtoTrainee();
assignTaskAMMtoTrainee();
}
void AMMtasksWidget::on_btnOnlyActive_clicked()
@@ -464,24 +500,8 @@ void AMMtasksWidget::on_treeWidgetDoubleClicked(QTreeWidgetItem *item, int colum
}
else
{//Отображаем перечень подпроцедур
TaskAmmFim task = taskTreePreparation->getTaskAMMbyID(id);
if(!task.getID())
return;
dlgListSubProc = new DialogListSubProc(connectorToServer, this);
dlgListSubProc->setTask(&task);
dlgListSubProc->exec();
//if(dlgListSubProc->getFlChanged())
//waitAnimationWidget->showWithPlay();
if(dlgListSubProc)
{
delete dlgListSubProc;
dlgListSubProc = nullptr;
}
{
assignTaskAMMtoTrainee();
}
}