2023-04-14 19:30:30 +08:00
# 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 ) ;
2023-10-19 14:15:31 +08:00
ui - > comboBox_channelConfig - > clear ( ) ;
2023-04-14 19:30:30 +08:00
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 ( ) ;
2024-03-14 09:35:39 +08:00
QString strWhere = QString ( " WorkConditionID = %1 and ChannelID = '%2' and operate <> 3 " ) . arg ( m_WorkCondition [ ii ] . SN ) . arg ( strChannelID ) ;
2023-04-14 19:30:30 +08:00
m_vecTriggerConfig . clear ( ) ;
QVector < TriggerConfig_t > ( ) . swap ( m_vecTriggerConfig ) ;
m_vecTriggerConfig = g_SqliteDB - > GetTriggerConfig ( " t_TriggerConfig " , strWhere ) ;
QStringList trgType , trgStatus ;
trgType . append ( " 阈值 " ) ;
2023-10-19 14:15:31 +08:00
//trgType.append("偏差");
2023-04-14 19:30:30 +08:00
trgStatus . append ( " 单次触发 " ) ;
trgStatus . append ( " 连续触发 " ) ;
2023-04-27 19:48:15 +08:00
2023-04-14 19:30:30 +08:00
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 ( " 阈值 " ) ;
2023-10-19 14:15:31 +08:00
//trgType.append("偏差");
2023-04-14 19:30:30 +08:00
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 ( 4 ) ;
for ( int i = 0 ; i < 4 ; 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 ( ) ) , " 速度有效值 " ) ;
}
} else if ( g_ChannelBaseInfo [ ii ] . channelType = = " PROXIMETER " ) //径向位移
{
LoadTriggerConfig ( g_ChannelBaseInfo [ ii ] . channelID ) ;
if ( m_vecTriggerConfig . size ( ) < 1 ) {
model - > setRowCount ( 4 ) ;
for ( int i = 0 ; i < 4 ; 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 ( ) ) , " 有效值 " ) ;
}
} 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 ( 4 ) ;
for ( int i = 0 ; i < 4 ; 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 ( ) ) , " 位移有效值 " ) ;
}
2023-04-27 19:48:15 +08:00
} else if ( g_ChannelBaseInfo [ ii ] . channelType = = " SLOW_CURRENT " | | g_ChannelBaseInfo [ ii ] . channelType = = " PULSE_CURRENT " ) {
2023-04-14 19:30:30 +08:00
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 ) ) ;
}
2023-10-19 14:15:31 +08:00
} else if ( g_ChannelBaseInfo [ ii ] . channelType = = " AIRGAP " ) {
LoadTriggerConfig ( g_ChannelBaseInfo [ ii ] . channelID ) ;
if ( m_vecTriggerConfig . size ( ) < 1 ) {
model - > setRowCount ( 3 ) ;
for ( int i = 0 ; i < 3 ; 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 ( ) ) , " 最大值 " ) ;
}
2023-04-14 19:30:30 +08:00
}
}
void CTriggerConfig : : on_pushButton_submit_clicked ( )
{
qDebug ( ) < < " rowCount " < < model - > rowCount ( ) < < endl ;
QString WorkConditonSN = " " ;
QString ChannelID = " " , ChannelName = " " ;
2024-03-14 09:35:39 +08:00
int i = 0 ;
for ( i = 0 ; i < m_WorkCondition . size ( ) ; i + + ) {
if ( ui - > comboBox_workCondition - > currentText ( ) = = m_WorkCondition [ i ] . WorkConditionName ) {
2023-04-14 19:30:30 +08:00
WorkConditonSN = m_WorkCondition [ i ] . SN ;
2024-03-14 09:35:39 +08:00
break ;
}
2023-04-14 19:30:30 +08:00
}
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 ;
}
2024-03-14 09:35:39 +08:00
if ( j = = 2 ) {
2023-04-14 19:30:30 +08:00
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 ) {
2023-10-19 14:15:31 +08:00
QComboBox * gg = ( QComboBox * ) ( ui - > tableView - > indexWidget ( model - > index ( i , 6 ) ) ) ;
2023-04-14 19:30:30 +08:00
if ( gg - > currentText ( ) = = " 单次触发 " ) {
rowList < < " Latching " ;
} else if ( gg - > currentText ( ) = = " 连续触发 " ) {
rowList < < " Nonlatching " ;
}
qDebug ( ) < < " COOM6: " < < gg - > currentText ( ) ;
} else if ( j = = 7 ) {
2023-10-19 14:15:31 +08:00
QComboBox * gg = ( QComboBox * ) ( ui - > tableView - > indexWidget ( model - > index ( i , 7 ) ) ) ;
2023-04-14 19:30:30 +08:00
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 ) {
2023-10-19 14:15:31 +08:00
QComboBox * gg2 = ( QComboBox * ) ( ui - > tableView - > indexWidget ( model - > index ( i , 10 ) ) ) ;
2023-04-14 19:30:30 +08:00
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 " ) {
2024-03-14 09:35:39 +08:00
QString strSql = QString ( " values('%1','%2',%3,'%4','%5',%6,'%7',%8,'%9',%10,'%11',%12,'%13','%14','%15','%16','%17','%18',0) ; " ) . \
2023-04-14 19:30:30 +08:00
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 ) ;
2024-03-14 09:35:39 +08:00
2023-04-14 19:30:30 +08:00
}
} else {
2024-03-14 09:35:39 +08:00
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 {
2023-04-14 19:30:30 +08:00
QString strSql = QString ( " set AlertOver = %1,AlertOverSetpoint = '%2',DangerOver = %3,DangerOverSetpoint = '%4',AlertUnder = %5,AlertUnderSetpoint = '%6',DangerUnder = %7, \
2024-03-14 09:35:39 +08:00
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]). \
2023-04-14 19:30:30 +08:00
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 ) ;
2024-03-14 09:35:39 +08:00
2023-04-14 19:30:30 +08:00
}
2024-03-14 09:35:39 +08:00
2023-04-14 19:30:30 +08:00
}
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 ( ) ) ;
}
2024-03-14 09:35:39 +08:00
void CTriggerConfig : : on_deleteTriggerEvent ( )
{
QString str = ui - > comboBox_channelConfig - > currentText ( ) ;
on_comboBox_channelConfig_currentTextChanged ( str ) ;
}
2023-04-14 19:30:30 +08:00
void CTriggerConfig : : on_pushButton_view_clicked ( )
{
ViewTriggerConfig * dialog = new ViewTriggerConfig ( ) ;
//connect(dialog,SIGNAL(reject()),this,SLOT(dialogReleased()));
dialog - > setWindowModality ( Qt : : ApplicationModal ) ;
dialog - > show ( ) ;
2024-03-14 09:35:39 +08:00
connect ( dialog , SIGNAL ( deleteTriggerEvent_sg ( ) ) , this , SLOT ( on_deleteTriggerEvent ( ) ) ) ;
2023-04-14 19:30:30 +08:00
}
2023-10-19 14:15:31 +08:00
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 ( ) ;
}
}
}
}
2023-04-14 19:30:30 +08:00
void CTriggerConfig : : on_pushButton_save_clicked ( )
2023-10-19 14:15:31 +08:00
{
connect ( g_NetMgr , SIGNAL ( sigNetMgr ( QString , const QVariant & ) ) , this , SLOT ( slotNetMgr ( QString , const QVariant & ) ) ) ;
g_NetMgr - > DetectNet ( ) ;
}
void CTriggerConfig : : PushData ( )
2023-04-14 19:30:30 +08:00
{
if ( m_isConfirm = = - 1 ) {
QMessageBox : : information ( this , QStringLiteral ( " 提示 " ) , QStringLiteral ( " 请先点击 \" 应用 \" ! " ) ) ;
return ;
}
m_isConfirm = - 1 ;
QJsonArray m_channeltriggerArray ;
QJsonObject triggerConfigObj ;
2023-10-19 14:15:31 +08:00
if ( m_WorkCondition . size ( ) < 1 ) {
QMessageBox : : information ( this , QStringLiteral ( " 提示 " ) , QStringLiteral ( " 请先配置工况! " ) ) ;
return ;
}
2023-04-14 19:30:30 +08:00
for ( int i = 0 ; i < m_WorkCondition . size ( ) ; i + + ) {
QJsonArray arraytriggerSettings ;
2024-03-14 09:35:39 +08:00
QString strWhere = QString ( " WorkConditionID = %1 and operate <> 3 " ) . arg ( m_WorkCondition [ i ] . SN ) ;
2023-04-14 19:30:30 +08:00
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 " ;
2023-10-19 14:15:31 +08:00
else if ( triggerConfig [ j ] . Characteristic = = " 偏置电压/Gap " )
2023-04-14 19:30:30 +08:00
rowObj [ " triggerFeatureName " ] = " DCValues " ;
2023-10-19 14:15:31 +08:00
else if ( triggerConfig [ j ] . Characteristic = = " 平均值 " | | triggerConfig [ j ] . Characteristic = = " 有效值 " )
2023-04-14 19:30:30 +08:00
rowObj [ " triggerFeatureName " ] = " RMSValues " ;
else if ( triggerConfig [ j ] . Characteristic = = " 诊断峰峰值 " )
rowObj [ " triggerFeatureName " ] = " DiagnosisPk2Pk " ;
2023-10-19 14:15:31 +08:00
else if ( triggerConfig [ j ] . Characteristic = = " 速度有效值 " | | triggerConfig [ j ] . Characteristic = = " 位移有效值 " ) //积分
2023-04-14 19:30:30 +08:00
rowObj [ " triggerFeatureName " ] = " IntegratRMS " ;
else if ( triggerConfig [ j ] . Characteristic = = " 积分峰峰值 " )
rowObj [ " triggerFeatureName " ] = " IntegratPk2Pk " ;
else if ( triggerConfig [ j ] . Characteristic = = " 转速 " )
rowObj [ " triggerFeatureName " ] = " SpeedProfileSpeed " ;
2023-04-27 19:48:15 +08:00
else if ( triggerConfig [ j ] . Characteristic = = " 速度峰值 " | | triggerConfig [ j ] . Characteristic = = " 位移峰值 " ) //积分
2023-04-14 19:30:30 +08:00
rowObj [ " triggerFeatureName " ] = " IntegratPk2Pk/2 " ;
else if ( triggerConfig [ j ] . Characteristic = = " 峰值 " )
rowObj [ " triggerFeatureName " ] = " DiagnosisPeak " ;
2023-10-19 14:15:31 +08:00
else if ( triggerConfig [ j ] . Characteristic = = " 监测保护峰峰值 " )
rowObj [ " triggerFeatureName " ] = " MonitorPk2Pk " ;
2023-04-14 19:30:30 +08:00
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 ) ;
QString fileName = QCoreApplication : : applicationDirPath ( ) + " \\ config \\ TriggerSettings.json " ;
QFile file ( fileName ) ;
file . open ( QIODevice : : WriteOnly ) ;
file . write ( jsonDoc . toJson ( ) ) ;
file . close ( ) ;
2024-03-14 09:35:39 +08:00
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 " ;
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 ) ;
QString fileName2 = QCoreApplication : : applicationDirPath ( ) + " \\ config \\ TriggerSettings2.json " ;
QFile file2 ( fileName2 ) ;
file2 . open ( QIODevice : : WriteOnly ) ;
file2 . write ( jsonDoc2 . toJson ( ) ) ;
file2 . close ( ) ;
2023-04-27 19:48:15 +08:00
QVector < WorkCondition_t > ( ) . swap ( m_WorkCondition ) ;
QString wherecon = " " ;
wherecon = QString ( " Enable = \" 1 \" " ) ;
m_WorkCondition = g_SqliteDB - > GetWorkCondition ( " t_WorkCondition " , wherecon ) ;
2024-03-14 09:35:39 +08:00
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 " , " " ) ;
2023-04-14 19:30:30 +08:00
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 " ) ;
2024-03-14 09:35:39 +08:00
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 " ) ;
2023-10-19 14:15:31 +08:00
disconnect ( g_NetMgr , SIGNAL ( sigNetMgr ( QString , const QVariant & ) ) , this , SLOT ( slotNetMgr ( QString , const QVariant & ) ) ) ;
2024-03-14 09:35:39 +08:00
2023-04-14 19:30:30 +08:00
}