Files
clients/Analyzer/sfilterobject.cpp
admin e0f305bcb6 일괄처리 추가
platform_name = 'post', 'story', 'channel'일 경우 sns으로 변경


git-svn-id: svn://192.168.0.12/source@244 8346c931-da38-4b9b-9d4c-e48b93cbd075
2016-01-28 07:13:47 +00:00

610 lines
24 KiB
C++

#include "sfilterobject.h"
#include "mainwindow.h"
#include "../Json/sjson.h"
#include "../common.h"
#include <QLayout>
#include <QCalendarWidget>
#include <QLabel>
#include <QPushButton>
#include <QGroupBox>
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 += "<Date> Start : ";
str += json.Get(_strJson,"Start");
str += " End : ";
str += json.Get(_strJson,"End");
break;
case E_FILTER_TYPE_SEARCH:
str += "<Search> ";
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 += "<Length> ";
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 += "<Replace> ";
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 += "<Counter> ";
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(" "))
{
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; i<m_tab.count(); i++)
{
if (i!=_nExcept)
m_tab.setTabEnabled(i, false);
}
}
void SFilterObject::unlockTabs()
{
for (int i=0; i<m_tab.count(); i++)
m_tab.setTabEnabled(i, true);
}
void SFilterObject::DataBaseFilter(int _nType,QString _strJson,int _nGroup,int _nCommand,int _nFilterID)
{
QString sql;
if (_nGroup == D_NOT_SELECT) 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);
}