增加主视图通道自动对齐,警报描述精简化,触发条件和工况条件存储时增加当前条件的操作状态

This commit is contained in:
CHINAMI-TV221UM\Administrator 2024-04-02 19:25:44 +08:00
parent 5623d4844b
commit 77b7e2c846
17 changed files with 507 additions and 106 deletions

View File

@ -5,6 +5,7 @@
#include <QLabel>
#include <QDateTime>
#include <QDate>
#include <QInputDialog>
CChannelList::CChannelList(QWidget *parent) :
@ -532,7 +533,18 @@ void CChannelList::slotRowDoubleClicked(const QModelIndex &index)
SlowSpeeddialog->show();
}else if(g_channelSetting[m_nCurRow].boardType.toInt() == 6 && g_channelSetting[i].channelId == g_channelSetting[m_nCurRow].channelId){//开入开出板卡
QString strTips = "输入开入开出板卡通道名称";
bool ok;
QString channleName = QInputDialog::getText(this, tr("输入名称对话框"), strTips, QLineEdit::Normal,"",&ok);
if(!ok) return;
qDebug() << channleName << endl;
QString strUpdateSql = QString(" set channelName = '%1' where sensorModuleNo = %2 and sensorNo = %3 ")\
.arg(channleName).arg(g_channelSetting[m_nCurRow].sensorModuleNo).arg(g_channelSetting[m_nCurRow].sensorNo);
QString tableName = "t_ChannelSetting ";
g_SqliteDB->UpdateDataSql(tableName,strUpdateSql);
g_channelSetting = g_SqliteDB->GetDataMultiLine("t_ChannelSetting");
putJson();
}
}

View File

@ -61,9 +61,7 @@ void CCharacteristicList::DisPlayCharacteristic()
model->setRowCount( g_Charateristic.size());
for (int i = 0; i < g_ChannelBaseInfo.size(); i++)
{
for (int j = 0; j < g_Charateristic.size(); j++) {
if(g_Charateristic[j].ChannelID == g_ChannelBaseInfo[i].channelID \
&& g_Charateristic[j].channelType != "DI" && g_Charateristic[j].channelType != "DO")
@ -81,7 +79,6 @@ void CCharacteristicList::DisPlayCharacteristic()
}else if(g_ChannelBaseInfo[i].defaultDisplay == "转速"){
model->setData(model->index(j,2,QModelIndex()),QString::number(g_Charateristic[j].speedRPM,'f',g_Charateristic[j].ChUnitDot));
}
//qDebug() << g_ChannelBaseInfo[i].boardType << g_Charateristic[j].DCValues <<endl;
if(g_ChannelBaseInfo[i].boardType == "5"){
model->setData(model->index(j,2,QModelIndex()),QString::number(g_Charateristic[j].DCValues,'f',g_Charateristic[j].ChUnitDot));
}

View File

@ -131,19 +131,21 @@ void CConfiguration::Init()
int xDangerOverEnabled = arrayConfig.at(k)["xDangerOverEnabled"].toInt();
int xDangerUnderEnabled = arrayConfig.at(k)["xDangerUnderEnabled"].toInt();
if(xAlertOverEnabled == 1){
item = new QStandardItem(QString(channelName + "-" + str + "-Over-"+"警报"));
item = new QStandardItem(QString(channelName + "-" + "高于警报值"));
itemChannel->appendRow(item);
}
if(xAlertUnderEnabled == 1){
item = new QStandardItem(QString(channelName + "-" + str + "-Under-"+"警报"));
item = new QStandardItem(QString(channelName + "-" + "低于警报值"));
itemChannel->appendRow(item);
}
if(xDangerOverEnabled == 1){
item = new QStandardItem(QString(channelName + "-" + str + "-Over-"+"危险"));
//item = new QStandardItem(QString(channelName + "-" + str + "-Over-"+"危险"));
item = new QStandardItem(QString(channelName + "-" + "高于危险值"));
itemChannel->appendRow(item);
}
if(xDangerUnderEnabled == 1){
item = new QStandardItem(QString(channelName + "-" + str + "-Under-"+"危险"));
item = new QStandardItem(QString(channelName + "-" + "低于危险值"));
//item = new QStandardItem(QString(channelName + "-" + str + "-Under-"+"危险"));
itemChannel->appendRow(item);
}
}
@ -184,13 +186,67 @@ void CConfiguration::LoadConfiguration()
void CConfiguration::slotDeleteItem()
{
int BoardNo,ChannelNoInBoard;
QString ChannelId,ChannelName,SN;
QString strTableName = " t_UnitConfiguration ";
QJsonObject jsonObj;
QJsonObject logicObj,ConfiguraitonsObj,ConfiguraitonsWCObj;
QJsonArray logicExpressArray,ConfiguraitonsArray;
QModelIndex curIndex = ui->treeView_Relay->currentIndex();
//QModelIndex index = curIndex.sibling(curIndex.row(),0); //同一行第一列元素的index
if(curIndex.isValid())
{
QStandardItem* item = model_Relay->itemFromIndex(curIndex);
QString text = item->text();
qDebug() << text <<endl;
QString nodeText = item->text();
qDebug() << nodeText <<endl;
QString strWC = ui->comboBox_WC->currentText();
for (int i = 0; i < m_WorkCondition.size(); i++) {
if(m_WorkCondition[i].WorkConditionName == ui->comboBox_WC->currentText()){
SN = m_WorkCondition[i].SN;
}
}
for (int i = 0; i < g_ChannelBaseInfo.size(); i++) {
if(g_ChannelBaseInfo[i].bordNo == 10 && g_ChannelBaseInfo[i].channelNoInBoard == m_curentRLY){
BoardNo = g_ChannelBaseInfo[i].bordNo;
ChannelId = g_ChannelBaseInfo[i].channelID;
ChannelName = g_ChannelBaseInfo[i].channelName;
ChannelNoInBoard = g_ChannelBaseInfo[i].channelNoInBoard;
}
}
if(nodeText.contains("logicOR") || nodeText.contains("logicAND")){
QString strSql = QString(" values('%1','%2',%3,%4,'',4)").arg(SN).arg(ChannelId).arg(BoardNo).arg(ChannelNoInBoard);
g_SqliteDB->InsertData(strTableName,strSql);
}else{
QStandardItem* parantitem = item->parent();
QString paranNodeText = parantitem->text();
if(paranNodeText.contains("logicAND")){
if(nodeText.contains("警报")){
jsonObj["alarm"] = 1;
jsonObj["danger"] = 0;
}else if (nodeText.contains("危险")) {
jsonObj["danger"] = 1;
jsonObj["alarm"] = 0;
}
jsonObj["triggerFeatureName"] = nodeText;
jsonObj["nodeType"] = 1;
jsonObj["displayTitle"] = nodeText;
for (int k = 0;k < g_ChannelBaseInfo.size(); k++) {
if(g_ChannelBaseInfo[k].channelName == nodeText.split("-")[0]){
jsonObj["channelId"] = g_ChannelBaseInfo[k].channelID;
break;
}
}
jsonObj["channelOperate"] = 3;
QJsonDocument doc(jsonObj);
QString strJson(doc.toJson(QJsonDocument::Compact));
QString strSql = QString(" values('%1','%2','%3','%4','%5',3)").arg(SN).arg(ChannelId).arg(BoardNo).arg(ChannelNoInBoard).arg(strJson);
g_SqliteDB->InsertData(strTableName,strSql);
}
}
model_Relay->removeRow(curIndex.row(),curIndex.parent());
}
}
@ -244,8 +300,8 @@ void CConfiguration::on_treeView_Relay_customContextMenuRequested(const QPoint &
QJsonArray CConfiguration::GetItem(QStandardItem *item,int MinimumNumber)
{
QJsonArray arrayAll;
QJsonObject jsonObj,inputObj,MinimumNumberObj;
QJsonArray arrayAll,arrayAll2;
QJsonObject jsonObj,inputObj,inputObj2,MinimumNumberObj;
QString strLogic;
if(item->hasChildren())
{
@ -255,7 +311,7 @@ QJsonArray CConfiguration::GetItem(QStandardItem *item,int MinimumNumber)
QStandardItem * childitem = item->child(i);
strLogic = childitem->text();
if(childitem->text().contains("logicOR") || childitem->text().contains("logicAND")){
QJsonArray inputArray;
QJsonArray inputArray,inputArray2;
if(childitem->hasChildren()){
for(int i = 0;i < childitem->rowCount() ;i++){
QStandardItem * childitem2 = childitem->child(i);
@ -269,30 +325,51 @@ QJsonArray CConfiguration::GetItem(QStandardItem *item,int MinimumNumber)
jsonObj["triggerFeatureName"] = childitem2->text();
jsonObj["nodeType"] = 1;
jsonObj["displayTitle"] = childitem2->text();
jsonObj["channelId"] = childitem2->text().split("-")[3];
for (int k = 0;k < g_ChannelBaseInfo.size(); k++) {
if(g_ChannelBaseInfo[k].channelName == childitem2->text().split("-")[0]){
jsonObj["channelId"] = g_ChannelBaseInfo[k].channelID;
break;
}
}
inputArray.append(jsonObj);
inputArray2.append(jsonObj);
}
}else{
QMessageBox::question(this, QStringLiteral("提示"), QStringLiteral("请选择正确的逻辑!"));
return arrayAll;
}
QString strTableName = " t_UnitConfiguration ";
QVector<UnitConfiguration_t> vecUnitConfiguration = g_SqliteDB->GetUnitConfigurationInfo(strTableName);
for (int i = 0; i < vecUnitConfiguration.size(); i++) {
if(vecUnitConfiguration[i].Operate == 3){
QJsonDocument document = QJsonDocument::fromJson(vecUnitConfiguration[i].Input.toUtf8());
QJsonObject jsonObj = document.object();
inputArray2.append(jsonObj);
}
}
inputObj2["Inputs"] = inputArray2;
inputObj["Inputs"] = inputArray;
MinimumNumber = childitem->data(Qt::UserRole + 1).toInt();
qDebug()<< "MinimumNumber" <<MinimumNumber<< endl;
MinimumNumberObj["MinimumNumber"] = MinimumNumber;
inputObj["Combination"] = MinimumNumberObj;
inputObj2["Combination"] = MinimumNumberObj;
arrayAll.append(inputObj);
//qDebug() << "m_array"<<m_array << childitem->data(1) << endl;
arrayAll2.append(inputObj2);
}
}
}
QJsonObject jsonObjLogic;
QJsonObject jsonObjLogic,jsonObjLogic2;
qDebug() << "strLogic" << strLogic.left(strLogic.length()-3) << endl;
jsonObjLogic[strLogic.left(strLogic.length()-3)] = arrayAll;
jsonObjLogic2[strLogic.left(strLogic.length()-3)] = arrayAll2;
QJsonArray ret;
ret.append(jsonObjLogic);
m_deleteInputArray.append(jsonObjLogic2);
return ret;
@ -351,6 +428,7 @@ QJsonObject CConfiguration::SelectChannel(int channelNo)
ConfiguraitonsObj["ChannelId"] = g_ChannelBaseInfo[i].channelID;
ConfiguraitonsObj["ChannelName"] = g_ChannelBaseInfo[i].channelName;
ConfiguraitonsObj["ChannelNoInBoard"] = g_ChannelBaseInfo[i].channelNoInBoard;
ConfiguraitonsObj["ChannelOperate"] = -1;
}
}
return ConfiguraitonsObj;
@ -379,12 +457,12 @@ void CConfiguration::on_pushButton_save_clicked()
void CConfiguration::on_pushButton_confirm_clicked()
{
QJsonObject logicObj,ConfiguraitonsObj,ConfiguraitonsWCObj;
QJsonArray logicExpressArray,ConfiguraitonsArray;
QJsonObject logicObj,logicObj2,ConfiguraitonsObj,ConfiguraitonsObj2,ConfiguraitonsWCObj,ConfiguraitonsWCObj2;
QJsonArray logicExpressArray,logicExpressArray2,ConfiguraitonsArray,ConfiguraitonsArray2;
int flag = -1;
if(ui->radioButton_1->isChecked()){
flag = 1;
ConfiguraitonsObj = SelectChannel(3);
ConfiguraitonsObj = SelectChannel(3);
}else if(ui->radioButton_2->isChecked()){
flag = 1;
@ -440,21 +518,38 @@ void CConfiguration::on_pushButton_confirm_clicked()
if(arrayAll.size() < 1)
return;
logicObj[item->text().left(7)] = arrayAll;
logicObj2[item->text().left(7)] = m_deleteInputArray;
logicExpressArray.append(logicObj);
logicExpressArray2.append(logicObj2);
}
ConfiguraitonsObj2 = ConfiguraitonsObj;
ConfiguraitonsObj["logicExpress"] = logicExpressArray;
ConfiguraitonsObj2["logicExpress"] = logicExpressArray2;
QString strTableName = " t_UnitConfiguration ";
QVector<UnitConfiguration_t> vecUnitConfiguration = g_SqliteDB->GetUnitConfigurationInfo(strTableName);
for (int i = 0; i < vecUnitConfiguration.size(); i++) {
if(vecUnitConfiguration[i].Operate == 3){
ConfiguraitonsObj2["ChannelOperate"] = 3;
}else if(vecUnitConfiguration[i].Operate == 4){
ConfiguraitonsObj2["ChannelOperate"] = 4;
}
}
qDebug() << "m_deleteInputObj" << ConfiguraitonsArray2 << endl;
ConfiguraitonsArray.append(ConfiguraitonsObj);
ConfiguraitonsArray2.append(ConfiguraitonsObj2);
QJsonArray().swap(m_array);
QJsonArray().swap(m_arrayAll);
if(ui->lineEdit_2->text() == "")
if(ui->lineEdit_2->text() == ""){
ConfiguraitonsWCObj["SecondDelaySeconds"] = "0";
else
ConfiguraitonsWCObj2["SecondDelaySeconds"] = "0";
}
else{
ConfiguraitonsWCObj["SecondDelaySeconds"] = ui->lineEdit_2->text();
ConfiguraitonsWCObj2["SecondDelaySeconds"] = ui->lineEdit_2->text();
}
QString strCurrentSN = "";
for (int i = 0; i < m_WorkCondition.size(); i++) {
@ -462,9 +557,15 @@ void CConfiguration::on_pushButton_confirm_clicked()
ConfiguraitonsWCObj["SN"] = m_WorkCondition[i].SN;
strCurrentSN = m_WorkCondition[i].SN;
ConfiguraitonsWCObj["WorkConditionName"] = m_WorkCondition[i].WorkConditionName;
ConfiguraitonsWCObj2["SN"] = m_WorkCondition[i].SN;
ConfiguraitonsWCObj2["WorkConditionName"] = m_WorkCondition[i].WorkConditionName;
}
}
ConfiguraitonsWCObj["Configuraitons"] = ConfiguraitonsArray;
ConfiguraitonsWCObj2["Configuraitons"] = ConfiguraitonsArray2;
//防止点击重复应用
if(m_vecWorkConditionObj.size() > 0){
QVector<QJsonObject> vecWorkConditionObj = m_vecWorkConditionObj;
int flag = -1,flag2 = -1;
@ -498,6 +599,43 @@ void CConfiguration::on_pushButton_confirm_clicked()
}else{
m_vecWorkConditionObj.append(ConfiguraitonsWCObj);
}
if(m_vecWorkConditionObj2.size() > 0){
QVector<QJsonObject> vecWorkConditionObj = m_vecWorkConditionObj2;
int flag = -1,flag2 = -1;
for (int i = 0; i < vecWorkConditionObj.size(); i++){
if(vecWorkConditionObj.at(i)["SN"].toString() == strCurrentSN){
flag = 1;
QJsonArray configuraitonsArray = vecWorkConditionObj.at(i)["Configuraitons"].toArray();
QJsonArray tempArray = configuraitonsArray;
for (int j = 0; j < configuraitonsArray.size(); j++) {
if(ConfiguraitonsObj2["ChannelId"].toString() == configuraitonsArray.at(j)["ChannelId"].toString()){
flag2 = 1;
for (int ii = 0; ii < tempArray.size(); ii++) {
if(tempArray.at(ii)["ChannelId"].toString() == ConfiguraitonsObj2["ChannelId"].toString()){
tempArray.removeAt(ii);
}
}
tempArray.append(ConfiguraitonsObj2);
}
if(j + 1 == configuraitonsArray.size() && flag2 == -1){
tempArray.append(ConfiguraitonsObj2);
}
}
ConfiguraitonsWCObj2["Configuraitons"] = tempArray;
m_vecWorkConditionObj2.removeAt(i);
m_vecWorkConditionObj2.append(ConfiguraitonsWCObj2);
}
if( i + 1 == vecWorkConditionObj.size() && flag == -1){
m_vecWorkConditionObj2.append(ConfiguraitonsWCObj2);
}
}
}else{
m_vecWorkConditionObj2.append(ConfiguraitonsWCObj2);
}
QJsonArray().swap(m_deleteInputArray);
QMessageBox::information(this, QStringLiteral("提示"), QStringLiteral("应用成功!"));
}
@ -540,21 +678,27 @@ void CConfiguration::on_comboBox_WC_currentTextChanged2(const QString &arg1)
int xDangerOverEnabled = arrayConfig.at(k)["xDangerOverEnabled"].toInt();
int xDangerUnderEnabled = arrayConfig.at(k)["xDangerUnderEnabled"].toInt();
if(xAlertOverEnabled == 1){
item = new QStandardItem(QString(channelName + "-" + str + "-Over-"+"警报"));
item = new QStandardItem(QString(channelName + "-" + "高于警报值"));
//item = new QStandardItem(QString(channelName + "-" + str + "-Over-"+"警报"));
itemChannel->appendRow(item);
}
if(xAlertUnderEnabled == 1){
item = new QStandardItem(QString(channelName + "-" + str + "-Under-"+"警报"));
item = new QStandardItem(QString(channelName + "-" + "低于警报值"));
//item = new QStandardItem(QString(channelName + "-" + str + "-Under-"+"警报"));
itemChannel->appendRow(item);
}
if(xDangerOverEnabled == 1){
item = new QStandardItem(QString(channelName + "-" + str + "-Over-"+"危险"));
item = new QStandardItem(QString(channelName + "-" + "高于危险值"));
//item = new QStandardItem(QString(channelName + "-" + str + "-Over-"+"危险"));
itemChannel->appendRow(item);
}
if(xDangerUnderEnabled == 1){
item = new QStandardItem(QString(channelName + "-" + str + "-Under-"+"危险"));
item = new QStandardItem(QString(channelName + "-" + "低于危险值"));
//item = new QStandardItem(QString(channelName + "-" + str + "-Under-"+"危险"));
itemChannel->appendRow(item);
}
itemChannel->setData(str);
}
}
}
@ -573,38 +717,95 @@ void CConfiguration::PushData()
}
m_isConfirm = -1;
QJsonArray WorkConditionConfiguraitonsArray2;
if(m_vecWorkConditionObj.size() > 0){
for (int i = 0; i < m_vecWorkConditionObj.size(); i++) {
m_WorkConditionConfiguraitonsArray.append(m_vecWorkConditionObj[i]);
}
for (int i = 0; i < m_vecWorkConditionObj2.size(); i++) {
WorkConditionConfiguraitonsArray2.append(m_vecWorkConditionObj2[i]);
}
}else{
m_WorkConditionConfiguraitonsArray.append(m_ConfiguraitonsWCObj);
}
QJsonObject WorkConditionConfiguraitonsObj;
QJsonObject WorkConditionConfiguraitonsObj,WorkConditionConfiguraitonsObj2;
WorkConditionConfiguraitonsObj["WorkConditionConfiguraitons"] = m_WorkConditionConfiguraitonsArray;
//qDebug() << WorkConditionConfiguraitonsObj << endl;
WorkConditionConfiguraitonsObj2["WorkConditionConfiguraitons"] = WorkConditionConfiguraitonsArray2;
QJsonDocument jsonDoc;
jsonDoc.setObject(WorkConditionConfiguraitonsObj);
QString fileName = QCoreApplication::applicationDirPath() + "\\config\\UnitConfigurations.json";
QJsonDocument jsonDoc2;
jsonDoc2.setObject(WorkConditionConfiguraitonsObj2);
QString fileName2 = QCoreApplication::applicationDirPath() + "\\config\\UnitConfigurations2.json";
QFile file(fileName);
file.open(QIODevice::WriteOnly);
file.write(jsonDoc.toJson());
file.close();
QFile file2(fileName2);
file2.open(QIODevice::WriteOnly);
file2.write(jsonDoc2.toJson());
file2.close();
// QString strTableName = " t_UnitConfiguration ";
// QVector<UnitConfiguration_t> vecUnitConfiguration = g_SqliteDB->GetUnitConfigurationInfo(strTableName);
// for (int i = 0; i < m_WorkConditionConfiguraitonsArray.size(); i++) {
// for (int j = 0; j < vecUnitConfiguration.size(); j++) {
// QJsonObject WorkConditionConfiguraitonsObj = m_WorkConditionConfiguraitonsArray.at(i).toObject();
// if(WorkConditionConfiguraitonsObj["SN"].toString() == vecUnitConfiguration[j].WorkConditionID){
// QJsonArray ConfiguraitonsArray = WorkConditionConfiguraitonsObj["Configuraitons"].toArray();
// for (int k = 0; k < ConfiguraitonsArray.size(); k++) {
// QJsonObject ConfiguraitonsObj = ConfiguraitonsArray[k].toObject();
// if(ConfiguraitonsObj["ChannelId"].toString() == vecUnitConfiguration[j].ChannelID){
// if(vecUnitConfiguration[j].Operate == 3){
// QJsonArray UnitConfigurationArray = m_WorkConditionConfiguraitonsArray.at(i).toArray();
// ConfiguraitonsObj["ChannelOperate"] = 3;
// ConfiguraitonsArray[k] = ConfiguraitonsObj;
// WorkConditionConfiguraitonsObj["Configuraitons"] = ConfiguraitonsArray;
// m_WorkConditionConfiguraitonsArray.removeAt(i);
// m_WorkConditionConfiguraitonsArray.insert(i, WorkConditionConfiguraitonsObj);
// }else if(vecUnitConfiguration[j].Operate == 4){
// QJsonArray UnitConfigurationArray = m_WorkConditionConfiguraitonsArray.at(i).toArray();
// ConfiguraitonsObj["ChannelOperate"] = 4;
// ConfiguraitonsArray[k] = ConfiguraitonsObj;
// WorkConditionConfiguraitonsObj["Configuraitons"] = ConfiguraitonsArray;
// m_WorkConditionConfiguraitonsArray.removeAt(i);
// m_WorkConditionConfiguraitonsArray.insert(i, WorkConditionConfiguraitonsObj);
// }
// }
// }
// }
// }
// }
qDebug() << WorkConditionConfiguraitonsArray2 << endl;
qDebug() << m_WorkConditionConfiguraitonsArray << endl;
QJsonArray().swap(m_WorkConditionConfiguraitonsArray);
QJsonArray().swap(m_array);
QJsonArray().swap(m_ConfiguraitonsArray);
//QVector<QJsonObject>().swap(m_vecWorkConditionObj);
QJsonArray().swap(m_deleteInputArray);
QVector<QJsonObject>().swap(m_vecWorkConditionObj2);
QString tableName = " t_UnitConfiguration ";
g_SqliteDB->DeleteDataW(tableName,"");
QString str = QString("ftp://%1/CIDW/qtconfig/%2").arg(IP).arg("UnitConfigurations.json");
g_FtpClient->SetServerInfo(str);
g_FtpClient->SetUserInfo("root","@#cidw!@123456");
g_FtpClient->UpLoadFile(fileName,"UnitConfigurations.json");
QString str2 = QString("ftp://%1/CIDW/qtconfig/%2").arg(IP).arg("UnitConfigurations2.json");
g_FtpClient->SetServerInfo(str2);
g_FtpClient->SetUserInfo("root","@#cidw!@123456");
g_FtpClient->UpLoadFile(fileName2,"UnitConfigurations2.json");
}
@ -837,60 +1038,70 @@ void CConfiguration::ViewRelay(int ChannelNoInBoard)
void CConfiguration::on_radioButton_1_clicked()
{
m_curentRLY = 3;
ViewRelay(3);
}
void CConfiguration::on_radioButton_2_clicked()
{
m_curentRLY = 4;
ViewRelay(4);
}
void CConfiguration::on_radioButton_3_clicked()
{
m_curentRLY = 5;
ViewRelay(5);
}
void CConfiguration::on_radioButton_4_clicked()
{
m_curentRLY = 6;
ViewRelay(6);
}
void CConfiguration::on_radioButton_5_clicked()
{
m_curentRLY = 7;
ViewRelay(7);
}
void CConfiguration::on_radioButton_6_clicked()
{
m_curentRLY = 8;
ViewRelay(8);
}
void CConfiguration::on_radioButton_8_clicked()
{
m_curentRLY = 10;
ViewRelay(10);
}
void CConfiguration::on_radioButton_7_clicked()
{
m_curentRLY = 9;
ViewRelay(9);
}
void CConfiguration::on_radioButton_9_clicked()
{
m_curentRLY = 11;
ViewRelay(11);
}
void CConfiguration::on_radioButton_10_clicked()
{
m_curentRLY = 12;
ViewRelay(12);
}

View File

@ -70,17 +70,21 @@ private:
QJsonArray m_array;
QJsonArray m_WorkConditionConfiguraitonsArray;
QJsonArray m_deleteInputArray;
QJsonArray m_deleteConfiguraitonsObj;
//QJsonArray m_ConfiguraitonsArray;
QJsonArray arrayTriggerConfig;
QJsonArray m_ConfiguraitonsArray;
QJsonObject m_ConfiguraitonsWCObj;
QVector<QJsonObject> m_vecWorkConditionObj;
QVector<QJsonObject> m_vecWorkConditionObj2;
void LoadConfiguration();
QJsonObject SelectChannel(int channelNo);
void ViewRelay(int ChannelNoInBoard);
void PushData();
int m_isConfirm;
int m_curentRLY;
};
#endif // CONFIGURATION_H

View File

@ -22,7 +22,7 @@ CHistoryAlarm::CHistoryAlarm(QWidget *parent) :
model->setColumnCount(headerList.size());
ui->tableView->setModel(model);
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
ui->tableView->setColumnWidth(2, 500);
ui->tableView->setColumnWidth(2, 300);
ui->tableView->setColumnWidth(3, 200);
ui->tableView->setColumnWidth(4, 200);
ui->tableView->setAlternatingRowColors(true);
@ -39,6 +39,8 @@ CHistoryAlarm::CHistoryAlarm(QWidget *parent) :
ui->comboBox_channel->setView(new QListView());
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
connect(ui->comboBox_channel,SIGNAL(currentIndexChanged(const QString &)),this,SLOT(on_comboBox_channel_currentTextChanged(const QString&)));
ui->comboBox_channel->addItem("请选择通道...");
@ -101,7 +103,20 @@ void CHistoryAlarm::on_pushButton_search_clicked()
QString resetTime = "";
if(m_vecTriggerAlarmStatusInfo[i].resetTimestamp != 0)
resetTime = QDateTime::fromSecsSinceEpoch(m_vecTriggerAlarmStatusInfo[i].resetTimestamp).toString("yyyy-MM-dd hh:mm:ss");
strRowItem << i + 1 << m_vecTriggerAlarmStatusInfo[i].triggerLevel << m_vecTriggerAlarmStatusInfo[i].triggerEventName << TStr << resetTime;
QString triggerLevel = "",triggerEventName = "";
if(m_vecTriggerAlarmStatusInfo[i].triggerLevel == "1"){
triggerLevel = "警报";
}else if(m_vecTriggerAlarmStatusInfo[i].triggerLevel == "2"){
triggerLevel = "危险";
}
if(m_vecTriggerAlarmStatusInfo[i].triggerEventName.contains("Over")){
triggerEventName = m_vecTriggerAlarmStatusInfo[i].channelName + "-" + "高于" + triggerLevel + "";
}else if(m_vecTriggerAlarmStatusInfo[i].triggerEventName.contains("Under")){
triggerEventName = m_vecTriggerAlarmStatusInfo[i].channelName + "-" + "低于" + triggerLevel + "";
}
strRowItem << i + 1 << triggerLevel << triggerEventName << TStr << resetTime;
createRowItem(i,strRowItem);
}

View File

@ -28,6 +28,26 @@ public:
signals:
void doubleclick(QGraphicsSceneMouseEvent *event);
public slots:
//protected:
// void mousePressEvent(QGraphicsSceneMouseEvent* event) override {
// // 当鼠标按下时,切换选中状态
// isSelected = !isSelected;
// update(); // 触发重绘
// }
// void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override {
// QGraphicsItemGroup::paint(painter, option, widget);
// if (isSelected) {
// // 如果项被选中,绘制一个高亮边框
// painter->setPen(QPen(Qt::red));
// painter->drawRoundRect(boundingRect());
// }
// }
//private:
// bool isSelected = false; // 是否被选中
};
class LineItem : public QGraphicsItem
{

View File

@ -34,13 +34,13 @@ void CNTPServerConfig::on_pushButton_2_clicked()
void CNTPServerConfig::slotNetMgr(QString sAddr, const QVariant &msg)
{
QJsonObject objec = msg.value<QJsonObject>();
qDebug() << "msg" << msg << endl;
if(objec.contains("cmd"))
{
QJsonValue arrays_value = objec.take("cmd");
if(arrays_value.toString() == "02")
QJsonValue Json_value = objec.take("cmd");
if(Json_value.toString() == "02")
{
QJsonObject cmdBodyObj = objec["cmdBody"].toObject();
QJsonValue arrays_value = cmdBodyObj.take("type");
QString arrays_value = objec.take("type").toString();
if(arrays_value == "SET"){
bool Status = objec.take("success").toBool();
QString strMessage = objec.take("message").toString();
@ -50,7 +50,7 @@ void CNTPServerConfig::slotNetMgr(QString sAddr, const QVariant &msg)
QMessageBox::information(this, QStringLiteral("提示"), strMessage);
}
}else if(arrays_value == "GET"){
int timestamp_value = cmdBodyObj.take("timeStamp").toInt();
int timestamp_value = objec.take("timeStamp").toInt();
QDateTime dateTime;
dateTime.setSecsSinceEpoch(timestamp_value);
@ -184,7 +184,7 @@ void CNTPServerConfig::on_pushButton_get_clicked()
cmdBody.insert("type","GET");
long timeStamp = QDateTime::currentDateTime().toTime_t();
QString str = QString("%1").arg(timeStamp);
cmdBody["timeStamp"] = str.toInt();
//cmdBody["timeStamp"] = str.toInt();
allObj["cmdBody"] = cmdBody;
QNetworkRequest req;
QString sUrl = QString("http://%1/cgi-bin/General.cgi/").arg(IP);

View File

@ -272,12 +272,12 @@
<rect>
<x>50</x>
<y>50</y>
<width>54</width>
<height>12</height>
<width>161</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
<string>- -</string>
</property>
</widget>
</widget>

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<width>905</width>
<height>580</height>
</rect>
</property>
@ -263,7 +263,7 @@
<property name="title">
<string>去零漂配置</string>
</property>
<widget class="QWidget" name="">
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>10</x>
@ -349,7 +349,7 @@
<widget class="QLineEdit" name="lineEdit_peaktopeak">
<property name="minimumSize">
<size>
<width>0</width>
<width>100</width>
<height>0</height>
</size>
</property>

View File

@ -22,7 +22,7 @@ CRealTimeAlarm::CRealTimeAlarm(QWidget *parent) :
model->setHorizontalHeaderLabels(headerList);
model->setColumnCount(headerList.size());
ui->tableView->setModel(model);
ui->tableView->setColumnWidth(2, 500);
ui->tableView->setColumnWidth(2, 300);
ui->tableView->setColumnWidth(3, 200);
ui->tableView->setAlternatingRowColors(true);
@ -33,6 +33,7 @@ CRealTimeAlarm::CRealTimeAlarm(QWidget *parent) :
// 必须要设置此项否则样式表的hover无法生效
ui->tableView->setMouseTracking(true);
m_strFileName = "";
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
initTable();
}
@ -71,7 +72,19 @@ void CRealTimeAlarm::initTable()
for (int i = 0; i < m_vecTriggerAlarmStatusInfo.size(); i++) {
QVariantList strRowItem ;
QString TStr = QDateTime::fromSecsSinceEpoch(m_vecTriggerAlarmStatusInfo[i].timestamp).toString("yyyy-MM-dd hh:mm:ss");
strRowItem << i + 1 << m_vecTriggerAlarmStatusInfo[i].triggerLevel << m_vecTriggerAlarmStatusInfo[i].triggerEventName << TStr;
QString triggerLevel = "",triggerEventName = "";
if(m_vecTriggerAlarmStatusInfo[i].triggerLevel == "1"){
triggerLevel = "警报";
}else if(m_vecTriggerAlarmStatusInfo[i].triggerLevel == "2"){
triggerLevel = "危险";
}
if(m_vecTriggerAlarmStatusInfo[i].triggerEventName.contains("Over")){
triggerEventName = m_vecTriggerAlarmStatusInfo[i].channelName + "-" + "高于" + triggerLevel + "";
}else if(m_vecTriggerAlarmStatusInfo[i].triggerEventName.contains("Under")){
triggerEventName = m_vecTriggerAlarmStatusInfo[i].channelName + "-" + "低于" + triggerLevel + "";
}
strRowItem << i + 1 << triggerLevel << triggerEventName << TStr;
createRowItem(i,strRowItem);
}

View File

@ -156,6 +156,7 @@ void FtpClient::UpLoadFile(const QString fileSource, const QString fileName,int
QMessageBox::warning(this, QStringLiteral("警告"), QStringLiteral("上传的文件不存在"));
return;
}
customLogMessageHandler(QtDebugMsg,fileName);
file.open(QIODevice::ReadOnly);
QByteArray data = file.readAll(); //转化编码
//QString result = QString::fromLatin1(fileDest.toStdString().c_str());

View File

@ -268,6 +268,15 @@ typedef struct _TriggerAlarmStatusInfo{
}
}TriggerAlarmStatusInfo_t ;
typedef struct _UnitConfiguration{
QString WorkConditionID;
QString ChannelID;
int BoardNo;
int ChannelNoInBoard;
QString Input;
int Operate;
} UnitConfiguration_t;
typedef struct _Charateristic{
double Amp1x;
double Phase1x;

View File

@ -88,7 +88,6 @@ MainWindow::MainWindow(QWidget *parent) :
}
void MainWindow::LoadTrigerConfig()
{
g_SqliteDB->GetTriggerConfig("t_TriggerConfig","");
}
@ -189,7 +188,6 @@ void MainWindow::initWindow()
g_MapChannelType.insert("DI","开入");
g_MapChannelType.insert("DO","开出");
g_MapChannelType.insert("AIRGAP","气隙");
}
void MainWindow::initStyle()

View File

@ -14,6 +14,7 @@
#include <QLabel>
#include "log.h"
#include <QSettings>
#include <algorithm>
#include "customrectitem.h"
#include "mygraphicrectitem.h"
@ -31,7 +32,7 @@ CRealTimeForm::CRealTimeForm(QWidget *parent) :
m_pGraphicsScene->setSceneRect(0,0,600,550);
ui->graphicsView->setScene(m_pGraphicsScene);
ui->graphicsView->setDragMode(QGraphicsView::RubberBandDrag);
ui->graphicsView->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->graphicsView_2->setContextMenuPolicy(Qt::CustomContextMenu);
QObject::connect(ui->graphicsView_2 ,SIGNAL(customContextMenuRequested(const QPoint &)),this,SLOT(on_graphView_customContextMenuRequested(const QPoint &)));
@ -50,9 +51,6 @@ CRealTimeForm::CRealTimeForm(QWidget *parent) :
m_pSocket = new QTcpSocket(this);
//QObject::connect(m_pSocket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this, SLOT(slotStateChanged(QAbstractSocket::SocketState)));
m_EditMode = 0;
m_MachineStatus = 1;
//读取ini
@ -175,6 +173,8 @@ void CRealTimeForm::on_graphView_customContextMenuRequested(const QPoint &pos)
pActionRect2 = menu.addAction("矩形框");
pActionPixmap = menu.addAction("添加图片");
pActionText = menu.addAction("添加文字");
pActionAlignmentX = menu.addAction("水平分布");
pActionAlignmentY = menu.addAction("垂直分布");
pActionEdit = menu.addAction("编辑");
pActionSave = menu.addAction("保存");
@ -186,6 +186,8 @@ void CRealTimeForm::on_graphView_customContextMenuRequested(const QPoint &pos)
pActionSave->setData(6);
pActionEdit->setData(7);
pActionRect2->setData(8);
pActionAlignmentX->setData(9);
pActionAlignmentY->setData(10);
connect(pActionVerticalLine, SIGNAL(triggered()), this, SLOT(onTaskBoxContextMenuEvent()));
connect(pActionHorizontalLine, SIGNAL(triggered()), this, SLOT(onTaskBoxContextMenuEvent()));
@ -195,6 +197,8 @@ void CRealTimeForm::on_graphView_customContextMenuRequested(const QPoint &pos)
connect(pActionSave, SIGNAL(triggered()), this, SLOT(onTaskBoxContextMenuEvent()));
connect(pActionEdit, SIGNAL(triggered()), this, SLOT(onTaskBoxContextMenuEvent()));
connect(pActionRect2, SIGNAL(triggered()), this, SLOT(onTaskBoxContextMenuEvent()));
connect(pActionAlignmentX, SIGNAL(triggered()), this, SLOT(onTaskBoxContextMenuEvent()));
connect(pActionAlignmentY, SIGNAL(triggered()), this, SLOT(onTaskBoxContextMenuEvent()));
menu.exec(QCursor::pos());
//menu.exec(ui->graphicsView->mapToGlobal(pos));
@ -237,6 +241,12 @@ void CRealTimeForm::onTaskBoxContextMenuEvent()
case 8:
SetCurDrawType("Rect");
break;
case 9:
SetAlignmentX();
break;
case 10:
SetAlignmentY();
break;
}
}
@ -245,6 +255,80 @@ void CRealTimeForm::SetEdit()
m_EditMode = 1;
LoadGraphicsConfig(1);
}
void CRealTimeForm::SetAlignmentX()
{
if(!m_EditMode){
QMessageBox::information(this, QStringLiteral("提示"), "请先进入编辑模式!");
return;
}
QMap<QGraphicsItem*,float> channleAxisX;
QList<QGraphicsItem *> items;
if(ui->tabWidget->currentIndex() == 0){
items = m_pGraphicsScene->items();
}else if(ui->tabWidget->currentIndex() == 1){
items = m_pGraphicsScene_2->items();
}
foreach (QGraphicsItem *item, items) {
QGraphicsItem* graphicsItem = static_cast<QGraphicsItem *>(item);
int itemType = graphicsItem->type();
if (itemType == 10) {
QGraphicsItem* graphicsItem = static_cast<QGraphicsItem *>(item);
qDebug() << "itemType" << graphicsItem->data(0) << graphicsItem->isSelected() << endl;
if(graphicsItem->isSelected()){
channleAxisX.insert(graphicsItem,graphicsItem->x());
}
}
}
QList<float> list = channleAxisX.values();
qSort(list);
float minValue = list.first();
qDebug() << "minValue" << minValue << endl;
QMap<QGraphicsItem*,float>::iterator iter = channleAxisX.begin();
for (; iter != channleAxisX.end(); iter++) {
iter.key()->setPos(minValue,iter.key()->y());
}
}
void CRealTimeForm::SetAlignmentY()
{
if(!m_EditMode){
QMessageBox::information(this, QStringLiteral("提示"), "请先进入编辑模式!");
return;
}
QMap<QGraphicsItem*,float> channleAxisY;
QList<QGraphicsItem *> items;
if(ui->tabWidget->currentIndex() == 0){
items = m_pGraphicsScene->items();
}else if(ui->tabWidget->currentIndex() == 1){
items = m_pGraphicsScene_2->items();
}
foreach (QGraphicsItem *item, items) {
QGraphicsItem* graphicsItem = static_cast<QGraphicsItem *>(item);
int itemType = graphicsItem->type();
if (itemType == 10) {
QGraphicsItem* graphicsItem = static_cast<QGraphicsItem *>(item);
if(graphicsItem->isSelected()){
channleAxisY.insert(graphicsItem,graphicsItem->y());
}
}
}
QList<float> list = channleAxisY.values();
qSort(list);
float minValue = list.first();
qDebug() << "minValue" << minValue << endl;
QMap<QGraphicsItem*,float>::iterator iter = channleAxisY.begin();
int i = 0;
for (; iter != channleAxisY.end(); iter++,i++) {
iter.key()->setPos(iter.key()->x(),list[0] + i * 40 );
}
}
void CRealTimeForm::on_addchannel(channelBaseInfo channelbaseInfo,QString str)
{
@ -331,11 +415,11 @@ void CRealTimeForm::on_addchannel(channelBaseInfo channelbaseInfo,QString str)
pTextUnits->setData(1,"units");
pTextChannel->setData(2,"channel");
pTextValue->setData(3,"value");
pTextValue->setData(4,str);
pTextValue->setData(4,str);//特征值
QFont font;
font.setPixelSize(16);
QFont font2 ( "黑体", 18, 50);
QFont font2 ("黑体", 18, 50);
font.setFamily(QStringLiteral("黑体"));
pTextUnits->setFont(font);
pTextUnits->setDefaultTextColor(QColor(27, 30, 35));
@ -614,7 +698,6 @@ void CRealTimeForm::SaveGraphicsConfig()
TextjsonObject.insert("color",QString::number(mRgb, 16));
if(itemData2 != "")
TextjsonObject.insert("static", itemData2);
//qDebug() << "group Text" << pGraphicTextItem->toPlainText();
if(itemData == "units")
temp.channelUnit = pGraphicTextItem->toPlainText();
else if(itemData == "channel")
@ -841,7 +924,6 @@ void CRealTimeForm::LoadGraphicsConfig(int type)
}
proxy->setGeometry(QRectF(key["x"].toInt(),key["y"].toInt(),0,0));
}
}
// QGraphicsPixmapItem *pPixmap = new QGraphicsPixmapItem(QPixmap(":/image/1.png"));
// pPixmap->setPos(key["x"].toInt(), key["y"].toInt());

View File

@ -102,6 +102,8 @@ private:
QAction *pActionRect2 ;
QAction *pActionEdit ;
QAction *pActionSave ;
QAction *pActionAlignmentX ;
QAction *pActionAlignmentY ;
int id1; //定时器1的唯一标示
int m_RealtimeLog;
int m_MachineStatus;//1 运行 0 停机
@ -112,6 +114,8 @@ private:
void InitChannelInfo();
void SetCurDrawType(QString strType);
void SetEdit();
void SetAlignmentX();
void SetAlignmentY();
void LoadGraphicsConfig(int type);//0 正常1 编辑 2 停机
void SaveGraphicsConfig();
void UpdateCharacteristic(QVector<_Charateristic>& m_vecCharateristic);

View File

@ -30,56 +30,55 @@ int SqliteDB::OpenDataBase()
}
else
{
QString strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_ChannelSetting").arg("confidenceDegree");
int iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_ChannelSetting ADD COLUMN 'confidenceDegree' integer";
ExeSqlData(strSql);
}
strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_ChannelSetting").arg("sectionNum");
iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_ChannelSetting ADD COLUMN 'sectionNum' integer";
ExeSqlData(strSql);
}
strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_ChannelSetting").arg("EngineeringUnit2");
iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_ChannelSetting ADD COLUMN 'EngineeringUnit2' text";
ExeSqlData(strSql);
}
strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_ChannelSetting").arg("firstPoleNum");
iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_ChannelSetting ADD COLUMN 'firstPoleNum' text";
ExeSqlData(strSql);
}
strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_TriggerConfig").arg("operate");
iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_TriggerConfig ADD COLUMN 'operate' integer";
ExeSqlData(strSql);
}
// strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
// .arg("sqlite_master").arg("t_WorkCondition").arg("operate");
// iRet = ExeSqlData(strSql);
// if(iRet == 0){
// strSql = "ALTER TABLE t_WorkCondition ADD COLUMN 'operate' integer";
// ExeSqlData(strSql);
// }
initTable();
return 0;
}
}
int SqliteDB::initTable()
{
QString strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_ChannelSetting").arg("confidenceDegree");
int iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_ChannelSetting ADD COLUMN 'confidenceDegree' integer";
ExeSqlData(strSql);
}
strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_ChannelSetting").arg("sectionNum");
iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_ChannelSetting ADD COLUMN 'sectionNum' integer";
ExeSqlData(strSql);
}
strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_ChannelSetting").arg("EngineeringUnit2");
iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_ChannelSetting ADD COLUMN 'EngineeringUnit2' text";
ExeSqlData(strSql);
}
strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_ChannelSetting").arg("firstPoleNum");
iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_ChannelSetting ADD COLUMN 'firstPoleNum' text";
ExeSqlData(strSql);
}
strSql = QString("select count(*) from %1 where name = '%2' and sql LIKE '%%3%' ")\
.arg("sqlite_master").arg("t_TriggerConfig").arg("operate");
iRet = ExeSqlData(strSql);
if(iRet == 0){
strSql = "ALTER TABLE t_TriggerConfig ADD COLUMN 'operate' integer";
ExeSqlData(strSql);
}
CreateDataBase();
}
int SqliteDB::CreateDataBase()
{
QString strCreateSQL = QString("create table if not exists t_UnitConfiguration(WorkConditionID,ChannelID,BoardNo,ChannelNoInBoard,Input,Operate);");
ExeSqlData(strCreateSQL);
}
int SqliteDB::QueryData(QString& tablename, QString& column, QString& whereCon)
{
@ -507,6 +506,40 @@ SqliteDB::GetTriggerAlarmStatusInfo(QString tablename,QString whereCon)
return vecResult;
}
QVector<UnitConfiguration_t>
SqliteDB::GetUnitConfigurationInfo(QString tablename,QString whereCon)
{
QSqlQuery sql_query;
QVector<UnitConfiguration_t> vecResult;
UnitConfiguration_t tempUnitConfigurationInfo;
QString strSql;
if(whereCon == "")
strSql = QString("SELECT * FROM %1 ;").arg(tablename);
else
strSql = QString("SELECT * FROM %1 where %2;").arg(tablename).arg(whereCon);
sql_query.exec(strSql);
qDebug() << "strSql" <<strSql << endl;
if(!sql_query.exec())
{
qDebug() << "Error: Fail to query table. " << sql_query.lastError();
}
else
{
while(sql_query.next())
{
tempUnitConfigurationInfo.WorkConditionID = sql_query.value(0).toString();
tempUnitConfigurationInfo.ChannelID = sql_query.value(1).toString();
tempUnitConfigurationInfo.BoardNo = sql_query.value(2).toInt();
tempUnitConfigurationInfo.ChannelNoInBoard = sql_query.value(3).toInt();
tempUnitConfigurationInfo.Input = sql_query.value(4).toString();
tempUnitConfigurationInfo.Operate = sql_query.value(5).toInt();
vecResult.append(tempUnitConfigurationInfo);
}
}
return vecResult;
}
int SqliteDB::InsertData(QString& tablename,QString& sql)
{
@ -613,7 +646,7 @@ int SqliteDB::DeleteData(QString& tablename, QString condColumnName, QVariant co
return iRet;
}
int SqliteDB::DeleteDataW(QString& tablename, QString& whereCon)
int SqliteDB::DeleteDataW(QString& tablename, QString whereCon)
{
QSqlQuery sql_query;
int iRet = -1;

View File

@ -32,10 +32,12 @@ public:
QVector<TriggerConfig_t> GetTriggerConfig(QString tablename,QString whereCon = "");
QVector<TriggerEvent_t> GetTriggerEvent(QString tablename,QString whereCon = "");
QVector<TriggerAlarmStatusInfo_t> GetTriggerAlarmStatusInfo(QString tablename,QString whereCon = "");
QVector<UnitConfiguration_t> GetUnitConfigurationInfo(QString tablename,QString whereCon = "");
QString GetSingelLine(QString& tablename, QString& column, QString whereCon = "");
int DeleteData(QString& tablename, QString condColumnName = "", QVariant condColumnValue = "");
int DeleteDataW(QString& tablename, QString& whereCon);
int DeleteDataW(QString& tablename, QString whereCon = "");
int ExeSqlData(QString& strSql);
int initTable();
};
extern SqliteDB* g_SqliteDB;