mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Сделал выдачу tasksFIM.xml из сервера по запросу GUI-клиента
This commit is contained in:
@@ -62,6 +62,19 @@ void DocTasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
}
|
||||
}
|
||||
|
||||
void DocTasksWidget::slot_NeedUpdateUI()
|
||||
{
|
||||
loadTasksAMM();
|
||||
}
|
||||
|
||||
void DocTasksWidget::loadTasksAMM()
|
||||
{
|
||||
//Обновление дерева
|
||||
treeWidget->clear();
|
||||
|
||||
//TODO собственно обновление дерева
|
||||
}
|
||||
|
||||
void DocTasksWidget::domElementParser(QDomElement element, Module* moduleParent)
|
||||
{
|
||||
QString name;
|
||||
|
||||
@@ -27,6 +27,10 @@ public:
|
||||
private Q_SLOTS:
|
||||
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
|
||||
public Q_SLOTS:
|
||||
//Слот обработки сигнала необходимости обновления интерфейса
|
||||
void slot_NeedUpdateUI();
|
||||
|
||||
private:
|
||||
void domElementParser(QDomElement element, Module* moduleParent);
|
||||
void loadDocTasksFromXML();
|
||||
@@ -38,11 +42,14 @@ private:
|
||||
void updateTreeWidget();
|
||||
void addModuleToTreeWidget(Module* module, QTreeWidgetItem* parentItem = nullptr);
|
||||
|
||||
void loadTasksAMM();
|
||||
|
||||
private:
|
||||
Ui::DocTasksWidget *ui;
|
||||
QTreeWidget* treeWidget;
|
||||
|
||||
QList<Module*> listAllModules;
|
||||
|
||||
};
|
||||
|
||||
#endif // DOCTASKSWIDGET_H
|
||||
|
||||
@@ -6,17 +6,18 @@
|
||||
#include "ui_fimtaskswidget.h"
|
||||
#include "tasksAmmFim.h"
|
||||
|
||||
FIMtasksWidget::FIMtasksWidget(QWidget *parent) :
|
||||
FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::FIMtasksWidget)
|
||||
ui(new Ui::FIMtasksWidget),
|
||||
connectorToServer(connectorToServer)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
loadTasksAmmFimFromXML();
|
||||
//loadTasksAmmFimFromXML();
|
||||
|
||||
preparationTreeWidget();
|
||||
|
||||
fillTree();
|
||||
//fillTree();
|
||||
}
|
||||
|
||||
FIMtasksWidget::~FIMtasksWidget()
|
||||
@@ -24,92 +25,86 @@ FIMtasksWidget::~FIMtasksWidget()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void FIMtasksWidget::loadTasksAmmFimFromXML()
|
||||
QList<TaskAmmFim> FIMtasksWidget::loadTasksAmmFimFromXML(QByteArray array)
|
||||
{
|
||||
QList<TaskAmmFim> listTaskAmmFim;
|
||||
|
||||
QDomDocument docTasksDOM;
|
||||
QString xmlFileName = "./tasksFIM.xml";
|
||||
QFile xmlInFile(xmlFileName);
|
||||
if (!xmlInFile.open(QFile::ReadOnly | QFile::Text))
|
||||
{
|
||||
QMessageBox::critical(nullptr, tr("Attention!"), tr("The file could not be opened ") + xmlFileName);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
docTasksDOM.setContent(xmlInFile.readAll());
|
||||
xmlInFile.close();
|
||||
|
||||
QDomElement RRJTasksElement = docTasksDOM.firstChildElement("RRJTasks");
|
||||
if(RRJTasksElement.isNull())
|
||||
return;
|
||||
docTasksDOM.setContent(array);
|
||||
|
||||
QDomElement taskElement = RRJTasksElement.firstChildElement();
|
||||
if(taskElement.isNull())
|
||||
return;
|
||||
QDomElement RRJTasksElement = docTasksDOM.firstChildElement("RRJTasks");
|
||||
if(RRJTasksElement.isNull())
|
||||
return listTaskAmmFim;
|
||||
|
||||
do
|
||||
{/*task*/
|
||||
QString name = taskElement.nodeName();
|
||||
QDomNamedNodeMap nodeMap = taskElement.attributes();
|
||||
QDomElement taskElement = RRJTasksElement.firstChildElement();
|
||||
if(taskElement.isNull())
|
||||
return listTaskAmmFim;
|
||||
|
||||
if(name == "task")
|
||||
do
|
||||
{/*task*/
|
||||
QString name = taskElement.nodeName();
|
||||
QDomNamedNodeMap nodeMap = taskElement.attributes();
|
||||
|
||||
if(name == "task")
|
||||
{
|
||||
TaskAmmFim task;
|
||||
|
||||
task.initialize(nodeMap.namedItem("id").nodeValue().toInt(),
|
||||
nodeMap.namedItem("type").nodeValue(),
|
||||
nodeMap.namedItem("title").nodeValue(),
|
||||
nodeMap.namedItem("status").nodeValue(),
|
||||
nodeMap.namedItem("created").nodeValue(),
|
||||
nodeMap.namedItem("changed").nodeValue());
|
||||
|
||||
QDomElement malfunctionElement = taskElement.firstChildElement();
|
||||
if(!malfunctionElement.isNull())
|
||||
{
|
||||
TaskAmmFim task;
|
||||
do
|
||||
{/*malfunction*/
|
||||
QString name = malfunctionElement.nodeName();
|
||||
QDomNamedNodeMap nodeMap = malfunctionElement.attributes();
|
||||
|
||||
task.initialize(nodeMap.namedItem("id").nodeValue().toInt(),
|
||||
nodeMap.namedItem("type").nodeValue(),
|
||||
nodeMap.namedItem("title").nodeValue(),
|
||||
nodeMap.namedItem("status").nodeValue(),
|
||||
nodeMap.namedItem("created").nodeValue(),
|
||||
nodeMap.namedItem("changed").nodeValue());
|
||||
if(name == "malfunction")
|
||||
{
|
||||
Malfunction malfunction;
|
||||
|
||||
QDomElement malfunctionElement = taskElement.firstChildElement();
|
||||
if(!malfunctionElement.isNull())
|
||||
{
|
||||
do
|
||||
{/*malfunction*/
|
||||
QString name = malfunctionElement.nodeName();
|
||||
QDomNamedNodeMap nodeMap = malfunctionElement.attributes();
|
||||
malfunction.initialize(nodeMap.namedItem("dmCode").nodeValue(),
|
||||
nodeMap.namedItem("num").nodeValue(),
|
||||
nodeMap.namedItem("description").nodeValue());
|
||||
|
||||
if(name == "malfunction")
|
||||
QDomElement signElement = malfunctionElement.firstChildElement();
|
||||
if(!signElement.isNull())
|
||||
{
|
||||
Malfunction malfunction;
|
||||
do
|
||||
{/*malfunctionSign*/
|
||||
QString name = signElement.nodeName();
|
||||
QDomNamedNodeMap nodeMap = signElement.attributes();
|
||||
|
||||
malfunction.initialize(nodeMap.namedItem("dmCode").nodeValue(),
|
||||
nodeMap.namedItem("num").nodeValue(),
|
||||
nodeMap.namedItem("description").nodeValue());
|
||||
if(name == "malfunctionSign")
|
||||
{
|
||||
MalfunctionSign sign;
|
||||
|
||||
QDomElement signElement = malfunctionElement.firstChildElement();
|
||||
if(!signElement.isNull())
|
||||
{
|
||||
do
|
||||
{/*malfunctionSign*/
|
||||
QString name = signElement.nodeName();
|
||||
QDomNamedNodeMap nodeMap = signElement.attributes();
|
||||
sign.initialize(nodeMap.namedItem("type").nodeValue().toInt(),
|
||||
nodeMap.namedItem("description").nodeValue());
|
||||
|
||||
if(name == "malfunctionSign")
|
||||
{
|
||||
MalfunctionSign sign;
|
||||
malfunction.addMalfunctionSign(sign);
|
||||
}
|
||||
|
||||
sign.initialize(nodeMap.namedItem("type").nodeValue().toInt(),
|
||||
nodeMap.namedItem("description").nodeValue());
|
||||
|
||||
malfunction.addMalfunctionSign(sign);
|
||||
}
|
||||
|
||||
}while(! (signElement = signElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
task.addMalfunction(malfunction);
|
||||
}while(! (signElement = signElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
}while(! (malfunctionElement = malfunctionElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
listTaskAmmFim.append(task);
|
||||
task.addMalfunction(malfunction);
|
||||
}
|
||||
}while(! (malfunctionElement = malfunctionElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
}while (! (taskElement = taskElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
listTaskAmmFim.append(task);
|
||||
}
|
||||
}while (! (taskElement = taskElement.nextSiblingElement()).isNull());
|
||||
|
||||
return listTaskAmmFim;
|
||||
}
|
||||
|
||||
void FIMtasksWidget::fillTree()
|
||||
void FIMtasksWidget::fillTree(QList<TaskAmmFim> listTaskAmmFim)
|
||||
{
|
||||
for(int i = 0; i < listTaskAmmFim.count(); i++)
|
||||
{/*Задачи*/
|
||||
@@ -172,3 +167,22 @@ void FIMtasksWidget::reSetHeadTreeWidget()
|
||||
QStringList listHeaders = {tr("Title"), tr("ID")};
|
||||
ui->treeWidget->setHeaderLabels(listHeaders);
|
||||
}
|
||||
|
||||
void FIMtasksWidget::slot_NeedUpdateUI()
|
||||
{
|
||||
loadTasksFIM();
|
||||
}
|
||||
|
||||
void FIMtasksWidget::loadTasksFIM()
|
||||
{
|
||||
//Обновление дерева
|
||||
ui->treeWidget->clear();
|
||||
|
||||
//собственно обновление дерева
|
||||
fillTree(connectorToServer->getListTaskFim());
|
||||
}
|
||||
|
||||
void FIMtasksWidget::on_btnUpdateTasks_clicked()
|
||||
{
|
||||
connectorToServer->sendQueryTasksXML("fim");
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <QWidget>
|
||||
#include "tasksAmmFim.h"
|
||||
#include "connectortoserver.h"
|
||||
|
||||
namespace Ui {
|
||||
class FIMtasksWidget;
|
||||
@@ -19,22 +20,34 @@ private:
|
||||
};
|
||||
|
||||
public:
|
||||
explicit FIMtasksWidget(QWidget *parent = nullptr);
|
||||
explicit FIMtasksWidget(ConnectorToServer* connectorToServer, QWidget *parent = nullptr);
|
||||
~FIMtasksWidget();
|
||||
|
||||
private:
|
||||
void loadTasksAmmFimFromXML();
|
||||
void fillTree();
|
||||
public:
|
||||
static QList<TaskAmmFim> loadTasksAmmFimFromXML(QByteArray array);
|
||||
|
||||
private:
|
||||
void fillTree(QList<TaskAmmFim> listTaskAmmFim);
|
||||
void preparationTreeWidget();
|
||||
void reSetHeadTreeWidget();
|
||||
|
||||
public Q_SLOTS:
|
||||
//Слот обработки сигнала необходимости обновления интерфейса
|
||||
void slot_NeedUpdateUI();
|
||||
|
||||
private:
|
||||
void loadTasksFIM();
|
||||
|
||||
public:
|
||||
QString userName;
|
||||
QList<TaskAmmFim> listTaskAmmFim;
|
||||
//QList<TaskAmmFim> listTaskAmmFim;
|
||||
|
||||
private slots:
|
||||
void on_btnUpdateTasks_clicked();
|
||||
|
||||
private:
|
||||
Ui::FIMtasksWidget *ui;
|
||||
ConnectorToServer* connectorToServer;
|
||||
};
|
||||
|
||||
#endif // FIMTASKSWIDGET_H
|
||||
|
||||
@@ -22,6 +22,13 @@
|
||||
<string>FIM</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>List of tasks</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QTreeWidget" name="treeWidget">
|
||||
<column>
|
||||
@@ -31,12 +38,16 @@
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>List of tasks</string>
|
||||
</property>
|
||||
</widget>
|
||||
<item row="5" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnUpdateTasks">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
||||
Reference in New Issue
Block a user