mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Сделал отправку задач на сервер
This commit is contained in:
@@ -9,24 +9,55 @@
|
||||
FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::FIMtasksWidget),
|
||||
connectorToServer(connectorToServer)
|
||||
connectorToServer(connectorToServer),
|
||||
loginTraineeSelected("")
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
treeWidget = new QTreeWidget();
|
||||
ui->horizontalLayout_1->addWidget(treeWidget);
|
||||
|
||||
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidget_currentItemChanged);
|
||||
|
||||
preparationTreeWidget();
|
||||
|
||||
ui->btnAssignTaskToTrainee->setEnabled(false);
|
||||
}
|
||||
|
||||
FIMtasksWidget::~FIMtasksWidget()
|
||||
{
|
||||
|
||||
deleteAllTaskAmmFim();
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
|
||||
{
|
||||
if(current == nullptr)
|
||||
return;
|
||||
|
||||
QString code = "";
|
||||
|
||||
QTreeWidgetItem *treeItemParent = current->parent();
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана задача
|
||||
int id = current->text(ColumnsTree::clmn_ID).toInt();
|
||||
|
||||
TaskAmmFim* task = getTaskByID(id);
|
||||
|
||||
code = task->title;
|
||||
|
||||
ui->btnAssignTaskToTrainee->setEnabled(true);
|
||||
}
|
||||
else
|
||||
ui->btnAssignTaskToTrainee->setEnabled(false);
|
||||
|
||||
ui->editCode->setText(code);
|
||||
}
|
||||
|
||||
void FIMtasksWidget::loadFIMtasksFromXML(QByteArray array)
|
||||
{
|
||||
listTaskAmmFim.clear();
|
||||
deleteAllTaskAmmFim();
|
||||
|
||||
QDomDocument docTasksDOM;
|
||||
|
||||
@@ -47,9 +78,10 @@ void FIMtasksWidget::loadFIMtasksFromXML(QByteArray array)
|
||||
|
||||
if(name == "task")
|
||||
{
|
||||
TaskAmmFim task;
|
||||
TaskAmmFim* task = nullptr;
|
||||
task = new TaskAmmFim();
|
||||
|
||||
task.initialize(nodeMap.namedItem("id").nodeValue().toInt(),
|
||||
task->initialize(/*nodeMap.namedItem("id").nodeValue().toInt()*/ TaskAmmFim::lastID++,
|
||||
nodeMap.namedItem("type").nodeValue(),
|
||||
nodeMap.namedItem("title").nodeValue(),
|
||||
nodeMap.namedItem("status").nodeValue(),
|
||||
@@ -92,7 +124,7 @@ void FIMtasksWidget::loadFIMtasksFromXML(QByteArray array)
|
||||
|
||||
}while(! (signElement = signElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
task.addMalfunction(malfunction);
|
||||
task->addMalfunction(malfunction);
|
||||
}
|
||||
}while(! (malfunctionElement = malfunctionElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
@@ -107,21 +139,21 @@ void FIMtasksWidget::fillTree()
|
||||
{
|
||||
for(int i = 0; i < listTaskAmmFim.count(); i++)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim task = listTaskAmmFim.at(i);
|
||||
TaskAmmFim* task = listTaskAmmFim.at(i);
|
||||
|
||||
QTreeWidgetItem* itemTask = new QTreeWidgetItem();
|
||||
|
||||
itemTask->setText(0, task.title);
|
||||
itemTask->setText(1, QString::number(task.id));
|
||||
itemTask->setText(0, task->title);
|
||||
itemTask->setText(1, QString::number(task->id));
|
||||
itemTask->setFlags(itemTask->flags() | Qt::ItemIsUserCheckable);
|
||||
itemTask->setCheckState(0, Qt::Checked);
|
||||
itemTask->setIcon(0, QIcon(":/resources/icons/procedure.png"));
|
||||
|
||||
treeWidget->addTopLevelItem(itemTask);
|
||||
|
||||
for (int j = 0; j < task.malfunctionList.count(); j++)
|
||||
for (int j = 0; j < task->malfunctionList.count(); j++)
|
||||
{/*Неисправности*/
|
||||
Malfunction malfunction = task.malfunctionList.at(j);
|
||||
Malfunction malfunction = task->malfunctionList.at(j);
|
||||
|
||||
QTreeWidgetItem* itemMalfunction = new QTreeWidgetItem();
|
||||
|
||||
@@ -172,6 +204,11 @@ void FIMtasksWidget::slot_NeedUpdateUI()
|
||||
loadTasksFIM();
|
||||
}
|
||||
|
||||
void FIMtasksWidget::slot_traineeSelected(QString login)
|
||||
{
|
||||
loginTraineeSelected = login;
|
||||
}
|
||||
|
||||
void FIMtasksWidget::loadTasksFIM()
|
||||
{
|
||||
//Обновление дерева
|
||||
@@ -184,7 +221,49 @@ void FIMtasksWidget::loadTasksFIM()
|
||||
fillTree();
|
||||
}
|
||||
|
||||
TaskAmmFim* FIMtasksWidget::getTaskByID(int id)
|
||||
{
|
||||
for(int i = 0; i < listTaskAmmFim.count(); i++)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim* task = listTaskAmmFim.at(i);
|
||||
if(task->id == id)
|
||||
return task;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void FIMtasksWidget::deleteAllTaskAmmFim()
|
||||
{
|
||||
for(TaskAmmFim* task: listTaskAmmFim)
|
||||
delete task;
|
||||
|
||||
listTaskAmmFim.clear();
|
||||
}
|
||||
|
||||
void FIMtasksWidget::on_btnUpdateTasks_clicked()
|
||||
{
|
||||
connectorToServer->sendQueryTasksXML("fim");
|
||||
}
|
||||
|
||||
void FIMtasksWidget::on_btnAssignTaskToTrainee_clicked()
|
||||
{
|
||||
QTreeWidgetItem *current = treeWidget->currentItem();
|
||||
|
||||
if(current == nullptr)
|
||||
return;
|
||||
|
||||
int id = current->text(ColumnsTree::clmn_ID).toInt();
|
||||
|
||||
TaskAmmFim* task = getTaskByID(id);
|
||||
|
||||
if(task)
|
||||
{
|
||||
int trainee_id = connectorToServer->getIdTraineeByLogin(loginTraineeSelected);
|
||||
|
||||
TaskAmmFim taskNew;
|
||||
taskNew.title = task->title;
|
||||
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE, trainee_id, &taskNew);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user