修改属性信息获取逻辑
This commit is contained in:
parent
2dd33f2280
commit
66a506c29b
|
|
@ -385,16 +385,37 @@ void AttributeTableModel::loadPageData()
|
||||||
QString strSQL = "";
|
QString strSQL = "";
|
||||||
bool isPublicGroup = SqlQueryExecutor::instance().isPublicAttributeGroup(m_connection, m_modelAttributeGroup.groupID);
|
bool isPublicGroup = SqlQueryExecutor::instance().isPublicAttributeGroup(m_connection, m_modelAttributeGroup.groupID);
|
||||||
if(isPublicGroup)
|
if(isPublicGroup)
|
||||||
strSQL = QString("SELECT attribute_id FROM basic.model_attribute_public WHERE attribute_group_id = %1 ORDER BY id ASC LIMIT %2 OFFSET %3")
|
/*strSQL = QString("SELECT attribute_id FROM basic.model_attribute_public WHERE attribute_group_id = %1 ORDER BY id ASC LIMIT %2 OFFSET %3")
|
||||||
.arg(m_modelAttributeGroup.groupID)
|
.arg(m_modelAttributeGroup.groupID)
|
||||||
.arg(m_paginationInfo.entriesPerPage)
|
.arg(m_paginationInfo.entriesPerPage)
|
||||||
|
.arg((m_paginationInfo.currentPage - 1) * m_paginationInfo.entriesPerPage);*/
|
||||||
|
strSQL = QString("SELECT attribute_id FROM basic.model_attribute_public AS map "
|
||||||
|
"INNER JOIN basic.attribute AS a ON map.attribute_id = a.id "
|
||||||
|
"WHERE attribute_group_id = %1 "
|
||||||
|
"AND a.attribute LIKE '%%2%' "
|
||||||
|
"ORDER BY map.id ASC LIMIT %3 OFFSET %4")
|
||||||
|
.arg(m_modelAttributeGroup.groupID)
|
||||||
|
.arg(m_filterChars_attributeType)
|
||||||
|
.arg(m_paginationInfo.entriesPerPage)
|
||||||
.arg((m_paginationInfo.currentPage - 1) * m_paginationInfo.entriesPerPage);
|
.arg((m_paginationInfo.currentPage - 1) * m_paginationInfo.entriesPerPage);
|
||||||
//利用短路机制,当attribute_group_id!=-1时,括号整体为false,需要进行内部条件判断,=-1时,整体为true,忽略整体,也就忽略了attribute_group_id的条件判断
|
//利用短路机制,当attribute_group_id!=-1时,括号整体为false,需要进行内部条件判断,=-1时,整体为true,忽略整体,也就忽略了attribute_group_id的条件判断
|
||||||
else strSQL = QString("SELECT attribute_id FROM basic.model_attribute WHERE model_type_id = %1 AND (attribute_group_id = %2 OR %2 = -1) ORDER BY id ASC LIMIT %3 OFFSET %4")
|
else
|
||||||
|
/*strSQL = QString("SELECT attribute_id FROM basic.model_attribute WHERE model_type_id = %1 AND (attribute_group_id = %2 OR %2 = -1) ORDER BY id ASC LIMIT %3 OFFSET %4")
|
||||||
.arg(m_modelAttributeGroup.modelID)
|
.arg(m_modelAttributeGroup.modelID)
|
||||||
.arg(m_modelAttributeGroup.groupID)
|
.arg(m_modelAttributeGroup.groupID)
|
||||||
.arg(m_paginationInfo.entriesPerPage)
|
.arg(m_paginationInfo.entriesPerPage)
|
||||||
.arg((m_paginationInfo.currentPage - 1) * m_paginationInfo.entriesPerPage);
|
.arg((m_paginationInfo.currentPage - 1) * m_paginationInfo.entriesPerPage);*/
|
||||||
|
strSQL = QString("SELECT attribute_id FROM basic.model_attribute AS map "
|
||||||
|
"INNER JOIN basic.attribute AS a ON map.attribute_id = a.id "
|
||||||
|
"WHERE model_type_id = %1 "
|
||||||
|
"AND (attribute_group_id = %2 OR %2 = -1) "
|
||||||
|
"AND a.attribute LIKE '%%3%' "
|
||||||
|
"ORDER BY map.id ASC LIMIT %4 OFFSET %5")
|
||||||
|
.arg(m_modelAttributeGroup.modelID)
|
||||||
|
.arg(m_modelAttributeGroup.groupID)
|
||||||
|
.arg(m_filterChars_attributeType)
|
||||||
|
.arg(m_paginationInfo.entriesPerPage)
|
||||||
|
.arg((m_paginationInfo.currentPage - 1) * m_paginationInfo.entriesPerPage);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
QSqlQuery query = SqlQueryExecutor::instance().executeSQL(m_connection, strSQL);
|
QSqlQuery query = SqlQueryExecutor::instance().executeSQL(m_connection, strSQL);
|
||||||
|
|
@ -404,8 +425,8 @@ void AttributeTableModel::loadPageData()
|
||||||
attribute.id = query.value(0).toInt();
|
attribute.id = query.value(0).toInt();
|
||||||
if(SqlQueryExecutor::instance().getAttributeInfo(m_connection, columns.join(", "), attribute))
|
if(SqlQueryExecutor::instance().getAttributeInfo(m_connection, columns.join(", "), attribute))
|
||||||
{
|
{
|
||||||
if(!m_filterChars_attributeType.isEmpty() && !attribute.type.contains(m_filterChars_attributeType))
|
// if(!m_filterChars_attributeType.isEmpty() && !attribute.type.contains(m_filterChars_attributeType))
|
||||||
continue;
|
// continue;
|
||||||
|
|
||||||
RowData data;
|
RowData data;
|
||||||
data.values.append(attribute.type);
|
data.values.append(attribute.type);
|
||||||
|
|
@ -504,7 +525,7 @@ void AttributeTableModel::updateTotalCount()
|
||||||
if(m_modelAttributeGroup.modelID == -1)
|
if(m_modelAttributeGroup.modelID == -1)
|
||||||
m_paginationInfo.totalEntries = SqlQueryExecutor::instance().getAllAttributeCount(m_connection, m_filterChars_attributeType);
|
m_paginationInfo.totalEntries = SqlQueryExecutor::instance().getAllAttributeCount(m_connection, m_filterChars_attributeType);
|
||||||
else
|
else
|
||||||
m_paginationInfo.totalEntries = SqlQueryExecutor::instance().getAttributeCount(m_connection, m_modelAttributeGroup.modelID, m_modelAttributeGroup.groupID);
|
m_paginationInfo.totalEntries = SqlQueryExecutor::instance().getAttributeCount(m_connection, m_modelAttributeGroup.modelID, m_modelAttributeGroup.groupID, m_filterChars_attributeType);
|
||||||
|
|
||||||
m_paginationInfo.totalPages = totalPages();
|
m_paginationInfo.totalPages = totalPages();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue