Filter 연동시 Json 형식으로 변경

git-svn-id: svn://192.168.0.12/source@65 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2015-03-24 01:55:09 +00:00
parent 8e666eec57
commit efdeb4fd90
7 changed files with 136 additions and 41 deletions

View File

@@ -72,7 +72,7 @@ Widget::Widget(QWidget *parent)
setLayout(vMainLayout);
DataGroupRefresh();
FilterGroupRefresh();
AddTable("1");
AddTable("Start");
}
Widget::~Widget()
@@ -357,11 +357,13 @@ QGroupBox *Widget::setFilterWidgets()
connect(pbDelete, SIGNAL(released()),this, SLOT(FilterDelete()));
hMainlayout->addLayout(vlayout);
}
QGroupBox *groupBox = new QGroupBox(tr("Filter"));
groupBox->setLayout(hMainlayout);
m_pgbFilter = new QGroupBox(tr("Filter"));
m_pgbFilter->setCheckable(true);
m_pgbFilter->setChecked(false);
m_pgbFilter->setLayout(hMainlayout);
connect(m_plwFilterGroup,SIGNAL(currentItemChanged(QListWidgetItem *,QListWidgetItem *)),this,SLOT(currentGroupItemChanged(QListWidgetItem *, QListWidgetItem *)));
return groupBox;
return m_pgbFilter;
}
@@ -403,11 +405,16 @@ void Widget::SearchDate()
pNew->setArticleSelect(pCurrent->getArticleSelect());
pNew->SetHeaderList(&m_vecColumn,E_COLUMN_NAME);
m_pProgress->setRange(0,pCurrent->rowCount()-1);
int nCurrentFilterGroupID = D_NOT_SELECT;
foreach (QListWidgetItem *item,m_plwFilterGroup->selectedItems())
if (m_pgbFilter->isChecked())
{
nCurrentFilterGroupID = item->data(Qt::UserRole).toInt();
InsertTimeFilter(pNew->getArticleSelect(),m_pdeStart->date(),m_pdeEnd->date(),nCurrentFilterGroupID);
foreach (QListWidgetItem *item,m_plwFilterGroup->selectedItems())
{
nCurrentFilterGroupID = item->data(Qt::UserRole).toInt();
InsertTimeFilter(pNew->getArticleSelect(),m_pdeStart->date(),m_pdeEnd->date(),nCurrentFilterGroupID);
}
}
for (int nCount = 0 ; nCount < pCurrent->rowCount(); nCount++ )
@@ -427,7 +434,8 @@ void Widget::SearchDate()
m_pProgress->setValue(nCount);
m_pProgress->repaint();
}
m_ptwData->addTab(pNew,m_ptwData->tabText(m_ptwData->currentIndex())+" d");
//m_ptwData->addTab(pNew,m_ptwData->tabText(m_ptwData->currentIndex())+" d");
m_ptwData->addTab(pNew,STable::GetArticleType(pCurrent->getArticleSelect()));
m_ptwData->setCurrentIndex(m_ptwData->count()-1);
if (nCurrentFilterGroupID != D_NOT_SELECT)
RefreshFilter(nCurrentFilterGroupID);
@@ -440,17 +448,37 @@ void Widget::SearchKeyword()
pNew->setArticleSelect(pCurrent->getArticleSelect());
pNew->SetHeaderList(&m_vecColumn,E_COLUMN_NAME);
int nCurrentFilterGroupID = D_NOT_SELECT;
foreach (QListWidgetItem *item,m_plwFilterGroup->selectedItems())
QString strKey = m_pleString->text().replace("\r\n"," ");
strKey = strKey.replace("\n"," ");
strKey = strKey.replace("\t"," ");
QString strTemp;
foreach(QString str, strKey.split(" "))
{
nCurrentFilterGroupID = item->data(Qt::UserRole).toInt();
InsertSearchFilter(pNew->getArticleSelect(),m_pcbCatalog->currentIndex(),m_pcbMethod->currentIndex(),m_pcbKeyword->currentIndex(),m_pleString->text(),nCurrentFilterGroupID);
if (str.trimmed().isEmpty() == false)
strTemp += str.trimmed() + " ";
}
QStringList strListKeyword = m_pleString->text().split(" ");
strTemp = strTemp.trimmed();
m_pleString->setText(strTemp);
strKey = strTemp;
if (m_pgbFilter->isChecked())
{
foreach (QListWidgetItem *item,m_plwFilterGroup->selectedItems())
{
nCurrentFilterGroupID = item->data(Qt::UserRole).toInt();
InsertSearchFilter(pNew->getArticleSelect(),m_pcbCatalog->currentIndex(),m_pcbMethod->currentIndex(),m_pcbKeyword->currentIndex(),strKey,nCurrentFilterGroupID);
}
}
QStringList strListKeyword = strKey.split(" ");
if (m_pcbMethod->currentIndex() == 1)
{
for (int i = 0 ; i < strListKeyword.size(); i++ )
{
{
strListKeyword[i] = " " + strListKeyword[i] + " ";
}
}
@@ -498,7 +526,8 @@ void Widget::SearchKeyword()
m_pProgress->setValue(nCount);
m_pProgress->repaint();
}
m_ptwData->addTab(pNew,m_ptwData->tabText(m_ptwData->currentIndex())+" k");
//m_ptwData->addTab(pNew,m_ptwData->tabText(m_ptwData->currentIndex())+" k");
m_ptwData->addTab(pNew,STable::GetArticleType(pCurrent->getArticleSelect()));
m_ptwData->setCurrentIndex(m_ptwData->count()-1);
if (nCurrentFilterGroupID != D_NOT_SELECT)
@@ -518,10 +547,14 @@ void Widget::SearchLengthInsert()
int nLength = m_pleLength->text().toInt();
int nCurrentFilterGroupID = D_NOT_SELECT;
foreach (QListWidgetItem *item,m_plwFilterGroup->selectedItems())
if (m_pgbFilter->isChecked())
{
nCurrentFilterGroupID = item->data(Qt::UserRole).toInt();
InsertLengthFilter(pCurrent->getArticleSelect(),nCatalog,nComp,nFlag,m_pleLength->text(),nCurrentFilterGroupID);
foreach (QListWidgetItem *item,m_plwFilterGroup->selectedItems())
{
nCurrentFilterGroupID = item->data(Qt::UserRole).toInt();
InsertLengthFilter(pCurrent->getArticleSelect(),nCatalog,nComp,nFlag,m_pleLength->text(),nCurrentFilterGroupID);
}
}
for (int nCount = 0 ; nCount < pCurrent->rowCount(); nCount++ )
@@ -548,7 +581,8 @@ void Widget::SearchLengthInsert()
m_pProgress->setValue(nCount);
m_pProgress->repaint();
}
m_ptwData->addTab(pNew,m_ptwData->tabText(m_ptwData->currentIndex())+" c");
//m_ptwData->addTab(pNew,m_ptwData->tabText(m_ptwData->currentIndex())+" c");
m_ptwData->addTab(pNew,STable::GetArticleType(pCurrent->getArticleSelect()));
m_ptwData->setCurrentIndex(m_ptwData->count()-1);
if (nCurrentFilterGroupID != D_NOT_SELECT)
RefreshFilter(nCurrentFilterGroupID);
@@ -571,15 +605,18 @@ void Widget::SearchReplaceInsert()
strListKeyword = m_pleReplaceFind->text().split(" ");
}
int nCurrentFilterGroupID = D_NOT_SELECT;
foreach (QListWidgetItem *item,m_plwFilterGroup->selectedItems())
{
nCurrentFilterGroupID = item->data(Qt::UserRole).toInt();
InsertReplaceFilter(pNew->getArticleSelect(),nCatalog,
m_pcbReplaceFind->currentData().toInt(),
m_pleReplaceFind->text(),m_pleReplace->text(),
nCurrentFilterGroupID);
}
if (m_pgbFilter->isChecked())
{
foreach (QListWidgetItem *item,m_plwFilterGroup->selectedItems())
{
nCurrentFilterGroupID = item->data(Qt::UserRole).toInt();
InsertReplaceFilter(pNew->getArticleSelect(),nCatalog,
m_pcbReplaceFind->currentData().toInt(),
m_pleReplaceFind->text(),m_pleReplace->text(),
nCurrentFilterGroupID);
}
}
pNew->setRowCount(pCurrent->rowCount());
for (int nCount = 0 ; nCount < pCurrent->rowCount(); nCount++ )
{
@@ -604,7 +641,8 @@ void Widget::SearchReplaceInsert()
m_pProgress->setValue(nCount);
m_pProgress->repaint();
}
m_ptwData->addTab(pNew,m_ptwData->tabText(m_ptwData->currentIndex())+" r");
//m_ptwData->addTab(pNew,m_ptwData->tabText(m_ptwData->currentIndex())+" r");
m_ptwData->addTab(pNew,STable::GetArticleType(pCurrent->getArticleSelect()));
m_ptwData->setCurrentIndex(m_ptwData->count()-1);
if (nCurrentFilterGroupID != D_NOT_SELECT)
@@ -626,7 +664,7 @@ void Widget::DataGroupItemChanged( QListWidgetItem *item)
}
void Widget::DataReload(QString _strTableName,int _nSelect)
{
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("bigbird.iptime.org");
db.setUserName("admin");
@@ -669,7 +707,7 @@ void Widget::DataReload(QString _strTableName,int _nSelect)
m_pProgress->setValue(nCount);
m_pProgress->repaint();
}
db.close();
db.close();
}
void Widget::FilterGroupInsert()
@@ -825,7 +863,6 @@ void Widget::InsertReplaceFilter(int _nArticle,int _nCategory,int _nFind,QString
InsertFilter(E_FILTER_TYPE_REPLACE,json.Sql(strJson),_nGroup);
}
void Widget::RefreshFilter(int _nGroup)
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
@@ -846,30 +883,31 @@ void Widget::RefreshFilter(int _nGroup)
{
QString str;
QString strJson = query.value(2).toString();
str = STable::GetArticleType(json.Get(strJson,"Article").toInt());
switch(query.value(1).toInt())
{
case E_FILTER_TYPE_DATE:
str = "<Date> Start : ";
str += "<Date> Start : ";
str += json.Get(strJson,"Start");
str += " End : ";
str += json.Get(strJson,"End");
break;
case E_FILTER_TYPE_SEARCH:
str = "<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.Get(strJson,"String");
break;
case E_FILTER_TYPE_LENGTH:
str = "<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 += "<Replace> ";
str += m_pcbReplaceCatalog->itemText(json.GetNumber(strJson,"Category")) + " , ";
str += m_pcbReplaceFind->itemText(json.GetNumber(strJson,"Find")) + " ";
str += json.Get(strJson,"String_Find") + " --> ";
@@ -1052,7 +1090,7 @@ void Widget::FileImport()
}
pNew->setRowCount(pNew->rowCount()-1);
file.close();
m_ptwData->addTab(pNew," i");
m_ptwData->addTab(pNew,"import");
m_ptwData->setCurrentIndex(m_ptwData->count()-1);
}