Оценка состояния сложных технических объектов

Разработка программного комплекса формирования обобщенной оценки состояния сложных технических объектов на основе обработки событий. Методы мониторинга состояния объектов инфраструктуры. Реализация программного комплекса на языке программирования С++.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 08.10.2018
Размер файла 6,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

eventHumidityValue = q1.value(2).toInt();

// QMessageBox::information(this,"", QString("Объект - %1 Темп1 - %2 Темп2 - %3 ")

// .arg(objects.at(i))

// .arg(eventTemperatureValue)

// .arg(eventHumidityValue));

int stateID = 0;

QString stateName;

query = QString("SELECT stateID, stateName "

"FROM state "

"WHERE "

"(%1 >= stateTemperatureMin AND %1 <= stateTemperatureMax) "

"AND (%2 >= stateHumidityMin AND %2 <= stateHumidityMax) ")

.arg(eventTemperatureValue)

.arg(eventHumidityValue);

if (q2.exec(query)) {

while (q2.next()) {

stateID = q2.value(0).toInt();

stateName = q2.value(1).toString();

}

query = QString("UPDATE journal "

"SET stateID = %1 "

"WHERE eventID = %2 ")

.arg(stateID)

.arg(journalID);

//QMessageBox::information(this,"", query);

if (q3.exec(query)) {

switch (i) {

case 0:

ui->lblObject1->setText(objectNames.at(i));

ui->lblState1->setText(stateName);

break;

case 1:

ui->lblObject2->setText(objectNames.at(i));

ui->lblState2->setText(stateName);

break;

case 2:

ui->lblObject3->setText(objectNames.at(i));

ui->lblState3->setText(stateName);

break;

}

}

}

//To Do.....

}

}

else {

QMessageBox::information(this,"", q1.lastError().text());

}

}

}

else {

QMessageBox::information(this, "", q.lastError().text());

}

}

else {

QMessageBox::information(this, "", db.lastError().text());

}

}

objects.cpp

#include "objects.h"

#include "ui_objects.h"

Objects::Objects(QWidget *parent) :

QDialog(parent),

ui(new Ui::Objects)

{

ui->setupUi(this);

model = new QSqlTableModel(0,db);

model->setTable("OBJECT");

model->setEditStrategy(QSqlTableModel::OnFieldChange);

model->select();

model->setHeaderData(0, Qt::Horizontal, QObject::trUtf8("№"));

model->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Объект"));

model->setHeaderData(2, Qt::Horizontal, QObject::trUtf8("Адрес"));

view = ui->tableView;

view->setModel(model);

view->setAlternatingRowColors(true); // Подсветка строк разными цветами

view->resizeRowsToContents();

view->resizeColumnsToContents();

view->setSortingEnabled(true); // Сортировка таблицы

view->sortByColumn(0,Qt::AscendingOrder); // Порядок сортировки по умолчанию

}

Objects::~Objects()

{

delete ui;

}

void Objects::on_btnSaveExit_clicked()

{

close();

}

void Objects::on_btnInsert_clicked()

{

QString Object, Address;

Object = ui->txtObject->text();

Address = ui->txtAddress->text();

QSqlQuery qry;

qry.prepare("INSERT INTO OBJECT (objectName,objectAddress) VALUES ('"+Object+"','"+Address+"')");

if (ui->txtObject->text() == "" || ui->txtAddress->text() == "")

{

QMessageBox::warning(this, "Ошибка!",

"Вы не заполнили одно из полей, перепроверьте информацию.");

return;

}

else

{

if(qry.exec())

{

QMessageBox::critical(this,tr("Сохранение"),tr("Запись сохранена."));

model->select();

}

else

{

QMessageBox::critical(this,tr("Ошибка!"),qry.lastError().text());

}

}

ui->txtObject->setText("");

ui->txtAddress->setText("");

}

void Objects::on_btnDelete_clicked()

{

QMessageBox::StandardButton stButtonYes;

stButtonYes = QMessageBox::question(this, "Подтверждение удаления",

"Вы действительно хотите удалить строку?",

QMessageBox::Yes | QMessageBox::No);

if(stButtonYes == QMessageBox::Yes)

{

model->removeRow(ui->tableView->currentIndex().row());

model->select();

}

}

parametry.cpp

#include "parametry.h"

#include "ui_parametry.h"

Parametry::Parametry(QWidget *parent) :

QDialog(parent),

ui(new Ui::Parametry)

{

ui->setupUi(this);

model = new QSqlTableModel(0,db);

model->setTable("PARAMETER");

model->setEditStrategy(QSqlTableModel::OnFieldChange);

model->select();

model->setHeaderData(0, Qt::Horizontal, QObject::trUtf8("№"));

model->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Параметр"));

model->setHeaderData(2, Qt::Horizontal, QObject::trUtf8("Размерность"));

view = ui->tableView;

view->setModel(model);

view->setAlternatingRowColors(true); // Подсветка строк разными цветами

view->resizeRowsToContents();

view->resizeColumnsToContents();

view->setSortingEnabled(true); // Сортировка таблицы

view->sortByColumn(0,Qt::AscendingOrder); // Порядок сортировки по умолчанию

}

Parametry::~Parametry()

{

delete ui;

}

void Parametry::on_btnSaveExit_clicked()

{

close();

}

void Parametry::on_btnInsert_clicked()

{

QString Parameter, Razmernost;

Parameter = ui->txtPar->text();

Razmernost = ui->txtRaz->text();

QSqlQuery qry;

qry.prepare("INSERT INTO PARAMETER (parameterName,parameterDimension) VALUES ('"+Parameter+"','"+Razmernost+"')");

if (ui->txtPar->text() == "" || ui->txtRaz->text() == "")

{

QMessageBox::warning(this, "Ошибка!",

"Вы не заполнили одно из полей, перепроверьте информацию.");

return;

}

else

{

if(qry.exec())

{

QMessageBox::critical(this,tr("Сохранение"),tr("Запись сохранена."));

model->select();

}

else

{

QMessageBox::critical(this,tr("Ошибка!"),qry.lastError().text());

}

}

ui->txtPar->setText("");

ui->txtRaz->setText("");

}

void Parametry::on_btnDelete_clicked()

{

QMessageBox::StandardButton stButtonYes;

stButtonYes = QMessageBox::question(this, "Подтверждение удаления",

"Вы действительно хотите удалить строку?",

QMessageBox::Yes | QMessageBox::No);

if(stButtonYes == QMessageBox::Yes)

{

model->removeRow(ui->tableView->currentIndex().row());

model->select();

}

}

polzovateli.cpp

#include "polzovateli.h"

#include "ui_polzovateli.h"

Polzovateli::Polzovateli(QWidget *parent) :

QDialog(parent),

ui(new Ui::Polzovateli)

{

ui->setupUi(this);

model = new QSqlTableModel(0,db);

model->setTable("USER");

model->setEditStrategy(QSqlTableModel::OnFieldChange);

model->select();

model->setHeaderData(0, Qt::Horizontal, QObject::trUtf8("№"));

model->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Логин"));

model->setHeaderData(2, Qt::Horizontal, QObject::trUtf8("Пароль"));

model->setHeaderData(3, Qt::Horizontal, QObject::trUtf8("Роль"));

view = ui->tableView;

view->setModel(model);

view->setAlternatingRowColors(true); // Подсветка строк разными цветами

view->resizeRowsToContents();

view->resizeColumnsToContents();

view->setSortingEnabled(true); // Сортировка таблицы

view->sortByColumn(0,Qt::AscendingOrder); // Порядок сортировки по умолчанию

}

Polzovateli::~Polzovateli()

{

delete ui;

}

void Polzovateli::on_btnInsert_clicked()

{

QString Username, Password, Role;

Username = ui->txtUser->text();

Password = ui->txtPass->text();

Role = ui->txtRole->text();

QSqlQuery qry;

qry.prepare("INSERT INTO USERS (userUsername,userPassword,userRole) VALUES ('"+Username+"','"+Password+"','"+Role+"')");

if (ui->txtUser->text() == "" || ui->txtPass->text() == "" || ui->txtRole->text() == "")

{

QMessageBox::warning(this, "Ошибка!",

"Вы не заполнили одно из полей, перепроверьте информацию.");

return;

}

else

{

if(qry.exec())

{

QMessageBox::critical(this,tr("Сохранение"),tr("Запись сохранена."));

model->select();

}

else

{

QMessageBox::critical(this,tr("Ошибка!"),qry.lastError().text());

}

}

ui->txtUser->setText("");

ui->txtPass->setText("");

ui->txtRole->setText("");

}

void Polzovateli::on_btnDelete_clicked()

{

// Создаем окно с выбором вариантов действий

// создаем переменную ответа

QMessageBox::StandardButton stButtonYes;

// присваиваем значение, которое выберет пользователь: "Да" или "Нет"

stButtonYes = QMessageBox::question(this, "Подтверждение удаления",

"Вы действительно хотите удалить строку?",

QMessageBox::Yes | QMessageBox::No);

// проверяем нажата ли кнопка "Yes"

if(stButtonYes == QMessageBox::Yes)

{

// если нажата, то удаляем выбранную строку

model->removeRow(ui->tableView->currentIndex().row());

// обновляем модель

model->select();

}

}

void Polzovateli::on_btnSaveExit_clicked()

{

close();

}

sostoyaniya.cpp

#include "sostoyaniya.h"

#include "ui_sostoyaniya.h"

Sostoyaniya::Sostoyaniya(QWidget *parent) :

QDialog(parent),

ui(new Ui::Sostoyaniya)

{

ui->setupUi(this);

model = new QSqlTableModel(0,db);

model->setTable("STATE");

model->setEditStrategy(QSqlTableModel::OnFieldChange);

model->select();

model->setHeaderData(0, Qt::Horizontal, QObject::trUtf8("№"));

model->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Состояние"));

model->setHeaderData(2, Qt::Horizontal, QObject::trUtf8("Мин. температура"));

model->setHeaderData(3, Qt::Horizontal, QObject::trUtf8("Макс. температура"));

model->setHeaderData(4, Qt::Horizontal, QObject::trUtf8("Мин. влажность"));

model->setHeaderData(5, Qt::Horizontal, QObject::trUtf8("Макс. влажность"));

view = ui->tableView;

view->setModel(model);

view->setAlternatingRowColors(true); // Подсветка строк разными цветами

view->resizeRowsToContents();

view->resizeColumnsToContents();

view->setSortingEnabled(true); // Сортировка таблицы

view->sortByColumn(0,Qt::AscendingOrder); // Порядок сортировки по умолчанию

}

Sostoyaniya::~Sostoyaniya()

{

delete ui;

}

void Sostoyaniya::on_btnSaveExit_clicked()

{

close();

}

void Sostoyaniya::on_btnInsert_clicked()

{

QString Sostoyanie, MinTemp, MaxTemp, MinVlag, MaxVlag;

Sostoyanie = ui->txtSostoyanie->text();

MinTemp = ui->txtMinTemp->text();

MaxTemp = ui->txtMaxTemp->text();

MinVlag = ui->txtMinVlag->text();

MaxVlag = ui->txtMaxVlag->text();

QSqlQuery qry;

qry.prepare("INSERT INTO STATES (stateName,stateTemperatureMin,stateTemperatureMax,stateHumidityMin,stateHumidityMax) VALUES ('"+Sostoyanie+"','"+MinTemp+"','"+MaxTemp+"','"+MinVlag+"','"+MaxVlag+"')");

if (ui->txtSostoyanie->text() == "" || ui->txtMinTemp->text() == "" || ui->txtMaxTemp->text() == "" || ui->txtMinVlag->text() == "" || ui->txtMaxVlag->text() == "" )

{

QMessageBox::warning(this, "Ошибка!",

"Вы не заполнили одно из полей, перепроверьте информацию.");

return;

}

else

{

if(qry.exec())

{

QMessageBox::critical(this,tr("Сохранение"),tr("Запись сохранена."));

model->select();

}

else

{

QMessageBox::critical(this,tr("Ошибка!"),qry.lastError().text());

}

}

ui->txtSostoyanie->setText("");

ui->txtMinTemp->setText("");

ui->txtMaxTemp->setText("");

ui->txtMinVlag->setText("");

ui->txtMaxVlag->setText("");

}

void Sostoyaniya::on_btnDelete_clicked()

{

QMessageBox::StandardButton stButtonYes;

stButtonYes = QMessageBox::question(this, "Подтверждение удаления",

"Вы действительно хотите удалить строку?",

QMessageBox::Yes | QMessageBox::No);

if(stButtonYes == QMessageBox::Yes)

{

model->removeRow(ui->tableView->currentIndex().row());

model->select();

}

}

spravka.cpp

#include "spravka.h"

#include "ui_spravka.h"

Spravka::Spravka(QWidget *parent) :

QDialog(parent),

ui(new Ui::Spravka)

{

ui->setupUi(this);

}

Spravka::~Spravka()

{

delete ui;

}

void Spravka::on_pushButton_clicked()

{

close();

}

spravochniki.cpp

#include "spravochniki.h"

#include "ui_spravochniki.h"

#include "polzovateli.h"

#include "parametry.h"

#include "sostoyaniya.h"

#include "objects.h"

Spravochniki::Spravochniki(QWidget *parent) :

QDialog(parent),

ui(new Ui::Spravochniki)

{

ui->setupUi(this);

}

Spravochniki::~Spravochniki()

{

delete ui;

}

void Spravochniki::on_btnBack_clicked()

{

close();

}

void Spravochniki::on_btnSpravPol_clicked()

{

Polzovateli polzovateli;

polzovateli.setModal(true);

polzovateli.exec();

}

void Spravochniki::on_btnSpravPar_clicked()

{

Parametry parametry;

parametry.setModal(true);

parametry.exec();

}

void Spravochniki::on_btnSpravSost_clicked()

{

Sostoyaniya sostoyaniya;

sostoyaniya.setModal(true);

sostoyaniya.exec();

}

void Spravochniki::on_pushButton_clicked()

{

Objects objects;

objects.setModal(true);

objects.exec();

}

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.