Newer
Older
SurgeTankControl / alarmdetailform.cpp
[wangxitong] on 27 Jan 2022 4 KB first commit
#include "alarmdetailform.h"
#include "ui_alarmdetailform.h"
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>
#include <QSqlQuery>
#include <QSqlRecord>
#include <QMessageBox>
#include <QTextCodec>
#include <mainwindow.h>
static QSqlDatabase db;
AlarmDetailForm::AlarmDetailForm(QString id,AlarmListFrom *alarmListFrom, QWidget *parent) :
    QWidget(parent),
    alarmListFrom(alarmListFrom),
    id(id),
    ui(new Ui::AlarmDetailForm)
{
    ui->setupUi(this);
    ui->finishtime->setDisplayFormat("yyyy-MM-dd HH:mm:ss");
    ui->alarmtime->setDisplayFormat("yyyy-MM-dd HH:mm:ss");
    ui->ordertime->setDisplayFormat("yyyy-MM-dd HH:mm:ss");
    ui->alarmcode->setText(id);

    db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName(MainWindow::ip);
    db.setDatabaseName("brtyx");
    db.setPort(3306);
    db.setUserName("root");
    db.setPassword("123456");
    bool ok = db.open();
    if(ok){
        QSqlQuery query( QString("select * from alarm where id =%1").arg(id),db);
        QSqlRecord rec = query.record();
        while(query.next())
        {
            ui->alarmcode->setText(query.value("alarmcode").toString());
            ui->alarmstatus->setText(query.value("alarmstatus").toString());
            ui->alarmlevel->setText(query.value("alarmlevel").toString());
            ui->position->setText(query.value("position").toString());
            ui->alarmcontent->setText(query.value("alarmcontent").toString());
            ui->alarmtype->setCurrentText(query.value("alarmtype").toString());
            ui->measure->setCurrentText(query.value("measure").toString());
            ui->finishtime->setDateTime(query.value("finishtime").toDateTime());
            ui->alarmtime->setDateTime(query.value("alarmtime").toDateTime());
            ui->ordertime->setDateTime(query.value("ordertime").toDateTime());
        }
    }
    connect(this,SIGNAL(sendMsg()),alarmListFrom,SLOT(submit()));

}

AlarmDetailForm::~AlarmDetailForm()
{
    delete ui;
}

//void AlarmDetailForm::getId(QString str){
//   this->id = str;
//}

void AlarmDetailForm::on_pushButton_clicked()
{
    this->close();
}

void AlarmDetailForm::on_pushButton_2_clicked()
{
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));

    if(ui->alarmtype->currentText()==""){
        QMessageBox::critical(0, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("请选择预警类型!"));
        return;
    }else if(ui->measure->currentText()==""){
        QMessageBox::critical(0, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("请选择采取措施!"));
        return;
    }else if(ui->ordertime->text()==""){
        QMessageBox::critical(0, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("请选择下达命令时间!"));
        return;
    }else{
        db = QSqlDatabase::addDatabase("QMYSQL");
        db.setHostName(MainWindow::ip);
        db.setDatabaseName("brtyx");
        db.setPort(3306);
        db.setUserName("root");
        db.setPassword("123456");
        bool ok = db.open();
        if(ok){
            QSqlQuery query( QString("UPDATE alarm SET alarmtype = '%2',measure='%3',ordertime='%4' WHERE id=%1  ")
                             .arg(id).arg(ui->alarmtype->currentText()).arg(ui->measure->currentText())
                                  .arg(ui->ordertime->text()));

//            query.exec();
           QMessageBox::information(NULL, QString::fromLocal8Bit("提示"),QString::fromLocal8Bit("提交成功!"),
                                    QMessageBox::Yes );
           emit sendMsg();
           this->close();
        }
    }

    QString str = QString::fromLocal8Bit("INSERT INTO operation (username, part, name, operation,operationtime) VALUES ('%1', '%2','%3', '%4','%5')")
         .arg(alarmListFrom->username)
         .arg(QString::fromLocal8Bit("预警管理"))
         .arg(QString::fromLocal8Bit("预警详情"))
         .arg(QString::fromLocal8Bit("编辑详情"))
         .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"));
//    qDebug()<<str;
    QSqlQuery query1(str);
}