857 lines
42 KiB
C++
857 lines
42 KiB
C++
#include "TriggerConfig.h"
|
||
#include "ui_TriggerConfig.h"
|
||
#include <QCheckBox>
|
||
#include <QListView>
|
||
#include "ftpclient.h"
|
||
#include "ViewTriggerConfig.h"
|
||
|
||
CTriggerConfig::CTriggerConfig(QWidget *parent) :
|
||
QWidget(parent),
|
||
ui(new Ui::CTriggerConfig)
|
||
{
|
||
ui->setupUi(this);
|
||
m_isConfirm = -1;
|
||
headerStr = QObject::tr("通道名称,特征值,高于警报值,高于危险值,\
|
||
低于警报值,低于危险值,警报触发状态,危险触发状态,警报延时触发时长,危险延时触发时长,触发类型");
|
||
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->setAlternatingRowColors(true);
|
||
for (int i = 0; i < model->columnCount() ; i++) {
|
||
if(i == 0){
|
||
ui->tableView->setColumnWidth(i, 200);
|
||
}else if(i == 8 || i == 9){
|
||
ui->tableView->setColumnWidth(i, 200);
|
||
}else{
|
||
ui->tableView->setColumnWidth(i, 150);
|
||
}
|
||
|
||
}
|
||
ui->comboBox_workCondition->setView(new QListView());
|
||
ui->comboBox_channelConfig->setView(new QListView());
|
||
|
||
connect(model,
|
||
SIGNAL(itemChanged(QStandardItem*)),
|
||
this,
|
||
SLOT(ReceiveChange(QStandardItem*)));
|
||
|
||
QStringList strChannelConfigList;
|
||
for (int i = 0; i < g_ChannelBaseInfo.size(); i++) {
|
||
strChannelConfigList << g_ChannelBaseInfo[i].channelName;
|
||
}
|
||
|
||
|
||
QString wherecon = "";
|
||
wherecon = QString("Enable = \"1\" ");
|
||
m_WorkCondition = g_SqliteDB->GetWorkCondition("t_WorkCondition",wherecon);
|
||
|
||
QStringList strWorkConditionList;
|
||
for (int i = 0; i < m_WorkCondition.size(); i++) {
|
||
strWorkConditionList << m_WorkCondition.at(i).WorkConditionName;
|
||
}
|
||
ui->comboBox_workCondition->addItems(strWorkConditionList);
|
||
ui->comboBox_channelConfig->clear();
|
||
ui->comboBox_channelConfig->addItems(strChannelConfigList);
|
||
|
||
connect(ui->comboBox_channelConfig,SIGNAL(currentIndexChanged(const QString&)),this,SLOT(on_comboBox_channelConfig_currentTextChanged(const QString&)));
|
||
|
||
connect(ui->comboBox_workCondition,SIGNAL(currentIndexChanged(const QString &)),this,SLOT(on_comboBox_WorkCondition_currentTextChanged(const QString&)));
|
||
//LoadTriggerConfig();
|
||
|
||
}
|
||
|
||
//void CTriggerConfig::LoadTriggerConfig()
|
||
//{
|
||
// QString fileName = QCoreApplication::applicationDirPath() + "\\config\\TriggerSettings.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;
|
||
// }
|
||
|
||
// m_TriggerArray = document.array();
|
||
// }
|
||
//}
|
||
|
||
void CTriggerConfig::LoadTriggerConfig(QString& strChannelID)
|
||
{
|
||
QString strWC = ui->comboBox_workCondition->currentText();
|
||
int ii = 0,flag = -1;
|
||
for (ii = 0; ii < m_WorkCondition.size(); ii++) {
|
||
if(m_WorkCondition[ii].WorkConditionName == strWC){
|
||
flag = 1;
|
||
break;
|
||
}
|
||
}
|
||
if(flag == -1){
|
||
QMessageBox::warning(this, QStringLiteral("警告"), QStringLiteral("工况信息加载失败!"));
|
||
return;
|
||
}
|
||
QString strChanneName = ui->comboBox_channelConfig->currentText();
|
||
QString strWhere = QString(" WorkConditionID = %1 and ChannelID = '%2' and operate <> 3 ").arg(m_WorkCondition[ii].SN).arg(strChannelID);
|
||
m_vecTriggerConfig.clear();
|
||
QVector<TriggerConfig_t>().swap(m_vecTriggerConfig);
|
||
m_vecTriggerConfig = g_SqliteDB->GetTriggerConfig("t_TriggerConfig",strWhere);
|
||
QStringList trgType ,trgStatus;
|
||
trgType.append("阈值");
|
||
//trgType.append("偏差");
|
||
trgStatus.append("单次触发");
|
||
trgStatus.append("连续触发");
|
||
|
||
|
||
|
||
if(m_vecTriggerConfig.size() > 0){
|
||
model->setRowCount(m_vecTriggerConfig.size());
|
||
for (int i = 0; i < m_vecTriggerConfig.size(); i++) {
|
||
model->setData(model->index(i,0,QModelIndex()),m_vecTriggerConfig[i].ChannelName);
|
||
model->setData(model->index(i,1,QModelIndex()),m_vecTriggerConfig[i].Characteristic);
|
||
if(m_vecTriggerConfig[i].AlertOver == 1)
|
||
model->setItem(i, 2, add_checkBox_model(1));
|
||
else
|
||
model->setItem(i, 2, add_checkBox_model(0));
|
||
|
||
if(m_vecTriggerConfig[i].DangerOver)
|
||
model->setItem(i, 3, add_checkBox_model(1));
|
||
else
|
||
model->setItem(i, 3, add_checkBox_model(0));
|
||
|
||
if(m_vecTriggerConfig[i].AlertUnder)
|
||
model->setItem(i, 4, add_checkBox_model(1));
|
||
else
|
||
model->setItem(i, 4, add_checkBox_model(0));
|
||
|
||
if(m_vecTriggerConfig[i].DangerUnder)
|
||
model->setItem(i, 5, add_checkBox_model(1));
|
||
else
|
||
model->setItem(i, 5, add_checkBox_model(0));
|
||
|
||
model->setData(model->index(i,2,QModelIndex()),m_vecTriggerConfig[i].AlertOverSetpoint);
|
||
model->setData(model->index(i,3,QModelIndex()),m_vecTriggerConfig[i].DangerOverSetpoint);
|
||
model->setData(model->index(i,4,QModelIndex()),m_vecTriggerConfig[i].AlertUnderSetpoint);
|
||
model->setData(model->index(i,5,QModelIndex()),m_vecTriggerConfig[i].DangerUnderSetpoint);
|
||
if(m_vecTriggerConfig[i].AlertTriggerStatus == "Nonlatching")
|
||
ui->tableView->setIndexWidget(model->index(i, 6), add_combox_model(trgStatus,"连续触发"));
|
||
else if(m_vecTriggerConfig[i].AlertTriggerStatus == "Latching")
|
||
ui->tableView->setIndexWidget(model->index(i, 6), add_combox_model(trgStatus,"单次触发"));
|
||
|
||
|
||
if(m_vecTriggerConfig[i].DangerTriggerStatus == "Nonlatching")
|
||
ui->tableView->setIndexWidget(model->index(i, 7), add_combox_model(trgStatus,"连续触发"));
|
||
else if(m_vecTriggerConfig[i].DangerTriggerStatus == "Latching")
|
||
ui->tableView->setIndexWidget(model->index(i, 7), add_combox_model(trgStatus,"单次触发"));
|
||
|
||
model->setData(model->index(i,8,QModelIndex()),m_vecTriggerConfig[i].AlertTriggerDelay);
|
||
model->setData(model->index(i,9,QModelIndex()),m_vecTriggerConfig[i].DangerTriggerDelay);
|
||
|
||
if(m_vecTriggerConfig[i].TriggerType == "LEVEL")
|
||
ui->tableView->setIndexWidget(model->index(i, 10), add_combox_model(trgType,"阈值"));
|
||
else if(m_vecTriggerConfig[i].TriggerType == "DELTA")
|
||
ui->tableView->setIndexWidget(model->index(i, 10), add_combox_model(trgType,"偏差"));
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
void CTriggerConfig::ReceiveChange(QStandardItem*)
|
||
{
|
||
//qDebug() << "ReceiveChange" <<endl;
|
||
}
|
||
|
||
QStandardItem* CTriggerConfig::add_checkBox_model(int flag)
|
||
{
|
||
QStandardItem *item = new QStandardItem();
|
||
item->setCheckable(true);
|
||
if(!flag){
|
||
item->setCheckState(Qt::Unchecked);
|
||
}else{
|
||
item->setCheckState(Qt::Checked);
|
||
}
|
||
//item->setEditable(false);
|
||
return item;
|
||
}
|
||
|
||
QComboBox* CTriggerConfig::add_combox_model(QStringList& item,QString curentText)
|
||
{
|
||
QComboBox* cmb = new QComboBox(this);
|
||
cmb->addItems(item);
|
||
cmb->setCurrentText(curentText);
|
||
return cmb;
|
||
}
|
||
QRadioButton* CTriggerConfig::add_radio_model()
|
||
{
|
||
QRadioButton* radio = new QRadioButton(this);
|
||
return radio;
|
||
}
|
||
|
||
QWidget *CTriggerConfig::add_checkBox(QTableView *table)
|
||
{
|
||
QWidget *widget = new QWidget(table);
|
||
QCheckBox *checkbox = new QCheckBox();
|
||
QHBoxLayout *hLayout = new QHBoxLayout();
|
||
hLayout->addWidget(checkbox);
|
||
hLayout->setMargin(0); // 必须添加, 否则CheckBox不能正常显示
|
||
hLayout->setAlignment(checkbox, Qt::AlignCenter); // 居中显示复选框
|
||
widget->setLayout(hLayout);
|
||
return widget;
|
||
}
|
||
|
||
CTriggerConfig::~CTriggerConfig()
|
||
{
|
||
delete ui;
|
||
}
|
||
void CTriggerConfig::on_comboBox_WorkCondition_currentTextChanged(const QString &arg1)
|
||
{
|
||
qDebug() << "WorkCondition" << arg1 <<endl;
|
||
QString str = ui->comboBox_channelConfig->currentText();
|
||
on_comboBox_channelConfig_currentTextChanged(str);
|
||
}
|
||
void CTriggerConfig::on_comboBox_channelConfig_currentTextChanged(const QString &arg1)
|
||
{
|
||
qDebug() << "arg" << arg1 <<endl;
|
||
QString channelType ;
|
||
model->removeRows(0, model->rowCount());
|
||
int ii = 0;
|
||
for (ii = 0; ii < g_ChannelBaseInfo.size(); ii++) {
|
||
if(arg1 == g_ChannelBaseInfo[ii].channelName){
|
||
QMap<QString,QString>::iterator iter = g_MapChannelType.begin();
|
||
for (; iter != g_MapChannelType.end(); iter++) {
|
||
if(iter.key() == g_ChannelBaseInfo[ii].channelType){
|
||
ui->label_channelType->setText(iter.value());
|
||
break;
|
||
}
|
||
}
|
||
|
||
channelType = g_ChannelBaseInfo[ii].channelType;
|
||
break;
|
||
}
|
||
}
|
||
QStringList trgType ,trgStatus;
|
||
trgType.append("阈值");
|
||
//trgType.append("偏差");
|
||
trgStatus.append("单次触发");
|
||
trgStatus.append("连续触发");
|
||
if(g_ChannelBaseInfo[ii].channelType == "TACHOMETER"){
|
||
LoadTriggerConfig(g_ChannelBaseInfo[ii].channelID);
|
||
if(m_vecTriggerConfig.size() < 1){
|
||
model->setRowCount(1);
|
||
model->setItem(0, 2, add_checkBox_model());
|
||
model->setItem(0, 3, add_checkBox_model());
|
||
model->setItem(0, 4, add_checkBox_model());
|
||
model->setItem(0, 5, add_checkBox_model());
|
||
ui->tableView->setIndexWidget(model->index(0, 10), add_combox_model(trgType));
|
||
ui->tableView->setIndexWidget(model->index(0, 6), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(0, 7), add_combox_model(trgStatus));
|
||
model->setData(model->index(0,0,QModelIndex()),g_ChannelBaseInfo[ii].channelName);
|
||
model->setData(model->index(0,1,QModelIndex()),"转速");
|
||
}
|
||
}else if(g_ChannelBaseInfo[ii].channelType == "ACCELEROMETER"){
|
||
LoadTriggerConfig(g_ChannelBaseInfo[ii].channelID);
|
||
if(m_vecTriggerConfig.size() < 1){
|
||
model->setRowCount(6);
|
||
for (int i = 0; i < 6; i++) {
|
||
model->setItem(i, 2, add_checkBox_model(0));
|
||
model->setItem(i, 3, add_checkBox_model(0));
|
||
model->setItem(i, 4, add_checkBox_model(0));
|
||
model->setItem(i, 5, add_checkBox_model(0));
|
||
model->setData(model->index(i,0,QModelIndex()),g_ChannelBaseInfo[ii].channelName);
|
||
ui->tableView->setIndexWidget(model->index(i, 6), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(i, 7), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(i, 10), add_combox_model(trgType));
|
||
}
|
||
model->setData(model->index(0,1,QModelIndex()),"有效值");
|
||
model->setData(model->index(1,1,QModelIndex()),"峰值");
|
||
model->setData(model->index(2,1,QModelIndex()),"速度峰值");
|
||
model->setData(model->index(3,1,QModelIndex()),"速度有效值");
|
||
model->setData(model->index(4,1,QModelIndex()),"反时限警报值");
|
||
model->setData(model->index(5,1,QModelIndex()),"反时限危险值");
|
||
}
|
||
|
||
|
||
|
||
}else if(g_ChannelBaseInfo[ii].channelType == "PROXIMETER")//径向位移
|
||
{
|
||
LoadTriggerConfig(g_ChannelBaseInfo[ii].channelID);
|
||
if(m_vecTriggerConfig.size() < 1){
|
||
model->setRowCount(6);
|
||
for (int i = 0; i < 6; i++) {
|
||
model->setItem(i, 2, add_checkBox_model());
|
||
model->setItem(i, 3, add_checkBox_model());
|
||
model->setItem(i, 4, add_checkBox_model());
|
||
model->setItem(i, 5, add_checkBox_model());
|
||
ui->tableView->setIndexWidget(model->index(i, 6), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(i, 7), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(i, 10), add_combox_model(trgType));
|
||
model->setData(model->index(i,0,QModelIndex()),g_ChannelBaseInfo[ii].channelName);
|
||
}
|
||
model->setData(model->index(0,1,QModelIndex()),"诊断峰峰值");
|
||
model->setData(model->index(1,1,QModelIndex()),"偏置电压/Gap");
|
||
model->setData(model->index(2,1,QModelIndex()),"监测保护峰峰值");
|
||
model->setData(model->index(3,1,QModelIndex()),"有效值");
|
||
model->setData(model->index(4,1,QModelIndex()),"反时限警报值");
|
||
model->setData(model->index(5,1,QModelIndex()),"反时限危险值");
|
||
}
|
||
|
||
|
||
}else if(g_ChannelBaseInfo[ii].channelType == "THRUST")//轴向位移
|
||
{
|
||
LoadTriggerConfig(g_ChannelBaseInfo[ii].channelID);
|
||
if(m_vecTriggerConfig.size() < 1){
|
||
model->setRowCount(1);
|
||
model->setItem(0, 2, add_checkBox_model());
|
||
model->setItem(0, 3, add_checkBox_model());
|
||
model->setItem(0, 4, add_checkBox_model());
|
||
model->setItem(0, 5, add_checkBox_model());
|
||
model->setData(model->index(0,0,QModelIndex()),g_ChannelBaseInfo[ii].channelName);
|
||
model->setData(model->index(0,1,QModelIndex()),"有效值");
|
||
ui->tableView->setIndexWidget(model->index(0, 10), add_combox_model(trgType));
|
||
ui->tableView->setIndexWidget(model->index(0, 6), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(0, 7), add_combox_model(trgStatus));
|
||
}
|
||
}else if(g_ChannelBaseInfo[ii].channelType == "VELOCITY")//速度
|
||
{
|
||
LoadTriggerConfig(g_ChannelBaseInfo[ii].channelID);
|
||
if(m_vecTriggerConfig.size() < 1){
|
||
model->setRowCount(6);
|
||
for (int i = 0; i < 6; i++) {
|
||
model->setItem(i, 2, add_checkBox_model());
|
||
model->setItem(i, 3, add_checkBox_model());
|
||
model->setItem(i, 4, add_checkBox_model());
|
||
model->setItem(i, 5, add_checkBox_model());
|
||
ui->tableView->setIndexWidget(model->index(i, 6), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(i, 7), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(i, 10), add_combox_model(trgType));
|
||
model->setData(model->index(i,0,QModelIndex()),g_ChannelBaseInfo[ii].channelName);
|
||
}
|
||
model->setData(model->index(0,1,QModelIndex()),"有效值");
|
||
model->setData(model->index(1,1,QModelIndex()),"峰值");
|
||
model->setData(model->index(2,1,QModelIndex()),"位移峰值");
|
||
model->setData(model->index(3,1,QModelIndex()),"位移有效值");
|
||
model->setData(model->index(4,1,QModelIndex()),"反时限警报值");
|
||
model->setData(model->index(5,1,QModelIndex()),"反时限危险值");
|
||
}
|
||
|
||
|
||
}else if(g_ChannelBaseInfo[ii].channelType =="SLOW_CURRENT" || g_ChannelBaseInfo[ii].channelType =="PULSE_CURRENT"){
|
||
|
||
LoadTriggerConfig(g_ChannelBaseInfo[ii].channelID);
|
||
if(m_vecTriggerConfig.size() < 1){
|
||
model->setRowCount(1);
|
||
model->setItem(0, 2, add_checkBox_model());
|
||
model->setItem(0, 3, add_checkBox_model());
|
||
model->setItem(0, 4, add_checkBox_model());
|
||
model->setItem(0, 5, add_checkBox_model());
|
||
model->setData(model->index(0,0,QModelIndex()),g_ChannelBaseInfo[ii].channelName);
|
||
model->setData(model->index(0,1,QModelIndex()),"平均值");
|
||
ui->tableView->setIndexWidget(model->index(0, 10), add_combox_model(trgType));
|
||
ui->tableView->setIndexWidget(model->index(0, 6), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(0, 7), add_combox_model(trgStatus));
|
||
}
|
||
}else if(g_ChannelBaseInfo[ii].channelType =="AIRGAP"){
|
||
|
||
LoadTriggerConfig(g_ChannelBaseInfo[ii].channelID);
|
||
if(m_vecTriggerConfig.size() < 1){
|
||
model->setRowCount(5);
|
||
for (int i = 0; i < 5; i++){
|
||
model->setItem(i, 2, add_checkBox_model());
|
||
model->setItem(i, 3, add_checkBox_model());
|
||
model->setItem(i, 4, add_checkBox_model());
|
||
model->setItem(i, 5, add_checkBox_model());
|
||
ui->tableView->setIndexWidget(model->index(i, 6), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(i, 7), add_combox_model(trgStatus));
|
||
ui->tableView->setIndexWidget(model->index(i, 10), add_combox_model(trgType));
|
||
model->setData(model->index(i,0,QModelIndex()),g_ChannelBaseInfo[ii].channelName);
|
||
}
|
||
model->setData(model->index(0,1,QModelIndex()),"平均值");
|
||
model->setData(model->index(1,1,QModelIndex()),"最小值");
|
||
model->setData(model->index(2,1,QModelIndex()),"最大值");
|
||
model->setData(model->index(3,1,QModelIndex()),"反时限警报值");
|
||
model->setData(model->index(4,1,QModelIndex()),"反时限危险值");
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
void CTriggerConfig::on_pushButton_submit_clicked()
|
||
{
|
||
qDebug() << "rowCount" << model->rowCount() <<endl;
|
||
QString WorkConditonSN = "" ;
|
||
QString ChannelID = "", ChannelName = "";
|
||
int i = 0;
|
||
for (i = 0; i < m_WorkCondition.size() ; i++) {
|
||
if(ui->comboBox_workCondition->currentText() == m_WorkCondition[i].WorkConditionName){
|
||
WorkConditonSN = m_WorkCondition[i].SN;
|
||
break;
|
||
}
|
||
}
|
||
for (int i = 0; i < g_ChannelBaseInfo.size() ; i++) {
|
||
if(ui->comboBox_channelConfig->currentText() == g_ChannelBaseInfo[i].channelName){
|
||
ChannelID = g_ChannelBaseInfo[i].channelID;
|
||
ChannelName = g_ChannelBaseInfo[i].channelName;
|
||
}
|
||
}
|
||
|
||
QJsonArray triggerArray;
|
||
for (int i = 0; i < model->rowCount(); i++) {
|
||
QJsonObject rowObj;
|
||
QStringList rowList;
|
||
for (int j = 0; j < model->columnCount(); j++) {
|
||
QModelIndex index = model->index(i,j);
|
||
QString strData = model->data(index).toString();
|
||
if(j == 0){
|
||
rowList << strData;
|
||
}
|
||
if(j == 1){
|
||
rowList << strData;
|
||
}
|
||
|
||
if(j == 2){
|
||
QStandardItem *item = model->itemFromIndex(index);
|
||
if(item->checkState() == Qt::Unchecked)
|
||
rowList << "0";
|
||
else if(item->checkState() == Qt::Checked)
|
||
rowList << "1";
|
||
rowList << item->text();
|
||
}else if(j == 3){
|
||
QStandardItem *item = model->itemFromIndex(index);
|
||
if(item->checkState() == Qt::Unchecked)
|
||
rowList << "0";
|
||
else if(item->checkState() == Qt::Checked)
|
||
rowList << "1";
|
||
rowList << item->text();
|
||
}else if(j == 4){
|
||
QStandardItem *item = model->itemFromIndex(index);
|
||
if(item->checkState() == Qt::Unchecked)
|
||
rowList << "0";
|
||
else if(item->checkState() == Qt::Checked)
|
||
rowList << "1";
|
||
rowList << item->text();
|
||
|
||
}else if(j == 5){
|
||
QStandardItem *item = model->itemFromIndex(index);
|
||
if(item->checkState() == Qt::Unchecked)
|
||
rowList << "0";
|
||
else if(item->checkState() == Qt::Checked)
|
||
rowList << "1";
|
||
rowList << item->text();
|
||
}else if(j == 6){
|
||
QComboBox *gg = (QComboBox*)(ui->tableView->indexWidget(model->index(i,6)));
|
||
if(gg->currentText() == "单次触发"){
|
||
rowList << "Latching";
|
||
}else if(gg->currentText() == "连续触发"){
|
||
rowList << "Nonlatching";
|
||
}
|
||
qDebug()<<"COOM6:" <<gg->currentText();
|
||
|
||
}else if(j == 7){
|
||
QComboBox *gg = (QComboBox*)(ui->tableView->indexWidget(model->index(i,7)));
|
||
if(gg->currentText() == "单次触发"){
|
||
rowList << "Latching";
|
||
}else if(gg->currentText() == "连续触发"){
|
||
rowList << "Nonlatching";
|
||
}
|
||
qDebug()<<"COOM7:" <<gg->currentText();
|
||
|
||
}else if(j == 8){
|
||
QStandardItem *item = model->itemFromIndex(index);
|
||
rowList << item->text();
|
||
}else if(j == 9){
|
||
QStandardItem *item = model->itemFromIndex(index);
|
||
rowList << item->text();
|
||
}else if(j == 10){
|
||
QComboBox *gg2 = (QComboBox*)(ui->tableView->indexWidget(model->index(i,10)));
|
||
if(gg2->currentText() == "阈值"){
|
||
rowList << "LEVEL";
|
||
}else if(gg2->currentText() == "偏差"){
|
||
rowList << "DELTA";
|
||
}
|
||
qDebug()<<"COOM10:" <<gg2->currentText();
|
||
}
|
||
}
|
||
qDebug() << "rowList" << rowList << endl;
|
||
QString strWhere = QString("ChannelID = '%1' and WorkConditionID = %2 and Characteristic = '%3' ").arg(ChannelID).arg(WorkConditonSN.toInt()).arg(rowList[1]);
|
||
QString strTableName = "t_TriggerConfig";
|
||
QString strCol = "count(*)";
|
||
int count = g_SqliteDB->QueryData(strTableName,strCol,strWhere);
|
||
if(count < 1){
|
||
if(rowList[2] == "1" || rowList[4] == "1" || rowList[6] == "1"||rowList[8] == "1")
|
||
{
|
||
QString strSql = QString(" values('%1','%2',%3,'%4','%5',%6,'%7',%8,'%9',%10,'%11',%12,'%13','%14','%15','%16','%17','%18',0) ;").\
|
||
arg(ChannelID).arg(ChannelName).arg(WorkConditonSN).arg("").arg(rowList[1]).arg(rowList[2]).arg(rowList[3]).arg(rowList[4]).arg(rowList[5]).arg(rowList[6]).\
|
||
arg(rowList[7]).arg(rowList[8]).arg(rowList[9]).arg(rowList[10]).arg(rowList[11]).arg(rowList[12]).arg(rowList[13]).arg(rowList[14]);
|
||
g_SqliteDB->InsertData(strTableName,strSql);
|
||
|
||
}
|
||
}else{
|
||
|
||
QString strWhere = QString(" AlertOver = %1 and AlertOverSetpoint = '%2' and DangerOver = %3 and DangerOverSetpoint = '%4' and AlertUnder = %5 and AlertUnderSetpoint = '%6' and DangerUnder = %7 and \
|
||
DangerUnderSetpoint = '%8' and AlertTriggerStatus = '%9' and DangerTriggerStatus = '%10' and AlertTriggerDelay = '%11' and DangerTriggerDelay = '%12' and TriggerType = '%13' and operate <> 3 ").arg(rowList[2]).arg(rowList[3]).arg(rowList[4]).arg(rowList[5]).arg(rowList[6]).\
|
||
arg(rowList[7]).arg(rowList[8]).arg(rowList[9]).arg(rowList[10]).arg(rowList[11]).arg(rowList[12]).arg(rowList[13]).arg(rowList[14]);
|
||
QString strCol = "count(*)";
|
||
int count = g_SqliteDB->QueryData(strTableName,strCol,strWhere);
|
||
qDebug() << "count " << count << endl;
|
||
if(count == 0){
|
||
if(rowList[2] == "1" || rowList[4] == "1" || rowList[6] == "1"||rowList[8] == "1")
|
||
{
|
||
QString strSql = QString(" set AlertOver = %1,AlertOverSetpoint = '%2',DangerOver = %3,DangerOverSetpoint = '%4',AlertUnder = %5,AlertUnderSetpoint = '%6',DangerUnder = %7,\
|
||
DangerUnderSetpoint = '%8',AlertTriggerStatus = '%9',DangerTriggerStatus = '%10',AlertTriggerDelay = '%11',DangerTriggerDelay = '%12',TriggerType = '%13', operate = 2 where ChannelID = '%14' and WorkConditionID = %15 and Characteristic = '%16' and operate <> 3; ").arg(rowList[2]).arg(rowList[3]).arg(rowList[4]).arg(rowList[5]).arg(rowList[6]).\
|
||
arg(rowList[7]).arg(rowList[8]).arg(rowList[9]).arg(rowList[10]).arg(rowList[11]).arg(rowList[12]).arg(rowList[13]).arg(rowList[14]).arg(ChannelID).arg(WorkConditonSN.toInt()).arg(rowList[1]);
|
||
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
||
|
||
}
|
||
}else{
|
||
QString strSql = QString(" set AlertOver = %1,AlertOverSetpoint = '%2',DangerOver = %3,DangerOverSetpoint = '%4',AlertUnder = %5,AlertUnderSetpoint = '%6',DangerUnder = %7,\
|
||
DangerUnderSetpoint = '%8',AlertTriggerStatus = '%9',DangerTriggerStatus = '%10',AlertTriggerDelay = '%11',DangerTriggerDelay = '%12',TriggerType = '%13', operate = 1 where ChannelID = '%14' and WorkConditionID = %15 and Characteristic = '%16' and operate <> 3; ").arg(rowList[2]).arg(rowList[3]).arg(rowList[4]).arg(rowList[5]).arg(rowList[6]).\
|
||
arg(rowList[7]).arg(rowList[8]).arg(rowList[9]).arg(rowList[10]).arg(rowList[11]).arg(rowList[12]).arg(rowList[13]).arg(rowList[14]).arg(ChannelID).arg(WorkConditonSN.toInt()).arg(rowList[1]);
|
||
g_SqliteDB->UpdateDataSql(strTableName,strSql);
|
||
|
||
}
|
||
|
||
|
||
}
|
||
m_isConfirm = 1;
|
||
|
||
|
||
// if(rowList[1] == "最小值")
|
||
// rowObj["triggerFeatureName"] = "MinValues";
|
||
// else if(rowList[1] == "最大值")
|
||
// rowObj["triggerFeatureName"] = "MaxValues";
|
||
// else if(rowList[1] == "平均值")
|
||
// rowObj["triggerFeatureName"] = "DCValues";
|
||
// else if(rowList[1] == "有效值")
|
||
// rowObj["triggerFeatureName"] = "RMSValues";
|
||
// else if(rowList[1] == "诊断峰峰值")
|
||
// rowObj["triggerFeatureName"] = "DiagnosisPk2Pk";
|
||
// else if(rowList[1] == "速度有效值")//积分
|
||
// rowObj["triggerFeatureName"] = "IntegratRMS";
|
||
// else if(rowList[1] == "积分峰峰值")
|
||
// rowObj["triggerFeatureName"] = "IntegratPk2Pk";
|
||
// else if(rowList[1] == "转速")
|
||
// rowObj["triggerFeatureName"] = "ProfileSpeed";
|
||
// else if(rowList[1] == "速度峰值")//积分
|
||
// rowObj["triggerFeatureName"] = "IntegratPk2Pk/2";
|
||
// else if(rowList[1] == "峰值")
|
||
// rowObj["triggerFeatureName"] = "DiagnosisPeak";
|
||
|
||
|
||
// QString triggerEventName = QString("%1-%2-%3").arg(rowObj["triggerFeatureName"].\
|
||
// toString()).arg(rowList[14]).arg(ChannelID);
|
||
// if(rowList[2].toInt() || rowList[6].toInt() || rowList[4].toInt() || rowList[8].toInt()){
|
||
|
||
// rowObj["triggerEventName"] = triggerEventName;
|
||
// rowObj["xAlertOverEnabled"] = rowList[2].toInt();
|
||
// rowObj["xAlertOverSetpoint"] = rowList[3].toInt();
|
||
// rowObj["xAlertTriggerDelay"] = rowList[12];
|
||
// rowObj["xAlertTriggerStatus"] = rowList[10];
|
||
// rowObj["xAlertUnderEnabled"] = rowList[6].toInt();
|
||
// rowObj["xAlertUnderSetpoint"] = rowList[7];
|
||
// rowObj["xDangerOverEnabled"] = rowList[4].toInt();
|
||
// rowObj["xDangerOverSetpoint"] = rowList[5].toInt();
|
||
// rowObj["xDangerTriggerDelay"] = rowList[13];
|
||
// rowObj["xDangerTriggerStatus"] = rowList[11];
|
||
// rowObj["xDangerUnderEnabled"] = rowList[8].toInt();
|
||
// rowObj["xDangerUnderSetpoint"] = rowList[9];
|
||
|
||
// triggerArray.append(rowObj);
|
||
// }
|
||
// }
|
||
|
||
// QJsonObject triggerConfigObj,tempObj;
|
||
// QJsonArray arraytriggerSettings;
|
||
// triggerConfigObj["workConditionSN"] = WorkConditonSN.toInt();
|
||
// tempObj["triggerConfig"] = triggerArray;
|
||
// tempObj["channelId"] = ChannelID;
|
||
// tempObj["channelName"] = ChannelName;
|
||
// arraytriggerSettings.append(tempObj);
|
||
// triggerConfigObj["triggerSettings"] = arraytriggerSettings;
|
||
// qDebug() << triggerConfigObj << endl;
|
||
// m_channeltriggerArray.append(triggerConfigObj);
|
||
}
|
||
QMessageBox::information(this, QStringLiteral("提示"), QStringLiteral("应用成功!"));
|
||
}
|
||
void CTriggerConfig::dialogReleased()
|
||
{
|
||
on_comboBox_WorkCondition_currentTextChanged(ui->comboBox_workCondition->currentText());
|
||
}
|
||
|
||
|
||
void CTriggerConfig::on_deleteTriggerEvent()
|
||
{
|
||
QString str = ui->comboBox_channelConfig->currentText();
|
||
on_comboBox_channelConfig_currentTextChanged(str);
|
||
}
|
||
|
||
void CTriggerConfig::on_pushButton_view_clicked()
|
||
{
|
||
ViewTriggerConfig *dialog = new ViewTriggerConfig();
|
||
//connect(dialog,SIGNAL(reject()),this,SLOT(dialogReleased()));
|
||
dialog->setWindowModality(Qt::ApplicationModal);
|
||
dialog->show();
|
||
connect(dialog,SIGNAL(deleteTriggerEvent_sg()),this,SLOT(on_deleteTriggerEvent()));
|
||
}
|
||
|
||
void CTriggerConfig::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();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
void CTriggerConfig::on_pushButton_save_clicked()
|
||
{
|
||
connect(g_NetMgr,SIGNAL(sigNetMgr(QString, const QVariant&)), this, SLOT(slotNetMgr(QString,const QVariant&)));
|
||
g_NetMgr->DetectNet();
|
||
}
|
||
void CTriggerConfig::PushData()
|
||
{
|
||
|
||
if(m_isConfirm == -1){
|
||
QMessageBox::information(this, QStringLiteral("提示"), QStringLiteral("请先点击\"应用\"!"));
|
||
return ;
|
||
}
|
||
m_isConfirm = -1;
|
||
|
||
QJsonArray m_channeltriggerArray;
|
||
QJsonObject triggerConfigObj;
|
||
if(m_WorkCondition.size() < 1){
|
||
QMessageBox::information(this, QStringLiteral("提示"), QStringLiteral("请先配置工况!"));
|
||
return;
|
||
}
|
||
for (int i = 0; i< m_WorkCondition.size(); i++) {
|
||
QJsonArray arraytriggerSettings;
|
||
QString strWhere = QString(" WorkConditionID = %1 and operate <> 3 ").arg(m_WorkCondition[i].SN);
|
||
QVector<TriggerConfig_t> triggerConfig = g_SqliteDB->GetTriggerConfig("t_TriggerConfig",strWhere);
|
||
|
||
for (int ii = 0; ii < g_ChannelBaseInfo.size(); ii++) {
|
||
|
||
QJsonArray triggerArray;
|
||
if(triggerConfig.size() > 0){
|
||
for (int j = 0; j < triggerConfig.size(); j++) {
|
||
if(g_ChannelBaseInfo[ii].channelID == triggerConfig[j].ChannelID){
|
||
QJsonObject rowObj;
|
||
if(triggerConfig[j].Characteristic == "最小值")
|
||
rowObj["triggerFeatureName"] = "MinValues";
|
||
else if(triggerConfig[j].Characteristic == "最大值")
|
||
rowObj["triggerFeatureName"] = "MaxValues";
|
||
else if( triggerConfig[j].Characteristic == "偏置电压/Gap")
|
||
rowObj["triggerFeatureName"] = "DCValues";
|
||
else if(triggerConfig[j].Characteristic == "平均值" || triggerConfig[j].Characteristic == "有效值")
|
||
rowObj["triggerFeatureName"] = "RMSValues";
|
||
else if(triggerConfig[j].Characteristic == "诊断峰峰值")
|
||
rowObj["triggerFeatureName"] = "DiagnosisPk2Pk";
|
||
else if(triggerConfig[j].Characteristic == "速度有效值" || triggerConfig[j].Characteristic == "位移有效值")//积分
|
||
rowObj["triggerFeatureName"] = "IntegratRMS";
|
||
else if(triggerConfig[j].Characteristic == "积分峰峰值")
|
||
rowObj["triggerFeatureName"] = "IntegratPk2Pk";
|
||
else if(triggerConfig[j].Characteristic == "转速")
|
||
rowObj["triggerFeatureName"] = "SpeedProfileSpeed";
|
||
else if(triggerConfig[j].Characteristic == "速度峰值" || triggerConfig[j].Characteristic == "位移峰值")//积分
|
||
rowObj["triggerFeatureName"] = "IntegratPk2Pk/2";
|
||
else if(triggerConfig[j].Characteristic == "峰值")
|
||
rowObj["triggerFeatureName"] = "DiagnosisPeak";
|
||
else if(triggerConfig[j].Characteristic == "监测保护峰峰值")
|
||
rowObj["triggerFeatureName"] = "MonitorPk2Pk";
|
||
else if(triggerConfig[j].Characteristic == "反时限危险值")
|
||
rowObj["triggerFeatureName"] = "InvertDanger";
|
||
else if(triggerConfig[j].Characteristic == "反时限警报值")
|
||
rowObj["triggerFeatureName"] = "InvertAlarm";
|
||
|
||
|
||
QString triggerEventName = QString("%1-%2-%3").arg(rowObj["triggerFeatureName"].toString()).arg(triggerConfig[j].TriggerType).arg(triggerConfig[j].ChannelID);
|
||
rowObj["triggerEventName"] = triggerEventName;
|
||
rowObj["xAlertOverEnabled"] = triggerConfig[j].AlertOver;
|
||
rowObj["xAlertOverSetpoint"] = triggerConfig[j].AlertOverSetpoint.toDouble();
|
||
rowObj["xAlertTriggerDelay"] = triggerConfig[j].AlertTriggerDelay.toInt();
|
||
rowObj["xAlertTriggerStatus"] = triggerConfig[j].AlertTriggerStatus;
|
||
rowObj["xAlertUnderEnabled"] = triggerConfig[j].AlertUnder;
|
||
rowObj["xAlertUnderSetpoint"] = triggerConfig[j].AlertUnderSetpoint.toDouble();
|
||
rowObj["xDangerOverEnabled"] = triggerConfig[j].DangerOver;
|
||
rowObj["xDangerOverSetpoint"] = triggerConfig[j].DangerOverSetpoint.toDouble();
|
||
rowObj["xDangerTriggerDelay"] = triggerConfig[j].DangerTriggerDelay.toInt();
|
||
rowObj["xDangerTriggerStatus"] = triggerConfig[j].DangerTriggerStatus;
|
||
rowObj["xDangerUnderEnabled"] = triggerConfig[j].DangerUnder;
|
||
rowObj["xDangerUnderSetpoint"] = triggerConfig[j].DangerUnderSetpoint.toDouble();
|
||
triggerArray.append(rowObj);
|
||
|
||
}
|
||
}
|
||
}
|
||
QJsonObject tempObj;
|
||
tempObj["triggerConfig"] = triggerArray;
|
||
tempObj["channelId"] = g_ChannelBaseInfo[ii].channelID;
|
||
tempObj["channelName"] = g_ChannelBaseInfo[ii].channelName;
|
||
arraytriggerSettings.append(tempObj);
|
||
//qDebug() << arraytriggerSettings << endl;
|
||
}
|
||
|
||
triggerConfigObj["triggerSettings"] = arraytriggerSettings;
|
||
triggerConfigObj["workConditionSN"] = m_WorkCondition[i].SN.toInt();
|
||
triggerConfigObj["workConditionName"] = m_WorkCondition[i].WorkConditionName;
|
||
m_channeltriggerArray.append(triggerConfigObj);
|
||
}
|
||
|
||
QJsonDocument jsonDoc;
|
||
jsonDoc.setArray(m_channeltriggerArray);
|
||
#ifdef Q_OS_WIN32
|
||
QString fileName = QCoreApplication::applicationDirPath() + "\\config\\TriggerSettings.json";
|
||
#endif
|
||
#ifdef Q_OS_LINUX
|
||
QString fileName = QCoreApplication::applicationDirPath() + "/config/TriggerSettings.json";
|
||
#endif
|
||
|
||
|
||
QFile file(fileName);
|
||
file.open(QIODevice::WriteOnly);
|
||
file.write(jsonDoc.toJson());
|
||
file.close();
|
||
|
||
QJsonArray m_channeltriggerArray2;
|
||
QJsonObject triggerConfigObj2;
|
||
for (int i = 0; i< m_WorkCondition.size(); i++) {
|
||
QJsonArray arraytriggerSettings;
|
||
QString strWhere = QString(" WorkConditionID = %1 ").arg(m_WorkCondition[i].SN);
|
||
QVector<TriggerConfig_t> triggerConfig = g_SqliteDB->GetTriggerConfig("t_TriggerConfig",strWhere);
|
||
|
||
for (int ii = 0; ii < g_ChannelBaseInfo.size(); ii++) {
|
||
int operate = -1;
|
||
QJsonArray triggerArray;
|
||
if(triggerConfig.size() > 0){
|
||
for (int j = 0; j < triggerConfig.size(); j++) {
|
||
if(g_ChannelBaseInfo[ii].channelID == triggerConfig[j].ChannelID){
|
||
QJsonObject rowObj;
|
||
if(triggerConfig[j].Characteristic == "最小值")
|
||
rowObj["triggerFeatureName"] = "MinValues";
|
||
else if(triggerConfig[j].Characteristic == "最大值")
|
||
rowObj["triggerFeatureName"] = "MaxValues";
|
||
else if( triggerConfig[j].Characteristic == "偏置电压/Gap")
|
||
rowObj["triggerFeatureName"] = "DCValues";
|
||
else if(triggerConfig[j].Characteristic == "平均值" || triggerConfig[j].Characteristic == "有效值")
|
||
rowObj["triggerFeatureName"] = "RMSValues";
|
||
else if(triggerConfig[j].Characteristic == "诊断峰峰值")
|
||
rowObj["triggerFeatureName"] = "DiagnosisPk2Pk";
|
||
else if(triggerConfig[j].Characteristic == "速度有效值" || triggerConfig[j].Characteristic == "位移有效值")//积分
|
||
rowObj["triggerFeatureName"] = "IntegratRMS";
|
||
else if(triggerConfig[j].Characteristic == "积分峰峰值")
|
||
rowObj["triggerFeatureName"] = "IntegratPk2Pk";
|
||
else if(triggerConfig[j].Characteristic == "转速")
|
||
rowObj["triggerFeatureName"] = "SpeedProfileSpeed";
|
||
else if(triggerConfig[j].Characteristic == "速度峰值" || triggerConfig[j].Characteristic == "位移峰值")//积分
|
||
rowObj["triggerFeatureName"] = "IntegratPk2Pk/2";
|
||
else if(triggerConfig[j].Characteristic == "峰值")
|
||
rowObj["triggerFeatureName"] = "DiagnosisPeak";
|
||
else if(triggerConfig[j].Characteristic == "监测保护峰峰值")
|
||
rowObj["triggerFeatureName"] = "MonitorPk2Pk";
|
||
else if(triggerConfig[j].Characteristic == "反时限危险值")
|
||
rowObj["triggerFeatureName"] = "InvertDanger";
|
||
else if(triggerConfig[j].Characteristic == "反时限警报值")
|
||
rowObj["triggerFeatureName"] = "InvertAlarm";
|
||
|
||
|
||
QString triggerEventName = QString("%1-%2-%3").arg(rowObj["triggerFeatureName"].toString()).arg(triggerConfig[j].TriggerType).arg(triggerConfig[j].ChannelID);
|
||
rowObj["triggerEventName"] = triggerEventName;
|
||
rowObj["xAlertOverEnabled"] = triggerConfig[j].AlertOver;
|
||
rowObj["xAlertOverSetpoint"] = triggerConfig[j].AlertOverSetpoint.toDouble();
|
||
rowObj["xAlertTriggerDelay"] = triggerConfig[j].AlertTriggerDelay.toInt();
|
||
rowObj["xAlertTriggerStatus"] = triggerConfig[j].AlertTriggerStatus;
|
||
rowObj["xAlertUnderEnabled"] = triggerConfig[j].AlertUnder;
|
||
rowObj["xAlertUnderSetpoint"] = triggerConfig[j].AlertUnderSetpoint.toDouble();
|
||
rowObj["xDangerOverEnabled"] = triggerConfig[j].DangerOver;
|
||
rowObj["xDangerOverSetpoint"] = triggerConfig[j].DangerOverSetpoint.toDouble();
|
||
rowObj["xDangerTriggerDelay"] = triggerConfig[j].DangerTriggerDelay.toInt();
|
||
rowObj["xDangerTriggerStatus"] = triggerConfig[j].DangerTriggerStatus;
|
||
rowObj["xDangerUnderEnabled"] = triggerConfig[j].DangerUnder;
|
||
rowObj["xDangerUnderSetpoint"] = triggerConfig[j].DangerUnderSetpoint.toDouble();
|
||
operate = triggerConfig[j].operate;
|
||
triggerArray.append(rowObj);
|
||
|
||
}
|
||
}
|
||
}
|
||
QJsonObject tempObj;
|
||
tempObj["triggerConfig"] = triggerArray;
|
||
tempObj["channelId"] = g_ChannelBaseInfo[ii].channelID;
|
||
tempObj["channelName"] = g_ChannelBaseInfo[ii].channelName;
|
||
tempObj["channelOperate"] = operate;
|
||
arraytriggerSettings.append(tempObj);
|
||
|
||
}
|
||
|
||
triggerConfigObj2["triggerSettings"] = arraytriggerSettings;
|
||
triggerConfigObj2["workConditionSN"] = m_WorkCondition[i].SN.toInt();
|
||
triggerConfigObj2["workConditionName"] = m_WorkCondition[i].WorkConditionName;
|
||
m_channeltriggerArray2.append(triggerConfigObj2);
|
||
}
|
||
|
||
QJsonDocument jsonDoc2;
|
||
jsonDoc2.setArray(m_channeltriggerArray2);
|
||
#ifdef Q_OS_WIN32
|
||
QString fileName2 = QCoreApplication::applicationDirPath() + "\\config\\TriggerSettings2.json";
|
||
#endif
|
||
#ifdef Q_OS_LINUX
|
||
QString fileName2 = QCoreApplication::applicationDirPath() + "/config/TriggerSettings2.json";
|
||
#endif
|
||
|
||
|
||
QFile file2(fileName2);
|
||
file2.open(QIODevice::WriteOnly);
|
||
file2.write(jsonDoc2.toJson());
|
||
file2.close();
|
||
|
||
QVector<WorkCondition_t>().swap(m_WorkCondition);
|
||
QString wherecon = "";
|
||
wherecon = QString("Enable = \"1\" ");
|
||
m_WorkCondition = g_SqliteDB->GetWorkCondition("t_WorkCondition",wherecon);
|
||
|
||
|
||
QString tableName = " t_TriggerConfig ";
|
||
QString strWhere = QString(" operate = 3 ");
|
||
g_SqliteDB->DeleteDataW(tableName,strWhere);
|
||
|
||
QString strSql = QString(" set operate = 1 where operate = 0 ");
|
||
g_SqliteDB->UpdateDataSql(tableName,strSql);
|
||
|
||
strSql = QString(" set operate = 1 where operate = 2 ");
|
||
g_SqliteDB->UpdateDataSql(tableName,strSql);
|
||
|
||
g_SqliteDB->GetTriggerConfig("t_TriggerConfig","");
|
||
|
||
QString str = QString("ftp://%1/CIDW/qtconfig/%2").arg(IP).arg("TriggerSettings.json");
|
||
g_FtpClient->SetServerInfo(str);
|
||
g_FtpClient->SetUserInfo("root","@#cidw!@123456");
|
||
g_FtpClient->UpLoadFile(fileName,"TriggerSettings.json");
|
||
|
||
QString str2 = QString("ftp://%1/CIDW/qtconfig/%2").arg(IP).arg("TriggerSettings2.json");
|
||
g_FtpClient->SetServerInfo(str2);
|
||
g_FtpClient->SetUserInfo("root","@#cidw!@123456");
|
||
g_FtpClient->UpLoadFile(fileName2,"TriggerSettings2.json");
|
||
|
||
disconnect(g_NetMgr,SIGNAL(sigNetMgr(QString, const QVariant&)), this, SLOT(slotNetMgr(QString,const QVariant&)));
|
||
|
||
|
||
}
|
||
|
||
|
||
|