ソースを参照

修复查询语句没有分组查询,导致统计界面数据无效的问题.

JeffWang 3 年 前
コミット
b7b06a8344

+ 1 - 1
Source/OGCAssistTool/OGCAssistTool/DataImpl.cpp

@@ -675,7 +675,7 @@ INT CDataImpl::StatisticalQuery(std::vector<TB_STATIS> &vtStatis, std::string st
 		strSql.append(" WHERE ");
 		strSql.append(strWhere);
 	}
-	strSql.append(";");
+	strSql.append(" GROUP BY DebugSN.OrderID;");
 	int sqlite_error = sqlite3_get_table(m_psqlite3, strSql.c_str(), &pazResult, &nRow, &nCol, &psqlite_error);
 	if ( sqlite_error != SQLITE_OK)
 	{

+ 4 - 2
Source/OGCAssistTool/OGCAssistTool/PageStatistics.cpp

@@ -63,12 +63,14 @@ BOOL CPageStatistics::OnInitDialog()
 		_T("SN数量,90"),
 		_T("成功数量,90"),
 		_T("成功率,90"),
-		_T("平均耗时,90"),
+		_T("平均耗时,120"),
 		_T("总耗时,90"),
 		_T("标准▲E值,90"),
 		NULL
 		);	
 
+	((CButton*)GetDlgItem(CHECK_TEST_TIME))->SetCheck(TRUE);
+
 	return TRUE;  // return TRUE unless you set the focus to a control
 	// 异常: OCX 属性页应返回 FALSE
 }
@@ -156,7 +158,7 @@ void CPageStatistics::OnBnClickedQuery()
 	if ( bCheckBatchNum )
 	{
 		CString strOrder;
-		GetDlgItemText(EDIT_BATCH_NUM, strOrder);
+		GetDlgItemText(COMBO_ORDER, strOrder);
 		if ( strWhere.size() )
 			strWhere.append(" and DebugSN.OrderID='");
 		else

+ 2 - 2
Source/OGCAssistTool/OGCAssistTool/TableInfo.h

@@ -78,8 +78,8 @@ PRIMARY KEY(SN));"
 case Mode when '0' then 'Online' else 'Offlien' end as 'Mode', \
 count(1) as 'TotalCount', \
 count(case TestResult when '1' then 'pass' end) as 'PassCount', \
-(count(case TestResult when '1' then 'pass' end)*1.0/count(1)) as 'PassRate', \
-avg(ElapsedTime) as 'AvgElapsed', \
+ROUND((count(case TestResult when '1' then 'pass' end)*100.0/count(1)),3) as 'PassRate', \
+ROUND(avg(ElapsedTime),3) as 'AvgElapsed', \
 sum(ElapsedTime) as 'TotalElapsed', \
 DebugOrders.DEValue \
 from DebugSN INNER JOIN DebugOrders ON DebugSN.OrderID = DebugOrders.OrderID"