#include "sfilterobject.h" #include "mainwindow.h" #include "../Json/sjson.h" #include "../common.h" #include #include #include #include #include SFilterObject::SFilterObject() { setWindowTitle("Object"); setWidgets(); } SFilterObject::~SFilterObject() { } void SFilterObject::setWidgets() { m_tab.setParent(this); m_tab.addTab(setDateWidgets(),"Date"); m_tab.addTab(setSearchWidgets(),"Search"); m_tab.addTab(setLengthWidgets(),"Length"); m_tab.addTab(setReplaceWidgets(),"Replace"); m_tab.addTab(setCounterWidgets(),"Counter"); } QWidget *SFilterObject::setDateWidgets() { m_pdeStart = new QDateEdit(QDate::currentDate()); m_pdeEnd = new QDateEdit(QDate::currentDate()); m_pdeStart->setDateRange(QDate(2003, 5, 20),QDate::currentDate()); m_pdeEnd->setDateRange(QDate(2003, 5, 20),QDate::currentDate().addYears(1)); QCalendarWidget *pcw = new QCalendarWidget(); m_pdeStart->setCalendarWidget(pcw); m_pdeStart->setCalendarPopup(true); m_pdeEnd->setCalendarWidget(pcw); m_pdeEnd->setCalendarPopup(true); QHBoxLayout *hlayout = new QHBoxLayout(); hlayout->addWidget(new QLabel("Start:")); hlayout->addWidget(m_pdeStart); hlayout->addWidget(new QLabel("End:")); hlayout->addWidget(m_pdeEnd); { QPushButton *pbInsert = new QPushButton("Insert"); connect(pbInsert , SIGNAL(released()),this, SLOT(SearchDate())); QPushButton *pbModify = new QPushButton("Modify"); connect(pbModify , SIGNAL(released()),this, SLOT(SearchDateUpdate())); hlayout->addWidget(pbInsert); hlayout->addWidget(pbModify); } hlayout->setAlignment(Qt::AlignLeft|Qt::AlignTop); QWidget *pWidget = new QWidget; pWidget->setLayout(hlayout); return pWidget; } QWidget *SFilterObject::setSearchWidgets() { m_pcbCatalog = new QComboBox; m_pcbKeyword = new QComboBox; m_pcbMethod = new QComboBox; m_pleString = new QLineEdit; m_pchbLast = new QCheckBox; m_pcbKeyword->addItem(QString("Or"));// or m_pcbKeyword->addItem(QString("And"));// and m_pcbKeyword->addItem(QString("Cell Delete Or")); m_pcbKeyword->addItem(QString("Cell Delete And")); //m_pcbKeyword->addItem(QString("Word Delete")); m_pcbMethod->addItem(QString("Sentence")); m_pcbMethod->addItem(QString("Space")); m_pchbLast->setText("Last"); foreach(QStringList strList,GetColumn().data()) m_pcbCatalog->addItem(strList.at(SColumn::E_NAME)); QVBoxLayout *vlayout = new QVBoxLayout(); { QHBoxLayout *hlayout = new QHBoxLayout(); hlayout->addWidget(new QLabel("Item:")); hlayout->addWidget(m_pcbCatalog); hlayout->addWidget(new QLabel("Method:")); hlayout->addWidget(m_pcbMethod); hlayout->addWidget(new QLabel("keyword:")); hlayout->addWidget(m_pcbKeyword); hlayout->addWidget(m_pchbLast); vlayout->addLayout(hlayout); } { QHBoxLayout *hlayout = new QHBoxLayout(); hlayout->addWidget(new QLabel("Search:")); hlayout->addWidget(m_pleString); vlayout->addLayout(hlayout); } QHBoxLayout *hlayout = new QHBoxLayout(); hlayout->addLayout(vlayout); { QVBoxLayout *vsublayout = new QVBoxLayout(); QPushButton *pbInsert = new QPushButton("Insert"); vsublayout->addWidget(pbInsert); connect(pbInsert, SIGNAL(released()),this, SLOT(SearchKeyword())); QPushButton *pbModify = new QPushButton("Modify"); connect(pbModify , SIGNAL(released()),this, SLOT(SearchKeywordUpdate())); vsublayout->addWidget(pbModify); hlayout->addLayout(vsublayout); } QWidget *pWidget = new QWidget; pWidget->setLayout(hlayout); return pWidget; } QWidget *SFilterObject::setLengthWidgets() { QHBoxLayout *hlayout = new QHBoxLayout(); m_pcbLengthCatalog = new QComboBox; m_pcbLengthComp = new QComboBox; m_pcbLengthInsDel = new QComboBox; m_pleLength = new QLineEdit; foreach(QStringList strList,GetColumn().data()) m_pcbLengthCatalog->addItem(strList.at(SColumn::E_NAME)); m_pcbLengthComp->addItem(">",QVariant(E_LENGTH_COMP_GREATER)); m_pcbLengthComp->addItem("<",QVariant(E_LENGTH_COMP_LESS)); m_pcbLengthComp->addItem("=",QVariant(E_LENGTH_COMP_EQUAL)); m_pcbLengthInsDel->addItem("Add",QVariant(0)); m_pcbLengthInsDel->addItem("Del",QVariant(1)); hlayout->addWidget(new QLabel("Item:")); hlayout->addWidget(m_pcbLengthCatalog); hlayout->addWidget(m_pcbLengthComp); hlayout->addWidget(new QLabel("Length:")); hlayout->addWidget(m_pleLength); hlayout->addWidget(m_pcbLengthInsDel); { QVBoxLayout *vsublayout = new QVBoxLayout(); QPushButton *pbInsert = new QPushButton("Insert"); connect(pbInsert , SIGNAL(released()),this, SLOT(SearchLength())); QPushButton *pbModify = new QPushButton("Modify"); connect(pbModify , SIGNAL(released()),this, SLOT(SearchLengthUpdate())); vsublayout->addWidget(pbInsert); vsublayout->addWidget(pbModify); hlayout->addLayout(vsublayout); } QWidget *pWidget = new QWidget; pWidget->setLayout(hlayout); return pWidget; } QWidget *SFilterObject::setCounterWidgets() { QHBoxLayout *hlayout = new QHBoxLayout(); m_pcbCounterCatalog = new QComboBox; m_pcbCounterComp = new QComboBox; m_pcbCounterInsDel = new QComboBox; m_pcbCounterCntApl = new QComboBox; m_pleCounter = new QLineEdit; foreach(QStringList strList,GetColumn().data()) m_pcbCounterCatalog->addItem(strList.at(SColumn::E_NAME)); m_pcbCounterComp->addItem(">",QVariant(E_LENGTH_COMP_GREATER)); m_pcbCounterComp->addItem("<",QVariant(E_LENGTH_COMP_LESS)); m_pcbCounterComp->addItem("=",QVariant(E_LENGTH_COMP_EQUAL)); m_pcbCounterInsDel->addItem("Add",QVariant(0)); m_pcbCounterInsDel->addItem("Del",QVariant(1)); m_pcbCounterCntApl->addItem("Count",QVariant(0)); m_pcbCounterCntApl->addItem("Apply",QVariant(1)); hlayout->addWidget(new QLabel("Item:")); hlayout->addWidget(m_pcbCounterCatalog); hlayout->addWidget(m_pcbCounterComp); //hlayout->addWidget(m_pcbCounterCntApl); hlayout->addWidget(new QLabel("Count:")); hlayout->addWidget(m_pleCounter); hlayout->addWidget(m_pcbCounterInsDel); { QVBoxLayout *vsublayout = new QVBoxLayout(); QPushButton *pbInsert = new QPushButton("Insert"); connect(pbInsert , SIGNAL(released()),this, SLOT(SearchCounter())); QPushButton *pbModify = new QPushButton("Modify"); connect(pbModify , SIGNAL(released()),this, SLOT(SearchCounterUpdate())); vsublayout->addWidget(pbInsert); vsublayout->addWidget(pbModify); hlayout->addLayout(vsublayout); } QWidget *pWidget = new QWidget; pWidget->setLayout(hlayout); return pWidget; } QWidget *SFilterObject::setReplaceWidgets() { QHBoxLayout *hlayout = new QHBoxLayout(); m_pcbReplaceCatalog = new QComboBox; m_pcbReplaceFind = new QComboBox; m_pcbReplace = new QComboBox; m_pleReplaceFind = new QLineEdit; m_pleReplace = new QLineEdit; foreach(QStringList strList,GetColumn().data()) m_pcbReplaceCatalog->addItem(strList.at(SColumn::E_NAME)); m_pcbReplaceFind->addItem("Sentence",QVariant(E_REPLACE_SENTENCE)); m_pcbReplaceFind->addItem("Space",QVariant(E_REPLACE_SPACE)); m_pcbReplace->addItem("0",QVariant(0)); m_pcbReplace->addItem("1",QVariant(1)); m_pcbReplace->addItem("2",QVariant(2)); hlayout->addWidget(m_pcbReplaceCatalog); hlayout->addWidget(new QLabel("Find:")); hlayout->addWidget(m_pcbReplaceFind); hlayout->addWidget(m_pleReplaceFind); hlayout->addWidget(new QLabel("Replace:")); hlayout->addWidget(m_pcbReplace); hlayout->addWidget(m_pleReplace); { QVBoxLayout *vlayout = new QVBoxLayout(); QPushButton *pbInsert = new QPushButton("Insert"); connect(pbInsert , SIGNAL(released()),this, SLOT(SearchReplace())); vlayout->addWidget(pbInsert); QPushButton *pbModify = new QPushButton("Modify"); connect(pbModify , SIGNAL(released()),this, SLOT(SearchReplaceUpdate())); vlayout->addWidget(pbModify); hlayout->addLayout(vlayout); } QWidget *pWidget = new QWidget; pWidget->setLayout(hlayout); return pWidget; } QString SFilterObject::JsonToString(int _nSelect,QString _strJson) { SJson json; QString str = STable::GetArticleType(json.Get(_strJson,"Article").toInt()); switch(_nSelect) { case E_FILTER_TYPE_DATE: str += " Start : "; str += json.Get(_strJson,"Start"); str += " End : "; str += json.Get(_strJson,"End"); break; case E_FILTER_TYPE_SEARCH: str += " "; str += m_pcbCatalog->itemText(json.GetNumber(_strJson,"Category")) + " , "; str += m_pcbMethod->itemText(json.GetNumber(_strJson,"Method")) + " , "; str += m_pcbKeyword->itemText(json.GetNumber(_strJson,"Keyword")) + " , "; str += (json.GetBool(_strJson,"Last")) ? "Last : o , " : "Last : x , "; str += json.Get(_strJson,"String"); break; case E_FILTER_TYPE_LENGTH: str += " "; str += m_pcbLengthCatalog->itemText(json.GetNumber(_strJson,"Category")) + " "; str += m_pcbLengthComp->itemText(json.GetNumber(_strJson,"Comp")) + " "; str += json.Get(_strJson,"String") + " , "; str += m_pcbLengthInsDel->itemText(json.GetNumber(_strJson,"InsDel")); break; case E_FILTER_TYPE_REPLACE: str += " "; str += m_pcbReplaceCatalog->itemText(json.GetNumber(_strJson,"Category")) + " , "; str += m_pcbReplaceFind->itemText(json.GetNumber(_strJson,"Find")) + " "; str += json.Get(_strJson,"String_Find") + " --> "; str += json.Get(_strJson,"String_Replace"); break; case E_FILTER_TYPE_COUNTER: str += " "; str += m_pcbCounterCatalog->itemText(json.GetNumber(_strJson,"Category")) + " "; str += m_pcbCounterComp->itemText(json.GetNumber(_strJson,"Comp")) + " "; str += json.Get(_strJson,"String") + " , "; str += m_pcbCounterInsDel->itemText(json.GetNumber(_strJson,"InsDel")); break; } return str; } void SFilterObject::JsonToWidget(int _nSelect,QString _strJson) { if (m_tab.isTabEnabled(_nSelect)) m_tab.setCurrentIndex(_nSelect); SJson json; switch(_nSelect) { case E_FILTER_TYPE_DATE: m_pdeStart->setDate(QDate::fromString(json.Get(_strJson,"Start"),"yyyy-MM-dd")); m_pdeEnd->setDate(QDate::fromString(json.Get(_strJson,"End"),"yyyy-MM-dd")); break; case E_FILTER_TYPE_SEARCH: m_pcbCatalog->setCurrentIndex(json.GetNumber(_strJson,"Category")); m_pcbMethod->setCurrentIndex(json.GetNumber(_strJson,"Method")); m_pcbKeyword->setCurrentIndex(json.GetNumber(_strJson,"Keyword")); m_pleString->setText(json.Get(_strJson,"String")); m_pchbLast->setChecked(json.GetBool(_strJson,"Last")); break; case E_FILTER_TYPE_LENGTH: m_pcbLengthCatalog->setCurrentIndex(json.GetNumber(_strJson,"Category")); m_pcbLengthComp->setCurrentIndex(json.GetNumber(_strJson,"Comp")); m_pcbLengthInsDel->setCurrentIndex(json.GetNumber(_strJson,"InsDel")); m_pleLength->setText(json.Get(_strJson,"String")); break; case E_FILTER_TYPE_REPLACE: m_pcbReplaceCatalog->setCurrentIndex(json.GetNumber(_strJson,"Category")); m_pcbReplaceFind->setCurrentIndex(json.GetNumber(_strJson,"Find")); m_pleReplaceFind->setText(json.Get(_strJson,"String_Find")); m_pleReplace->setText(json.Get(_strJson,"String_Replace")); break; case E_FILTER_TYPE_COUNTER: m_pcbCounterCatalog->setCurrentIndex(json.GetNumber(_strJson,"Category")); m_pcbCounterComp->setCurrentIndex(json.GetNumber(_strJson,"Comp")); m_pcbCounterInsDel->setCurrentIndex(json.GetNumber(_strJson,"InsDel")); m_pleCounter->setText(json.Get(_strJson,"String")); break; } } void SFilterObject::SearchDate() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); DataBaseTimeFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(),m_pdeStart->date(),m_pdeEnd->date(),nSelect,E_DATABASE_COMMAND_INSERT); GetMainWindow()->m_pDataDlg->SearchDate(m_pdeStart->date(),m_pdeEnd->date()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchCounter() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); DataBaseCounterFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pcbCounterCatalog->currentIndex(), m_pcbCounterComp->currentIndex(), m_pcbCounterInsDel->currentIndex(), m_pleCounter->text(), nSelect, E_DATABASE_COMMAND_INSERT); GetMainWindow()->m_pDataDlg->SearchCounter(m_pcbCounterCatalog->currentIndex(), m_pcbCounterComp->currentIndex(), m_pcbCounterInsDel->currentIndex(), m_pleCounter->text().toInt()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchLength() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); DataBaseLengthFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pcbLengthCatalog->currentIndex(), m_pcbLengthComp->currentIndex(), m_pcbLengthInsDel->currentIndex(),m_pleLength->text(), nSelect,E_DATABASE_COMMAND_INSERT); GetMainWindow()->m_pDataDlg->SearchLength(m_pcbLengthCatalog->currentIndex(), m_pcbLengthComp->currentIndex(), m_pcbLengthInsDel->currentIndex(), m_pleLength->text().toInt()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchReplace() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); DataBaseReplaceFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pcbReplaceCatalog->currentIndex(), m_pcbReplaceFind->currentData().toInt(), m_pleReplaceFind->text(), m_pleReplace->text(), nSelect,E_DATABASE_COMMAND_INSERT); GetMainWindow()->m_pDataDlg->SearchReplace(m_pcbReplaceCatalog->currentIndex(), m_pcbReplaceFind->currentIndex(), m_pcbReplace->currentIndex(), m_pleReplaceFind->text(), m_pleReplace->text()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchKeyword() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); { SKeyword stKeyword; stKeyword.m_nCatalog = m_pcbCatalog->currentIndex(); stKeyword.m_nKeyword = m_pcbKeyword->currentIndex(); QString strKey = m_pleString->text().replace("\r\n"," "); strKey = strKey.replace("\n"," "); strKey = strKey.replace("\t"," "); QString strTemp; foreach(QString str, strKey.split(" ", QString::SkipEmptyParts)) { if (str.trimmed().isEmpty() == false) strTemp += str.trimmed() + " "; } strTemp = strTemp.trimmed(); m_pleString->setText(strTemp); strKey = strTemp; DataBaseSearchFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pcbCatalog->currentIndex(), m_pcbMethod->currentIndex(), m_pcbKeyword->currentIndex(), m_pchbLast->isChecked(), strKey, nSelect,E_DATABASE_COMMAND_INSERT); stKeyword.m_strListKeyword = strKey.split(" "); if (m_pcbMethod->currentIndex() == E_SEARCH_METHOD_SPACE) { for (int i = 0 ; i < stKeyword.m_strListKeyword.size(); i++ ) { stKeyword.m_strListKeyword[i] = " " + stKeyword.m_strListKeyword[i] + " "; } } m_vecKeyword.push_back(stKeyword); if (m_pchbLast->isChecked()) { GetMainWindow()->m_pDataDlg->SearchKeyword(m_vecKeyword); m_vecKeyword.clear(); unlockTabs(); } else lockTabs(1); } GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchDateUpdate() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); DataBaseTimeFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pdeStart->date(),m_pdeEnd->date(), nSelect,E_DATABASE_COMMAND_UPDATE, GetMainWindow()->m_pFilterDlg->GetSelectFilterID()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchCounterUpdate() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); DataBaseCounterFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pcbCounterCatalog->currentIndex(), m_pcbCounterComp->currentIndex(), m_pcbCounterInsDel->currentIndex(), m_pleCounter->text(), nSelect, E_DATABASE_COMMAND_UPDATE, GetMainWindow()->m_pFilterDlg->GetSelectFilterID()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchLengthUpdate() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); DataBaseLengthFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pcbLengthCatalog->currentIndex(), m_pcbLengthComp->currentIndex(), m_pcbLengthInsDel->currentIndex(), m_pleLength->text(), nSelect,E_DATABASE_COMMAND_UPDATE, GetMainWindow()->m_pFilterDlg->GetSelectFilterID()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchReplaceUpdate() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); DataBaseReplaceFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pcbReplaceCatalog->currentIndex(), m_pcbReplaceFind->currentData().toInt(), m_pleReplaceFind->text(), m_pleReplace->text(), nSelect,E_DATABASE_COMMAND_UPDATE, GetMainWindow()->m_pFilterDlg->GetSelectFilterID()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::SearchKeywordUpdate() { int nSelect = GetMainWindow()->m_pFilterDlg->GetSelectGroupID(); QString strKey = m_pleString->text().replace("\r\n"," ").replace("\n"," ").replace("\t"," "); DataBaseSearchFilter(GetMainWindow()->m_pDataDlg->GetCurrentArticle(), m_pcbCatalog->currentIndex(), m_pcbMethod->currentIndex(), m_pcbKeyword->currentIndex(), m_pchbLast->isChecked(),strKey, nSelect,E_DATABASE_COMMAND_UPDATE,GetMainWindow()->m_pFilterDlg->GetSelectFilterID()); GetMainWindow()->m_pFilterDlg->RefreshFilter(nSelect); } void SFilterObject::lockTabs(int _nExcept) { for (int i=0; im_pFilterDlg->GetSelectGroupID(); qDebug() << nSelect; if (nSelect == D_NOT_SELECT) return true; QString strQuery = "select locked from filtergroup where id = " + QString::number(nSelect); if(!query.exec(strQuery)) return false; query.next(); if (query.value(0).toInt() == 0) return false; else return true; } void SFilterObject::DataBaseFilter(int _nType,QString _strJson,int _nGroup,int _nCommand,int _nFilterID) { QString sql; if (_nGroup == D_NOT_SELECT) return; if (isLock()) return; switch(_nCommand) { case E_DATABASE_COMMAND_INSERT: sql = "INSERT INTO filter SET "; break; case E_DATABASE_COMMAND_UPDATE: sql = "UPDATE filter SET "; break; } sql += QString("type=") + QString::number(_nType) + ","; sql += QString("data='") + _strJson + "',"; sql += QString("filtergroup_id=" ) + QString::number(_nGroup); if (_nCommand == E_DATABASE_COMMAND_UPDATE) { if (_nFilterID == D_NOT_SELECT) return; sql += QString(" where id=") + QString::number(_nFilterID); } QSqlQuery query; if(query.exec(sql.toUtf8()) == false) { qDebug() << query.lastError().text();} } void SFilterObject::DataBaseTimeFilter(int _nArticle ,QDate _dateStart ,QDate _dateEnd ,int _nGroup,int _nCommand,int _nFilterID ) { QString strJson; SJson json; strJson = json.Set(strJson,"Article",QString::number(_nArticle)); strJson = json.Set(strJson,"Start",_dateStart.toString("yyyy-MM-dd")); strJson = json.Set(strJson,"End",_dateEnd.toString("yyyy-MM-dd")); DataBaseFilter(E_FILTER_TYPE_DATE,json.Sql(strJson),_nGroup,_nCommand,_nFilterID); } void SFilterObject::DataBaseSearchFilter(int _nArticle,int _nCategory,int _nMethod,int _nKeyword ,bool _bLast, QString _str,int _nGroup,int _nCommand,int _nFilterID) { QString strJson; SJson json; strJson = json.Set(strJson,"Article",QString::number(_nArticle)); strJson = json.Set(strJson,"Category",_nCategory); strJson = json.Set(strJson,"Method",_nMethod); strJson = json.Set(strJson,"Keyword",_nKeyword); strJson = json.Set(strJson,"Last",_bLast); strJson = json.Set(strJson,"String",_str); DataBaseFilter(E_FILTER_TYPE_SEARCH,json.Sql(strJson),_nGroup,_nCommand,_nFilterID); } void SFilterObject::DataBaseLengthFilter(int _nArticle,int _nCategory,int _nComp,int _nInsDel,QString _str,int _nGroup,int _nCommand,int _nFilterID) { QString strJson; SJson json; strJson = json.Set(strJson,"Article",QString::number(_nArticle)); strJson = json.Set(strJson,"Category",_nCategory); strJson = json.Set(strJson,"Comp",_nComp); strJson = json.Set(strJson,"InsDel",_nInsDel); strJson = json.Set(strJson,"String",_str); DataBaseFilter(E_FILTER_TYPE_LENGTH,json.Sql(strJson),_nGroup,_nCommand,_nFilterID); } void SFilterObject::DataBaseCounterFilter(int _nArticle,int _nCategory,int _nComp,int _nInsDel,QString _str,int _nGroup,int _nCommand,int _nFilterID) { QString strJson; SJson json; strJson = json.Set(strJson,"Article",QString::number(_nArticle)); strJson = json.Set(strJson,"Category",_nCategory); strJson = json.Set(strJson,"Comp",_nComp); strJson = json.Set(strJson,"InsDel",_nInsDel); strJson = json.Set(strJson,"String",_str); DataBaseFilter(E_FILTER_TYPE_COUNTER,json.Sql(strJson),_nGroup,_nCommand,_nFilterID); } void SFilterObject::DataBaseReplaceFilter(int _nArticle,int _nCategory,int _nFind,QString _strFind,QString _strReplace,int _nGroup,int _nCommand,int _nFilterID) { QString strJson; SJson json; strJson = json.Set(strJson,"Article",QString::number(_nArticle)); strJson = json.Set(strJson,"Category",_nCategory); strJson = json.Set(strJson,"Find",_nFind); strJson = json.Set(strJson,"String_Find",_strFind); strJson = json.Set(strJson,"String_Replace",_strReplace); DataBaseFilter(E_FILTER_TYPE_REPLACE,json.Sql(strJson),_nGroup,_nCommand,_nFilterID); }