896 lines
44 KiB
C++
896 lines
44 KiB
C++
#include "WorkingCondition.h"
|
|
#include "ui_WorkingCondition.h"
|
|
#include <QPushButton>
|
|
#include <QListView>
|
|
#include "NetMgr.h"
|
|
#include "ftpclient.h"
|
|
|
|
CWorkingcondition::CWorkingcondition(QWidget *parent) :
|
|
QWidget(parent),
|
|
ui(new Ui::CWorkingcondition)
|
|
{
|
|
ui->setupUi(this);
|
|
ui->widget_2->setProperty("flag","wcChannel");
|
|
ui->widget_3->setProperty("flag","normal");
|
|
headerStr = QObject::tr("ID,工况名称,使能,起始工况,描述");
|
|
model = new QStandardItemModel(ui->tableView);
|
|
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows); //选中行
|
|
QStringList headerList = headerStr.split(",");
|
|
model->setHorizontalHeaderLabels(headerList);
|
|
model->setColumnCount(headerList.size());
|
|
ui->tableView->setModel(model);
|
|
ui->tableView->setColumnWidth(0, 50);
|
|
ui->tableView->setColumnWidth(3, 130);
|
|
ui->tableView->setColumnWidth(1, 200);
|
|
ui->tableView->setColumnWidth(4, 520);
|
|
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
|
|
|
//model->setRowCount(10);
|
|
|
|
// for (int i = 0; i < 10; i++)
|
|
// {
|
|
// ui->tableView->setIndexWidget(model->index(i,4),CreateButtons(0));
|
|
// }
|
|
|
|
m_row = -1;
|
|
|
|
ui->tableView->setAlternatingRowColors(true);
|
|
ui->comboBox_activePower->setView(new QListView());
|
|
ui->comboBox_reactivePower->setView(new QListView());
|
|
ui->comboBox_excitingCurrent->setView(new QListView());
|
|
ui->comboBox_guideVaneOpening->setView(new QListView());
|
|
ui->comboBox_bladeOpening->setView(new QListView());
|
|
ui->comboBox_workingHead->setView(new QListView());
|
|
ui->comboBox_unitFlow->setView(new QListView());
|
|
ui->comboBox_diffrentPress->setView(new QListView());
|
|
|
|
ui->comboBox_unitEfficiency->setView(new QListView());
|
|
ui->comboBox_gateOutSwitch->setView(new QListView());
|
|
ui->comboBox_fieldSwitch->setView(new QListView());
|
|
ui->comboBox_generateElectricity->setView(new QListView());
|
|
ui->comboBox_voluteInlet->setView(new QListView());
|
|
ui->comboBox_tailraceOutlet->setView(new QListView());
|
|
ui->comboBox_rotateSpeed->setView(new QListView());
|
|
|
|
//connect(ui->comboBox_unitType,SIGNAL(currentIndexChanged(QString)),this,SLOT(on_comboBox_unitType_currentIndexChanged(const QString&)));
|
|
LoadWorkingConditionConfig();
|
|
}
|
|
|
|
CWorkingcondition::~CWorkingcondition()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
QWidget *CWorkingcondition::CreateButtons(int flag)
|
|
{
|
|
if(flag == 0){
|
|
QPushButton *btn_New = new QPushButton("新增");
|
|
QHBoxLayout *hlayoutNew = new QHBoxLayout;
|
|
hlayoutNew->addWidget(btn_New,1,Qt::AlignCenter);
|
|
hlayoutNew->setMargin(0);
|
|
QWidget *widNew = new QWidget;
|
|
widNew->setLayout(hlayoutNew);
|
|
return widNew;
|
|
}else if(flag == 1){
|
|
QHBoxLayout *hlayout = new QHBoxLayout;
|
|
QWidget *wid = new QWidget;
|
|
QPushButton *btn_Edit = new QPushButton("编辑");
|
|
QPushButton *btn_Del = new QPushButton("删除");
|
|
hlayout->addWidget(btn_Edit,1,Qt::AlignCenter);
|
|
hlayout->addWidget(btn_Del,1,Qt::AlignCenter);
|
|
hlayout->setMargin(0);
|
|
wid->setLayout(hlayout);
|
|
return wid;
|
|
}
|
|
}
|
|
QRadioButton* CWorkingcondition::add_radio_model(int flag)
|
|
{
|
|
QRadioButton* radio = new QRadioButton(this);
|
|
if(!flag){
|
|
radio->setChecked(false);
|
|
}else{
|
|
radio->setChecked(true);
|
|
}
|
|
return radio;
|
|
}
|
|
|
|
void CWorkingcondition::LoadWorkingConditionConfig()
|
|
{
|
|
#ifdef Q_OS_WIN32
|
|
QString fileName = QCoreApplication::applicationDirPath() + "\\config\\UnitWorkConditionsInfo.json";
|
|
#endif
|
|
#ifdef Q_OS_LINUX
|
|
QString fileName = QCoreApplication::applicationDirPath() + "/config/UnitWorkConditionsInfo.json";
|
|
#endif
|
|
|
|
//QString fileName =QFileDialog::getOpenFileName(this,"打开文件",QDir::currentPath(), "*.json");
|
|
if(!fileName.isEmpty())
|
|
{
|
|
qDebug() << "打开" << fileName ;
|
|
QFile file(fileName);
|
|
file.open(QIODevice::ReadOnly | QIODevice::Text);
|
|
QString value = file.readAll();
|
|
file.close();
|
|
|
|
QJsonParseError parseJsonErr;
|
|
QJsonDocument document = QJsonDocument::fromJson(value.toUtf8(), &parseJsonErr);
|
|
if (!(parseJsonErr.error == QJsonParseError::NoError)) {
|
|
QMessageBox::about(NULL, "提示", "读取文件错误!");
|
|
return;
|
|
}
|
|
|
|
QJsonObject jsonObject = document.object();
|
|
if(jsonObject.contains(QStringLiteral("WorkConditionsInfo"))) {
|
|
valueWorkConditionsInfo = jsonObject.value(QStringLiteral("WorkConditionsInfo"));
|
|
m_arrWorkConditionsInfo = valueWorkConditionsInfo.toArray();
|
|
}
|
|
|
|
}
|
|
|
|
m_WorkConditionChannels = g_SqliteDB->GetWorkConditionChannels("t_WorkConditionChannels");
|
|
qDebug() << "g_ChannelBaseInfo" <<g_ChannelBaseInfo.size() << endl;
|
|
for (int i = 0; i < g_ChannelBaseInfo.size(); i++) {
|
|
ui->comboBox_activePower->insertItem(i,g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_reactivePower->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_excitingCurrent->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_guideVaneOpening->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_bladeOpening->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_workingHead->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_unitFlow->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_diffrentPress->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_unitEfficiency->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_gateOutSwitch->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_fieldSwitch->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_generateElectricity->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_voluteInlet->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_tailraceOutlet->addItem(g_ChannelBaseInfo[i].channelName);
|
|
ui->comboBox_rotateSpeed->addItem(g_ChannelBaseInfo[i].channelName);
|
|
|
|
}
|
|
ui->comboBox_activePower->addItem("否");
|
|
ui->comboBox_reactivePower->addItem("否");
|
|
ui->comboBox_excitingCurrent->addItem("否");
|
|
ui->comboBox_guideVaneOpening->addItem("否");
|
|
ui->comboBox_bladeOpening->addItem("否");
|
|
ui->comboBox_workingHead->addItem("否");
|
|
ui->comboBox_unitFlow->addItem("否");
|
|
ui->comboBox_diffrentPress->addItem("否");
|
|
ui->comboBox_unitEfficiency->addItem("否");
|
|
ui->comboBox_gateOutSwitch->addItem("否");
|
|
ui->comboBox_fieldSwitch->addItem("否");
|
|
ui->comboBox_generateElectricity->addItem("否");
|
|
ui->comboBox_voluteInlet->addItem("否");
|
|
ui->comboBox_tailraceOutlet->addItem("否");
|
|
ui->comboBox_rotateSpeed->addItem("否");
|
|
|
|
if(m_WorkConditionChannels.size() < 1){
|
|
ui->comboBox_activePower->setCurrentText("否");
|
|
ui->comboBox_reactivePower->setCurrentText("否");
|
|
ui->comboBox_excitingCurrent->setCurrentText("否");
|
|
ui->comboBox_guideVaneOpening->setCurrentText("否");
|
|
ui->comboBox_bladeOpening->setCurrentText("否");
|
|
ui->comboBox_workingHead->setCurrentText("否");
|
|
ui->comboBox_unitFlow->setCurrentText("否");
|
|
ui->comboBox_diffrentPress->setCurrentText("否");
|
|
ui->comboBox_unitEfficiency->setCurrentText("否");
|
|
ui->comboBox_gateOutSwitch->setCurrentText("否");
|
|
ui->comboBox_fieldSwitch->setCurrentText("否");
|
|
ui->comboBox_generateElectricity->setCurrentText("否");
|
|
ui->comboBox_voluteInlet->setCurrentText("否");
|
|
ui->comboBox_tailraceOutlet->setCurrentText("否");
|
|
ui->comboBox_rotateSpeed->setCurrentText("否");
|
|
}else{
|
|
|
|
if(m_WorkConditionChannels[0].channelID == ""){
|
|
ui->comboBox_activePower->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_activePower->setCurrentText(m_WorkConditionChannels[0].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[1].channelID == ""){
|
|
ui->comboBox_reactivePower->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_reactivePower->setCurrentText(m_WorkConditionChannels[1].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[2].channelID == ""){
|
|
ui->comboBox_excitingCurrent->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_excitingCurrent->setCurrentText(m_WorkConditionChannels[2].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[3].channelID == ""){
|
|
ui->comboBox_guideVaneOpening->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_guideVaneOpening->setCurrentText(m_WorkConditionChannels[3].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[4].channelID == ""){
|
|
ui->comboBox_bladeOpening->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_bladeOpening->setCurrentText(m_WorkConditionChannels[4].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[5].channelID == ""){
|
|
ui->comboBox_workingHead->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_workingHead->setCurrentText(m_WorkConditionChannels[5].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[6].channelID == ""){
|
|
ui->comboBox_unitFlow->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_unitFlow->setCurrentText(m_WorkConditionChannels[6].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[7].channelID == ""){
|
|
ui->comboBox_diffrentPress->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_diffrentPress->setCurrentText(m_WorkConditionChannels[7].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[8].channelID == ""){
|
|
ui->comboBox_unitEfficiency->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_unitEfficiency->setCurrentText(m_WorkConditionChannels[8].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[9].channelID == ""){
|
|
ui->comboBox_gateOutSwitch->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_gateOutSwitch->setCurrentText(m_WorkConditionChannels[9].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[10].channelID == ""){
|
|
ui->comboBox_fieldSwitch->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_fieldSwitch->setCurrentText(m_WorkConditionChannels[10].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[11].channelID == ""){
|
|
ui->comboBox_generateElectricity->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_generateElectricity->setCurrentText(m_WorkConditionChannels[11].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[12].channelID == ""){
|
|
ui->comboBox_voluteInlet->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_voluteInlet->setCurrentText(m_WorkConditionChannels[12].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[13].channelID == ""){
|
|
ui->comboBox_tailraceOutlet->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_tailraceOutlet->setCurrentText(m_WorkConditionChannels[13].ChannelName);
|
|
}
|
|
if(m_WorkConditionChannels[14].channelID == ""){
|
|
ui->comboBox_rotateSpeed->setCurrentText("否");
|
|
}else{
|
|
ui->comboBox_rotateSpeed->setCurrentText(m_WorkConditionChannels[14].ChannelName);
|
|
}
|
|
|
|
}
|
|
|
|
m_WorkCondition = g_SqliteDB->GetWorkCondition("t_WorkCondition");
|
|
model->setRowCount(m_WorkCondition.size());
|
|
for (int i = 0; i < m_WorkCondition.size() ; i++) {
|
|
model->setData(model->index(i,0,QModelIndex()),m_WorkCondition[i].WorkConditionID);
|
|
model->setData(model->index(i,1,QModelIndex()),m_WorkCondition[i].WorkConditionName);
|
|
if(m_WorkCondition[i].Enable)
|
|
ui->tableView->setIndexWidget(model->index(i, 2), CreateCombox(1));
|
|
else
|
|
ui->tableView->setIndexWidget(model->index(i, 2), CreateCombox(0));
|
|
|
|
|
|
if(m_WorkCondition[i].StartWorkCondition == "1")
|
|
ui->tableView->setIndexWidget(model->index(i, 3), add_radio_model(1));
|
|
else
|
|
ui->tableView->setIndexWidget(model->index(i, 3), add_radio_model(0));
|
|
|
|
|
|
model->setData(model->index(i,4,QModelIndex()),m_WorkCondition[i].Description);
|
|
}
|
|
|
|
// m_WorkConditionInfo = g_SqliteDB->GetWorkConditionInfo("t_WorkConditionInfo","");
|
|
}
|
|
|
|
void CWorkingcondition::on_comboBox_unitType_currentIndexChanged(const QString &arg1)
|
|
{
|
|
qDebug() << arg1 << endl;
|
|
model->setRowCount(0);
|
|
model->setRowCount(10);
|
|
if(arg1 == "常规机组工况模板"){
|
|
QJsonArray array = valueNomal.toArray();
|
|
for (int i = 0; i < array.size() ; i++) {
|
|
//model->removeRow(i);
|
|
model->setData(model->index(i,0,QModelIndex()),array.at(i)["SN"].toString());
|
|
model->setData(model->index(i,1,QModelIndex()),array.at(i)["WorkConditionName"].toString());
|
|
model->setData(model->index(i,2,QModelIndex()),array.at(i)["Enable"].toInt());
|
|
model->setData(model->index(i,3,QModelIndex()),array.at(i)["Description"].toString());
|
|
//ui->tableView->setIndexWidget(model->index(i,4),CreateButtons(1));
|
|
}
|
|
}else if(arg1 == "抽水蓄能机组工况模板"){
|
|
QJsonArray array = valuePumpWater.toArray();
|
|
for (int i = 0; i < array.size() ; i++) {
|
|
//model->removeRow(i);
|
|
model->setData(model->index(i,0,QModelIndex()),array.at(i)["SN"].toString());
|
|
model->setData(model->index(i,1,QModelIndex()),array.at(i)["WorkConditionName"].toString());
|
|
model->setData(model->index(i,2,QModelIndex()),array.at(i)["Enable"].toInt());
|
|
model->setData(model->index(i,3,QModelIndex()),array.at(i)["Description"].toString());
|
|
//ui->tableView->setIndexWidget(model->index(i,4),CreateButtons(1));
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
void CWorkingcondition::on_pushButton_edit_clicked()
|
|
{
|
|
|
|
int rowCount = model->rowCount();
|
|
m_row = ui->tableView->currentIndex().row();//获得当前行索引
|
|
if(rowCount < 1 || m_row == -1){
|
|
QMessageBox::warning(this, QStringLiteral("提示"), QStringLiteral("请先选择工况类型!"));
|
|
return;
|
|
}
|
|
QString strTableName = "t_WorkConditionChannels";
|
|
//g_SqliteDB->DeleteData(strTableName);
|
|
for (int i = 0; i < g_ChannelBaseInfo.size() ; i++) {
|
|
QString strSql = "";
|
|
if(ui->comboBox_activePower->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 1").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_activePower->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 1").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
if(ui->comboBox_reactivePower->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 2").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_reactivePower->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 2").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
if(ui->comboBox_excitingCurrent->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 3").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_excitingCurrent->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 3").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
if(ui->comboBox_guideVaneOpening->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 4").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_guideVaneOpening->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 4").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_bladeOpening->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 5").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_bladeOpening->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 5").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_workingHead->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 6").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_workingHead->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 6").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_unitFlow->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 7").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_unitFlow->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 7").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_diffrentPress->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 8").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_diffrentPress->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 8").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_unitEfficiency->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 9").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_unitEfficiency->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 9").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_gateOutSwitch->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 10").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_gateOutSwitch->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 10").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_fieldSwitch->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 11").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_fieldSwitch->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 11").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_generateElectricity->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 12").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_generateElectricity->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 12").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_voluteInlet->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 13").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_voluteInlet->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 13").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_tailraceOutlet->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 14").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_tailraceOutlet->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 14").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
if(ui->comboBox_rotateSpeed->currentText() == g_ChannelBaseInfo[i].channelName){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = '%4' where WorkConditionChannelType = 15").arg(g_ChannelBaseInfo[i].channelID).arg(g_ChannelBaseInfo[i].bordNo).\
|
|
arg(g_ChannelBaseInfo[i].channelName).arg(g_ChannelBaseInfo[i].channelNoInBoard);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}else if(ui->comboBox_rotateSpeed->currentText() == "否"){
|
|
strSql = QString(" set ChannelId = '%1',BoardNo = %2,ChannelName = '%3',ChannelNoInBoard = %4 where WorkConditionChannelType = 15").arg("").arg(0).\
|
|
arg("").arg(0);
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
}
|
|
|
|
}
|
|
|
|
m_WorkConditionChannels = g_SqliteDB->GetWorkConditionChannels("t_WorkConditionChannels");
|
|
|
|
QStringList strListChannelName;
|
|
strListChannelName << ui->comboBox_activePower->currentText() << ui->comboBox_reactivePower->currentText() <<
|
|
ui->comboBox_excitingCurrent->currentText() << ui->comboBox_guideVaneOpening->currentText() <<
|
|
ui->comboBox_bladeOpening->currentText() << ui->comboBox_workingHead->currentText() <<
|
|
ui->comboBox_unitFlow->currentText() << ui->comboBox_diffrentPress->currentText() <<
|
|
ui->comboBox_unitEfficiency->currentText() << ui->comboBox_gateOutSwitch->currentText() <<
|
|
ui->comboBox_fieldSwitch->currentText() << ui->comboBox_generateElectricity->currentText() <<
|
|
ui->comboBox_voluteInlet->currentText() << ui->comboBox_tailraceOutlet->currentText() <<
|
|
ui->comboBox_rotateSpeed->currentText();
|
|
foreach (auto ChannelName, strListChannelName){
|
|
if(ChannelName == "否"){
|
|
strListChannelName.removeOne(ChannelName);
|
|
}
|
|
}
|
|
|
|
|
|
QModelIndex index1 = model->index(m_row,0);
|
|
QModelIndex index2 = model->index(m_row,1);
|
|
QString index = model->data(index1).toString();
|
|
QString WorkConditionType = model->data(index2).toString();
|
|
|
|
|
|
CWokingConditionConfig *dialog = new CWokingConditionConfig();
|
|
connect(dialog,SIGNAL(sigWorkConditon(QJsonObject&)), this, SLOT(slotWorkConditon(QJsonObject&)));
|
|
//QString strUnitType = ui->comboBox_unitType->currentText();
|
|
//QJsonArray arrWorkConditionInfo = valueWorkConditionsInfo.toArray();
|
|
|
|
QVector<WorkCondition_t> WorkCondition = g_SqliteDB->GetWorkCondition("t_WorkCondition","");
|
|
for (int i = 0; i < WorkCondition.size(); i++) {
|
|
if(WorkCondition[i].SN == index){
|
|
QString strWhere = QString("SN = '%1' ").arg(index);
|
|
QVector<WorkConditionInfo_t> WorkConditionInfo = g_SqliteDB->GetWorkConditionInfo("t_WorkConditionRules",strWhere);
|
|
dialog->InitConfig(index.toInt(),WorkConditionType,strListChannelName,\
|
|
WorkCondition[i],m_WorkConditionChannels,WorkConditionInfo);
|
|
}
|
|
}
|
|
// if(m_WorkCondition.size() > 0 && m_arrWorkConditionsInfo.size() > 0){
|
|
// for (int j = 0; j < m_arrWorkConditionsInfo.size() ; j++) {
|
|
// if(m_arrWorkConditionsInfo.at(j)["SN"] == index){
|
|
// QJsonValue valueWorkConditionInfo = m_arrWorkConditionsInfo.at(j);
|
|
// dialog->InitConfig(index.toInt(),WorkConditionType,strListChannelName,\
|
|
// valueWorkConditionInfo,m_WorkConditionChannels);
|
|
// break;
|
|
// }else{
|
|
// if(j + 1 == m_arrWorkConditionsInfo.size()){
|
|
// QJsonValue emptyValue;
|
|
// dialog->InitConfig(index.toInt(),WorkConditionType,strListChannelName,\
|
|
// emptyValue,m_WorkConditionChannels);
|
|
// }
|
|
// }
|
|
// }
|
|
// }else{
|
|
// QJsonValue emptyValue;
|
|
// dialog->InitConfig(index.toInt(),WorkConditionType,strListChannelName,\
|
|
// emptyValue,m_WorkConditionChannels);
|
|
// }
|
|
|
|
// if(m_wcArray.size() > 0 ){
|
|
// qDebug() << "m_wcArray" << endl;
|
|
// for (int j = 0; j < m_wcArray.size() ; j++) {
|
|
// if(m_wcArray.at(j)["SN"] == index){
|
|
// QJsonValue valueWorkConditionInfo = m_wcArray.at(j);
|
|
// dialog->InitConfig(index.toInt(),WorkConditionType,strListChannelName,\
|
|
// valueWorkConditionInfo,m_WorkConditionChannels);
|
|
// }else{
|
|
// QJsonValue emptyValue;
|
|
// dialog->InitConfig(index.toInt(),WorkConditionType,strListChannelName,\
|
|
// emptyValue,m_WorkConditionChannels);
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
dialog->setWindowModality(Qt::ApplicationModal);
|
|
dialog->show();
|
|
}
|
|
|
|
void CWorkingcondition::slotWorkConditon(QJsonObject& jsonObj)
|
|
{
|
|
model->setData(model->index(m_row,1,QModelIndex()),jsonObj["WorkConditionName"].toString());
|
|
model->setData(model->index(m_row,4,QModelIndex()),jsonObj["Description"].toString());
|
|
|
|
QJsonDocument doc(jsonObj["WorkConditionJudgeLogicRules"].toObject());
|
|
QString strRet = QString(doc.toJson(QJsonDocument::Indented));
|
|
|
|
QString strTableName = "t_WorkCondition",strSql;
|
|
strSql = QString(" set Description = '%1',WorkConditionName = '%2',WorkConditionJudgeLogicRules = '%3',CheckWorkConditionInterval = '%4' where SN = '%5' ").arg(jsonObj["Description"].toString()).arg(jsonObj["WorkConditionName"].toString()).\
|
|
arg(strRet).arg(jsonObj["CheckWorkConditionInterval"].toInt()).arg(jsonObj["SN"].toString());
|
|
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
|
|
|
//m_wcArray.append(jsonObj);
|
|
|
|
}
|
|
|
|
QWidget *CWorkingcondition::CreateCombox(int flag)
|
|
{
|
|
if(flag == 0){
|
|
QComboBox* cmb = new QComboBox();
|
|
QStringList strList ;
|
|
strList << "否" << "是";
|
|
cmb->addItems(strList);
|
|
return cmb;
|
|
}else if(flag == 1){
|
|
QComboBox* cmb = new QComboBox();
|
|
QStringList strList ;
|
|
strList << "是" << "否";
|
|
|
|
cmb->addItems(strList);
|
|
return cmb;
|
|
}
|
|
}
|
|
|
|
void CWorkingcondition::on_pushButton_add_clicked()
|
|
{
|
|
int rowCount = model->rowCount();
|
|
model->setRowCount(rowCount+1);
|
|
QString strTablename = " t_WorkCondition ";
|
|
QString strCol = " MAX(WorkConditionID) ";
|
|
|
|
QString strResult = g_SqliteDB->GetSingelLine(strTablename,strCol);
|
|
QString strIndex = QString("%1").arg(strResult.split(",")[0].toInt()+1);
|
|
ui->tableView->setIndexWidget(model->index(rowCount, 3), add_radio_model(0));
|
|
ui->tableView->setIndexWidget(model->index(rowCount, 2), CreateCombox(1));
|
|
model->setData(model->index(rowCount,0,QModelIndex()),strIndex);
|
|
model->setData(model->index(rowCount,1,QModelIndex()),"");
|
|
model->setData(model->index(rowCount,3,QModelIndex()),"");
|
|
|
|
QString strSql = QString(" values('%1','%2','%3',%4,'%5','%6','%7','%8','%9');").arg(strIndex,"5","","0",strIndex,"false","","","");
|
|
g_SqliteDB->InsertData(strTablename,strSql);
|
|
|
|
//m_WorkCondition = g_SqliteDB->GetWorkCondition("t_WorkCondition");
|
|
}
|
|
|
|
|
|
void CWorkingcondition::on_pushButton_del_clicked()
|
|
{
|
|
int rowCount = model->rowCount();
|
|
int row = ui->tableView->currentIndex().row();//获得当前行索引
|
|
if(rowCount < 1 || row == -1){
|
|
QMessageBox::warning(this, QStringLiteral("提示"), QStringLiteral("请先选择工况类型!"));
|
|
return;
|
|
}
|
|
QString strIndex = model->data(model->index(row,0)).toString();
|
|
QString strTablename = "t_WorkCondition";
|
|
g_SqliteDB->DeleteData(strTablename,"WorkConditionID",strIndex);
|
|
strTablename = "t_WorkConditionRules";
|
|
g_SqliteDB->DeleteData(strTablename,"SN",strIndex);
|
|
model->removeRow(row);
|
|
// m_WorkCondition = g_SqliteDB->GetWorkCondition("t_WorkCondition");
|
|
|
|
// QJsonArray tempArray = m_arrWorkConditionsInfo;
|
|
// for (int i = 0; i < tempArray.size(); i++) {
|
|
// QJsonObject tempObj = tempArray[i].toObject();
|
|
// if(tempObj["SN"].toString() == strIndex){
|
|
// m_arrWorkConditionsInfo.removeAt(i);
|
|
// }
|
|
// }
|
|
|
|
// if(m_wcArray.size() > 0){
|
|
// QJsonArray tempArray = m_wcArray;
|
|
// for (int i = 0; i < tempArray.size(); i++) {
|
|
// QJsonObject tempObj = tempArray[i].toObject();
|
|
// if(tempObj["SN"].toString() == strIndex){
|
|
// m_wcArray.removeAt(i);
|
|
// }
|
|
// }
|
|
// }
|
|
// QJsonObject WorkConditionsInfoObj;
|
|
// WorkConditionsInfoObj["WorkConditionsInfo"] = m_arrWorkConditionsInfo;
|
|
|
|
|
|
// QJsonDocument jsonDoc;
|
|
// jsonDoc.setObject(WorkConditionsInfoObj);
|
|
// QString fileName = QCoreApplication::applicationDirPath() + "\\config\\UnitWorkConditionsInfo.json";
|
|
|
|
// QFile file(fileName);
|
|
// file.open(QIODevice::WriteOnly);
|
|
// file.write(jsonDoc.toJson());
|
|
// file.close();
|
|
}
|
|
|
|
|
|
void CWorkingcondition::on_pushButton_save_clicked()
|
|
{
|
|
connect(g_NetMgr,SIGNAL(sigNetMgr(QString, const QVariant&)), this, SLOT(slotNetMgr(QString,const QVariant&)));
|
|
g_NetMgr->DetectNet();
|
|
}
|
|
void CWorkingcondition::PushData()
|
|
{
|
|
|
|
int flag = -1,flag2 = -1;
|
|
for (int i = 0; i < model->rowCount(); i++) {
|
|
QComboBox *gg = (QComboBox*)(ui->tableView->indexWidget(model->index(i,2)));
|
|
QRadioButton *radio = (QRadioButton*)(ui->tableView->indexWidget(model->index(i,3)));
|
|
QString strIndex = model->data(model->index(i,0)).toString();
|
|
QString strComBox = gg->currentText();
|
|
bool radiocheck = radio->isChecked();
|
|
int enable = -1;
|
|
QString strStartWorkCondition = "";
|
|
|
|
if(strComBox == "是"){
|
|
enable = 1;
|
|
flag2 = 1;
|
|
}else if( strComBox == "否"){
|
|
enable = 0;
|
|
|
|
}
|
|
if(radiocheck){
|
|
|
|
strStartWorkCondition = "1";
|
|
flag = 1;
|
|
}else if(!radiocheck){
|
|
|
|
strStartWorkCondition = "0";
|
|
}
|
|
QString strTablename = " t_WorkCondition ";
|
|
|
|
QString strSql = QString(" set Enable = %1,StartWorkCondition = '%2' where SN = '%3';").arg(enable).arg(strStartWorkCondition).arg(strIndex);
|
|
|
|
g_SqliteDB->UpdateDataSql(strTablename,strSql);
|
|
}
|
|
if(flag == -1){
|
|
QMessageBox::information(this, QStringLiteral("提示"), "请选择起始工况!");
|
|
return;
|
|
}
|
|
if(flag2 == -1){
|
|
QMessageBox::information(this, QStringLiteral("提示"), "请使能一个工况!");
|
|
return;
|
|
}
|
|
|
|
QVector<WorkCondition_t> WorkCondition = g_SqliteDB->GetWorkCondition("t_WorkCondition","");
|
|
QJsonArray arrayWorkCondition;
|
|
for (int i = 0; i < WorkCondition.size(); i++) {
|
|
QJsonObject tempObj;
|
|
qDebug() << "WorkCondition[i].CheckWorkConditionInterval.toInt()" << WorkCondition[i].CheckWorkConditionInterval.toInt() << endl;
|
|
tempObj["CheckWorkConditionInterval"] = WorkCondition[i].CheckWorkConditionInterval.toInt();
|
|
tempObj["SN"] = i + 1;
|
|
tempObj["Enable"] = WorkCondition[i].Enable;
|
|
if(WorkCondition[i].StartWorkCondition == "1")
|
|
tempObj["StartWorkCondition"] = true;
|
|
else if(WorkCondition[i].StartWorkCondition == "0")
|
|
tempObj["StartWorkCondition"] = false;
|
|
QJsonDocument doc = QJsonDocument::fromJson(WorkCondition[i].WorkConditionJudgeLogicRules.toUtf8());
|
|
QJsonObject obj = doc.object();
|
|
tempObj["WorkConditionJudgeLogicRules"] = obj;
|
|
tempObj["WorkConditionName"] = WorkCondition[i].WorkConditionName;
|
|
|
|
QString strWhere = QString(" SN = '%1' ").arg(WorkCondition[i].SN);
|
|
QVector<WorkConditionInfo_t> WorkCondition = g_SqliteDB->GetWorkConditionInfo("t_WorkConditionRules",strWhere);
|
|
QJsonArray tempArray;
|
|
for (int j = 0; j < WorkCondition.size(); j++) {
|
|
QJsonObject tempObj2;
|
|
tempObj2["BoardNo"] = WorkCondition[j].BoardNo;
|
|
tempObj2["ChannelName"] = WorkCondition[j].ChannelName;
|
|
tempObj2["DisplayName"] = WorkCondition[j].DisplayName;
|
|
tempObj2["ChannelNoInBoard"] = WorkCondition[j].ChannelNoInBoard;
|
|
tempObj2["BoardNo"] = WorkCondition[j].BoardNo;
|
|
tempObj2["LowerSideOfRange"] = WorkCondition[j].LowerSideOfRange.toDouble();
|
|
tempObj2["LowerSideOfVolatilityRange"] = WorkCondition[j].LowerSideOfVolatilityRange.toDouble();
|
|
tempObj2["UpperSideOfRange"] = WorkCondition[j].UpperSideOfRange.toDouble();
|
|
tempObj2["UpperSideOfVolatilityRange"] = WorkCondition[j].UpperSideOfVolatilityRange.toDouble();
|
|
tempObj2["WC_NO"] = WorkCondition[j].WC_NO;
|
|
tempObj2["WorkConditionChannelType"] = WorkCondition[j].WorkConditionChannelType;
|
|
if(WorkCondition[j].EnLowerSideOfRangePercent == "1")
|
|
tempObj2["EnSideOfRangePercent"] = true;
|
|
else if(WorkCondition[j].EnLowerSideOfRangePercent == "0")
|
|
tempObj2["EnLowerSideOfRangePercent"] = false;
|
|
|
|
if(WorkCondition[j].EnRangeLower == "1")
|
|
tempObj2["EnRangeLower"] = true;
|
|
else if(WorkCondition[j].EnRangeLower == "0")
|
|
tempObj2["EnRangeLower"] = false;
|
|
|
|
if(WorkCondition[j].EnRangeUpper == "1")
|
|
tempObj2["EnRangeUpper"] = true;
|
|
else if(WorkCondition[j].EnRangeUpper == "0")
|
|
tempObj2["EnRangeUpper"] = false;
|
|
|
|
if(WorkCondition[j].EnVolatilityRangeLower == "1")
|
|
tempObj2["EnVolatilityRangeLower"] = true;
|
|
else if(WorkCondition[j].EnVolatilityRangeLower == "0")
|
|
tempObj2["EnVolatilityRangeLower"] = false;
|
|
|
|
if(WorkCondition[j].EnVolatilityRangeUpper == "1")
|
|
tempObj2["EnVolatilityRangeUpper"] = true;
|
|
else if(WorkCondition[j].EnVolatilityRangeUpper == "0")
|
|
tempObj2["EnVolatilityRangeUpper"] = false;
|
|
|
|
if(WorkCondition[j].EnableCheckVolatility == "1")
|
|
tempObj2["EnableCheckVolatility"] = true;
|
|
else if(WorkCondition[j].EnableCheckVolatility == "0")
|
|
tempObj2["EnableCheckVolatility"] = false;
|
|
|
|
tempArray.append(tempObj2);
|
|
}
|
|
tempObj["WorkConditionRules"] = tempArray;
|
|
arrayWorkCondition.append(tempObj);
|
|
}
|
|
//qDebug() << arrayWorkCondition << endl;
|
|
|
|
|
|
// for (int i = 0; i < model->rowCount(); i++) {
|
|
// QComboBox *gg = (QComboBox*)(ui->tableView->indexWidget(model->index(i,2)));
|
|
// QRadioButton *radio = (QRadioButton*)(ui->tableView->indexWidget(model->index(i,3)));
|
|
// QString strIndex = model->data(model->index(i,0)).toString();
|
|
// QString strComBox = gg->currentText();
|
|
// bool radiocheck = radio->isChecked();
|
|
// QString strStartWorkCondition = "";
|
|
// for (int j = 0; j < m_wcArray.size(); j++) {
|
|
// QString index = m_wcArray.at(j)["SN"].toString();
|
|
// QJsonObject tempObj = m_wcArray[j].toObject();
|
|
// if(index == strIndex ){
|
|
// if(strComBox == "是"){
|
|
// tempObj["Enable"] = 1;
|
|
// m_wcArray[j] = tempObj;
|
|
// }else if( strComBox == "否"){
|
|
// tempObj["Enable"] = 0;
|
|
// m_wcArray[j] = tempObj;
|
|
// }
|
|
// if(radiocheck){
|
|
// tempObj["StartWorkCondition"] = true;
|
|
// m_wcArray[j] = tempObj;
|
|
// strStartWorkCondition = "true";
|
|
// }else if(!radiocheck){
|
|
// tempObj["StartWorkCondition"] = false;
|
|
// m_wcArray[j] = tempObj;
|
|
// strStartWorkCondition = "false";
|
|
// }
|
|
// QString strTablename = " t_WorkCondition ";
|
|
// QString strEnable = QString("%1").arg(m_wcArray.at(j)["Description"].toInt());
|
|
// QString strCheckWorkConditionInterval = QString("%1").arg(m_wcArray.at(j)["CheckWorkConditionInterval"].toInt());
|
|
// QString strSql = QString(" set CheckWorkConditionInterval = '%1',Description = '%2',Enable = %3,\
|
|
// StartWorkCondition = '%4',WorkConditionName = '%5',WorkConditionRules = '%6' where SN = '%7';").arg(strCheckWorkConditionInterval,\
|
|
// m_wcArray.at(j)["Description"].toString(),strEnable,strStartWorkCondition,m_wcArray.at(j)["WorkConditionName"].toString(),"",index);
|
|
|
|
// g_SqliteDB->UpdateDataSql(strTablename,strSql);
|
|
// }
|
|
// }
|
|
// if(m_wcArray.size() < 1){
|
|
// QString strEnable;
|
|
// if(strComBox == "是"){
|
|
// strEnable = QString("%1").arg(1);
|
|
// }else if( strComBox == "否"){
|
|
// strEnable = QString("%1").arg(0);
|
|
// }
|
|
// if(radiocheck){
|
|
// strStartWorkCondition = "true";
|
|
// }else if(!radiocheck){
|
|
// strStartWorkCondition = "false";
|
|
// }
|
|
// QString strTablename = " t_WorkCondition ";
|
|
// QString strSql = QString(" set Enable = %1, StartWorkCondition = '%2' where SN = '%3';").arg(strEnable,strStartWorkCondition,strIndex);
|
|
|
|
// g_SqliteDB->UpdateDataSql(strTablename,strSql);
|
|
// }
|
|
|
|
// }
|
|
|
|
// m_wcSaveArray = m_arrWorkConditionsInfo;
|
|
|
|
// for (int jj = 0; jj < m_wcArray.size(); jj++) {
|
|
// int flag = 0;
|
|
// if(m_arrWorkConditionsInfo.size() > 0){
|
|
// for (int k = 0; k < m_arrWorkConditionsInfo.size(); k++) {
|
|
// if(m_wcArray.at(jj)["SN"].toString() == m_wcSaveArray.at(k)["SN"].toString()){
|
|
// m_wcSaveArray[k] = m_wcArray[jj];
|
|
// break;
|
|
// }else{
|
|
// if(flag + 1 == m_wcSaveArray.size())
|
|
// m_wcSaveArray.append(m_wcArray[jj]);
|
|
// flag ++;
|
|
// }
|
|
// }
|
|
// }else{
|
|
// m_wcSaveArray.append(m_wcArray[jj]);
|
|
// }
|
|
// }
|
|
// m_arrWorkConditionsInfo = m_wcSaveArray;
|
|
QJsonObject WorkConditionsInfoObj;
|
|
WorkConditionsInfoObj["WorkConditionsInfo"] = arrayWorkCondition;
|
|
|
|
QJsonDocument jsonDoc;
|
|
jsonDoc.setObject(WorkConditionsInfoObj);
|
|
|
|
#ifdef Q_OS_WIN32
|
|
QString fileName = QCoreApplication::applicationDirPath() + "\\config\\UnitWorkConditionsInfo.json";
|
|
#endif
|
|
#ifdef Q_OS_LINUX
|
|
QString fileName = QCoreApplication::applicationDirPath() + "/config/UnitWorkConditionsInfo.json";
|
|
#endif
|
|
|
|
QFile file(fileName);
|
|
file.open(QIODevice::WriteOnly);
|
|
file.write(jsonDoc.toJson());
|
|
file.close();
|
|
|
|
QString str = QString("ftp://%1/CIDW/qtconfig/%2").arg(IP).arg("UnitWorkConditionsInfo.json");
|
|
g_FtpClient->SetServerInfo(str);
|
|
g_FtpClient->SetUserInfo("root","@#cidw!@123456");
|
|
g_FtpClient->UpLoadFile(fileName,"UnitWorkConditionsInfo.json");
|
|
disconnect(g_NetMgr,SIGNAL(sigNetMgr(QString, const QVariant&)), this, SLOT(slotNetMgr(QString,const QVariant&)));
|
|
|
|
}
|
|
void CWorkingcondition::slotNetMgr(QString sAddr, const QVariant &msg)
|
|
{
|
|
QJsonObject objec = msg.value<QJsonObject>();
|
|
if(objec.contains("cmd"))
|
|
{
|
|
QJsonValue arrays_value = objec.take("cmd");
|
|
//qDebug()<<"cmd ="<<arrays_value.toString();
|
|
if(arrays_value.toString() == "110"){
|
|
bool Status = objec.take("success").toBool();
|
|
if(Status){
|
|
PushData();
|
|
}
|
|
}
|
|
}
|
|
}
|