Pārlūkot izejas kodu

日志:完成列表数据输出。

JeffWang 3 gadi atpakaļ
vecāks
revīzija
380d8388b5

+ 119 - 35
Source/OGCAssistTool/OGCAssistTool/DataImpl.cpp

@@ -277,6 +277,7 @@ INT CDataImpl::QueryOrder(std::string strOrder, TB_ORDER &order)
 		order.strOrder = pazResult[nCol+0];
 		order.strDeltaEType = pazResult[nCol+1];
 		order.strDeltaEValue = pazResult[nCol+2];
+		order.strMode = pazResult[nCol+3];
 		order.nMode = atoi(pazResult[nCol+3]);
 		order.strCreateTime = pazResult[nCol+4];
 #else
@@ -284,6 +285,7 @@ INT CDataImpl::QueryOrder(std::string strOrder, TB_ORDER &order)
 		order.strOrder = CharEncoding::UTF82ASCII(pazResult[nCol+0]);
 		order.strDeltaEType = CharEncoding::UTF82ASCII(pazResult[nCol+1]);
 		order.strDeltaEValue = CharEncoding::UTF82ASCII(pazResult[nCol+2]);
+		order.strMode = CharEncoding::UTF82ASCII(pazResult[nCol+3]);
 		order.nMode = atoi(pazResult[nCol+3]);
 		order.strCreateTime = CharEncoding::UTF82ASCII(pazResult[nCol+4]);
 #endif
@@ -326,14 +328,16 @@ INT CDataImpl::QueryOrders(std::vector<TB_ORDER> &vtOrders, std::string strBegin
 		it->strOrder = pazResult[i*nCol+0];
 		it->strDeltaEType = pazResult[i*nCol+1];
 		it->strDeltaEValue = pazResult[i*nCol+2];
-		it->nMode = atoi(pazResult[i*nCol+3]);
+		it->strMode = pazResult[i*nCol+3];
+		it->nMode = atoi(it->strMode.c_str());
 		it->strCreateTime = pazResult[i*nCol+4];
 #else
 		// 由Native for SQLite3插入的数据,都是utf8格式;
 		it->strOrder = CharEncoding::UTF82ASCII(pazResult[i*nCol+0]);
 		it->strDeltaEType = CharEncoding::UTF82ASCII(pazResult[i*nCol+1]);
 		it->strDeltaEValue = CharEncoding::UTF82ASCII(pazResult[i*nCol+2]);
-		it->nMode = atoi(pazResult[i*nCol+3]);
+		it->strMode = CharEncoding::UTF82ASCII(pazResult[i*nCol+3]);
+		it->nMode = atoi(it->strMode.c_str());
 		it->strCreateTime = CharEncoding::UTF82ASCII(pazResult[i*nCol+4]);
 #endif
 	}
@@ -372,8 +376,11 @@ INT CDataImpl::QuerySNData(std::string strSN, TB_SN &sn_data)
 		sn_data.strSN = pazResult[nCol+1];
 		sn_data.strLine = pazResult[nCol+2];
 		sn_data.strTestTime = pazResult[nCol+3];
-		sn_data.nElapsed = atoi(pazResult[nCol+4]);
+		sn_data.strElapsed = pazResult[nCol+4];
+		sn_data.nElapsed = atoi(sn_data.strElapsed.c_str());
+		sn_data.strTestResult = pazResult[nCol+5];
 		sn_data.nTestResult = atoi(pazResult[nCol+5]);
+		sn_data.strDeltaAVGEValue = pazResult[nCol+6];
 		sn_data.dDeltaAVGEValue = atof(pazResult[nCol+6]);
 		sn_data.strDetails = pazResult[nCol+7];
 #else
@@ -382,8 +389,11 @@ INT CDataImpl::QuerySNData(std::string strSN, TB_SN &sn_data)
 		sn_data.strSN = CharEncoding::UTF82ASCII(pazResult[nCol+1]);
 		sn_data.strLine = CharEncoding::UTF82ASCII(pazResult[nCol+2]);
 		sn_data.strTestTime = CharEncoding::UTF82ASCII(pazResult[nCol+3]);
+		sn_data.strElapsed = CharEncoding::UTF82ASCII(pazResult[nCol+4]);
 		sn_data.nElapsed = atoi(pazResult[nCol+4]);
+		sn_data.strTestResult = CharEncoding::UTF82ASCII(pazResult[nCol+5]);
 		sn_data.nTestResult = atoi(pazResult[nCol+5]);
+		sn_data.strDeltaAVGEValue = CharEncoding::UTF82ASCII(pazResult[nCol+6]);
 		sn_data.dDeltaAVGEValue = atof(pazResult[nCol+6]);
 		sn_data.strDetails = CharEncoding::UTF82ASCII(pazResult[nCol+7]);
 #endif
@@ -421,24 +431,30 @@ INT CDataImpl::QuerySNData(std::string strOrder, std::vector<TB_SN> &vtSNdata)
 	for(int i = 1; i <= nRow; i++, it++)
 	{
 #ifndef USE_UTF8
-		it->strOrder = pazResult[nCol*i+0];
-		it->strSN = pazResult[nCol*i+1];
-		it->strLine = pazResult[nCol*i+2];
-		it->strTestTime = pazResult[nCol*i+3];
-		it->nElapsed = atoi(pazResult[nCol*i+4]);
-		it->nTestResult = atoi(pazResult[nCol*i+5]);
-		it->dDeltaAVGEValue = atof(pazResult[nCol*i+6]);
-		it->strDetails = pazResult[nCol*i+7];
+		it->strOrder = pazResult[nCol+0];
+		it->strSN = pazResult[nCol+1];
+		it->strLine = pazResult[nCol+2];
+		it->strTestTime = pazResult[nCol+3];
+		it->strElapsed = pazResult[nCol+4];
+		it->nElapsed = atoi(it->strElapsed.c_str());
+		it->strTestResult = pazResult[nCol+5];
+		it->nTestResult = atoi(pazResult[nCol+5]);
+		it->strDeltaAVGEValue = pazResult[nCol+6];
+		it->dDeltaAVGEValue = atof(pazResult[nCol+6]);
+		it->strDetails = pazResult[nCol+7];
 #else
 		// 由Native for SQLite3插入的数据,都是utf8格式;
-		it->strOrder = CharEncoding::UTF82ASCII(pazResult[nCol*i+0]);
-		it->strSN = CharEncoding::UTF82ASCII(pazResult[nCol*i+1]);
-		it->strLine = CharEncoding::UTF82ASCII(pazResult[nCol*i+2]);
-		it->strTestTime = CharEncoding::UTF82ASCII(pazResult[nCol*i+3]);
-		it->nElapsed = atoi(pazResult[nCol*i+4]);
-		it->nTestResult = atoi(pazResult[nCol*i+5]);
-		it->dDeltaAVGEValue = atof(pazResult[nCol*i+6]);
-		it->strDetails = CharEncoding::UTF82ASCII(pazResult[nCol*i+7]);
+		it->strOrder = CharEncoding::UTF82ASCII(pazResult[nCol+0]);
+		it->strSN = CharEncoding::UTF82ASCII(pazResult[nCol+1]);
+		it->strLine = CharEncoding::UTF82ASCII(pazResult[nCol+2]);
+		it->strTestTime = CharEncoding::UTF82ASCII(pazResult[nCol+3]);
+		it->strElapsed = CharEncoding::UTF82ASCII(pazResult[nCol+4]);
+		it->nElapsed = atoi(pazResult[nCol+4]);
+		it->strTestResult = CharEncoding::UTF82ASCII(pazResult[nCol+5]);
+		it->nTestResult = atoi(pazResult[nCol+5]);
+		it->strDeltaAVGEValue = CharEncoding::UTF82ASCII(pazResult[nCol+6]);
+		it->dDeltaAVGEValue = atof(pazResult[nCol+6]);
+		it->strDetails = CharEncoding::UTF82ASCII(pazResult[nCol+7]);
 #endif
 	}
 
@@ -476,24 +492,92 @@ INT CDataImpl::QuerySNData(std::vector<TB_SN> &vtSNData, std::string strBeginTim
 	for(int i = 1; i <= nRow; i++, it++)
 	{
 #ifndef USE_UTF8
-		it->strOrder = pazResult[nCol*i+0];
-		it->strSN = pazResult[nCol*i+1];
-		it->strLine = pazResult[nCol*i+2];
-		it->strTestTime = pazResult[nCol*i+3];
-		it->nElapsed = atoi(pazResult[nCol*i+4]);
-		it->nTestResult = atoi(pazResult[nCol*i+5]);
-		it->dDeltaAVGEValue = atof(pazResult[nCol*i+6]);
-		it->strDetails = pazResult[nCol*i+7];
+		it->strOrder = pazResult[nCol+0];
+		it->strSN = pazResult[nCol+1];
+		it->strLine = pazResult[nCol+2];
+		it->strTestTime = pazResult[nCol+3];
+		it->strElapsed = pazResult[nCol+4];
+		it->nElapsed = atoi(it->strElapsed.c_str());
+		it->strTestResult = pazResult[nCol+5];
+		it->nTestResult = atoi(pazResult[nCol+5]);
+		it->strDeltaAVGEValue = pazResult[nCol+6];
+		it->dDeltaAVGEValue = atof(pazResult[nCol+6]);
+		it->strDetails = pazResult[nCol+7];
+#else
+		// 由Native for SQLite3插入的数据,都是utf8格式;
+		it->strOrder = CharEncoding::UTF82ASCII(pazResult[nCol+0]);
+		it->strSN = CharEncoding::UTF82ASCII(pazResult[nCol+1]);
+		it->strLine = CharEncoding::UTF82ASCII(pazResult[nCol+2]);
+		it->strTestTime = CharEncoding::UTF82ASCII(pazResult[nCol+3]);
+		it->strElapsed = CharEncoding::UTF82ASCII(pazResult[nCol+4]);
+		it->nElapsed = atoi(pazResult[nCol+4]);
+		it->strTestResult = CharEncoding::UTF82ASCII(pazResult[nCol+5]);
+		it->nTestResult = atoi(pazResult[nCol+5]);
+		it->strDeltaAVGEValue = CharEncoding::UTF82ASCII(pazResult[nCol+6]);
+		it->dDeltaAVGEValue = atof(pazResult[nCol+6]);
+		it->strDetails = CharEncoding::UTF82ASCII(pazResult[nCol+7]);
+#endif
+	}
+
+	sqlite3_free_table(pazResult);
+
+	return nRow;
+}
+
+INT CDataImpl::QuerySNData(std::vector<TB_SN> &vtSNData, std::string strWhere)
+{
+	if ( m_psqlite3 == NULL )
+		return -1;
+
+	INT nRow = 0;
+	INT nCol = 0;
+
+	char** pazResult = NULL;
+	char* psqlite_error = NULL;
+	std::string strSql = _SELECT_SN_;
+	if ( strWhere.size() )
+	{
+		strSql.append(" WHERE ");
+		strSql.append(strWhere);
+		strSql.append(";");
+	}
+	int sqlite_error = sqlite3_get_table(m_psqlite3, strSql.c_str(), &pazResult, &nRow, &nCol, &psqlite_error);
+	if ( sqlite_error != SQLITE_OK)
+	{
+		GLOBAL::WriteTextLog(_T("sqlite3 error:%s,%s"),strSql.c_str(), psqlite_error);
+		FREE_MSG;
+		return -1;
+	}
+
+	vtSNData.resize(nRow);
+	std::vector<TB_SN>::iterator it = vtSNData.begin();
+	for(int i = 1; i <= nRow; i++, it++)
+	{
+#ifndef USE_UTF8
+		it->strOrder = pazResult[nCol+0];
+		it->strSN = pazResult[nCol+1];
+		it->strLine = pazResult[nCol+2];
+		it->strTestTime = pazResult[nCol+3];
+		it->strElapsed = pazResult[nCol+4];
+		it->nElapsed = atoi(it->strElapsed.c_str());
+		it->strTestResult = pazResult[nCol+5];
+		it->nTestResult = atoi(pazResult[nCol+5]);
+		it->strDeltaAVGEValue = pazResult[nCol+6];
+		it->dDeltaAVGEValue = atof(pazResult[nCol+6]);
+		it->strDetails = pazResult[nCol+7];
 #else
 		// 由Native for SQLite3插入的数据,都是utf8格式;
-		it->strOrder = CharEncoding::UTF82ASCII(pazResult[nCol*i+0]);
-		it->strSN = CharEncoding::UTF82ASCII(pazResult[nCol*i+1]);
-		it->strLine = CharEncoding::UTF82ASCII(pazResult[nCol*i+2]);
-		it->strTestTime = CharEncoding::UTF82ASCII(pazResult[nCol*i+3]);
-		it->nElapsed = atoi(pazResult[nCol*i+4]);
-		it->nTestResult = atoi(pazResult[nCol*i+5]);
-		it->dDeltaAVGEValue = atof(pazResult[nCol*i+6]);
-		it->strDetails = CharEncoding::UTF82ASCII(pazResult[nCol*i+7]);
+		it->strOrder = CharEncoding::UTF82ASCII(pazResult[nCol+0]);
+		it->strSN = CharEncoding::UTF82ASCII(pazResult[nCol+1]);
+		it->strLine = CharEncoding::UTF82ASCII(pazResult[nCol+2]);
+		it->strTestTime = CharEncoding::UTF82ASCII(pazResult[nCol+3]);
+		it->strElapsed = CharEncoding::UTF82ASCII(pazResult[nCol+4]);
+		it->nElapsed = atoi(pazResult[nCol+4]);
+		it->strTestResult = CharEncoding::UTF82ASCII(pazResult[nCol+5]);
+		it->nTestResult = atoi(pazResult[nCol+5]);
+		it->strDeltaAVGEValue = CharEncoding::UTF82ASCII(pazResult[nCol+6]);
+		it->dDeltaAVGEValue = atof(pazResult[nCol+6]);
+		it->strDetails = CharEncoding::UTF82ASCII(pazResult[nCol+7]);
 #endif
 	}
 

+ 1 - 0
Source/OGCAssistTool/OGCAssistTool/DataImpl.h

@@ -89,6 +89,7 @@ public:
 	INT QuerySNData(std::string strSN, TB_SN &sn_data);
 	INT QuerySNData(std::string strOrder, std::vector<TB_SN> &vtSNdata);
 	INT QuerySNData(std::vector<TB_SN> &vtSNData, std::string strBeginTime, std::string EndTime);
+	INT QuerySNData(std::vector<TB_SN> &vtSNData, std::string strWhere);
 
 	BOOL UpdateOrder(TB_ORDER &order);
 	BOOL UpdateOrder(std::string strOrder, std::string strDeltaEType, std::string strDeltaEValue, int nMode);

+ 2 - 2
Source/OGCAssistTool/OGCAssistTool/OGCAssistTool.rc

@@ -311,9 +311,9 @@ END
 PAGE_LOG DLGINIT
 BEGIN
     IDC_COMBO1, 0x403, 5, 0
-0xc9b3, 0xa6b9, "\000" 
-    IDC_COMBO1, 0x403, 5, 0
 0xa7ca, 0xdcb0, "\000" 
+    IDC_COMBO1, 0x403, 5, 0
+0xc9b3, 0xa6b9, "\000" 
     0
 END
 

+ 2 - 2
Source/OGCAssistTool/OGCAssistTool/OGCAssistTool.vcproj

@@ -46,7 +46,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;CURL_STATICLIB"
+				PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;CURL_STATICLIB;__LIST_DRAW__"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
@@ -129,7 +129,7 @@
 				Optimization="2"
 				EnableIntrinsicFunctions="true"
 				AdditionalIncludeDirectories="..\include"
-				PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;CURL_STATICLIB"
+				PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;CURL_STATICLIB;__LIST_DRAW__"
 				MinimalRebuild="false"
 				RuntimeLibrary="2"
 				EnableFunctionLevelLinking="true"

+ 26 - 1
Source/OGCAssistTool/OGCAssistTool/PageDebug.cpp

@@ -55,6 +55,7 @@ BEGIN_MESSAGE_MAP(CPageDebug, CDialogEx)
 	ON_BN_CLICKED(CHECK_LOCK, &CPageDebug::OnBnClickedLock)
 	ON_BN_CLICKED(BTN_LOAD_DATA, &CPageDebug::OnBnClickedLoadData)
 	ON_CBN_SELCHANGE(COMBO_ETYPE, &CPageDebug::OnCbnSelchangeEtype)
+	ON_NOTIFY(NM_CUSTOMDRAW, LIST_DEBUG_DATA, &CPageDebug::OnNMCustomdrawDebugData)
 END_MESSAGE_MAP()
 
 
@@ -880,4 +881,28 @@ void CPageDebug::UpdateList(std::vector<GLOBAL::RGB_PAT> &vtRGB)
 	}
 	//m_ctrlList.m_AryList.SetSize(vtRGB.size(), 1);
 	m_ctrlList.SetItemCountEx(vtRGB.size());
-}
+}
+
+void CPageDebug::OnNMCustomdrawDebugData(NMHDR *pNMHDR, LRESULT *pResult)
+{
+	NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
+	*pResult = 0;
+	if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )
+	{
+		*pResult = CDRF_NOTIFYITEMDRAW;
+	}
+	else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
+	{
+		double dValue = _tstof(m_ctrlList.m_AryList.ElementAt(pLVCD->nmcd.dwItemSpec).ElementAt(4).GetString());
+		if ( GLOBAL::g_config.dDeltaEValue > dValue )
+		{
+			pLVCD->clrText = RGB(235,10,10);
+		}
+
+		if ( pLVCD->nmcd.dwItemSpec % 2 )
+			pLVCD->clrTextBk = RGB(204,204,204);
+		else 
+			pLVCD->clrTextBk = RGB(190,190,190);
+		*pResult = CDRF_DODEFAULT;
+	}
+}

+ 68 - 12
Source/OGCAssistTool/OGCAssistTool/PageLog.cpp

@@ -5,7 +5,6 @@
 #include "OGCAssistTool.h"
 #include "PageLog.h"
 
-
 // CPageLog 对话框
 
 IMPLEMENT_DYNAMIC(CPageLog, CDialogEx)
@@ -50,18 +49,17 @@ BOOL CPageLog::OnInitDialog()
 	CTime tm1 = CTime::GetCurrentTime();
 	CTimeSpan tsp = CTimeSpan(3,0,0,0);
 	tm1 -= tsp;
-
 	m_dtStartTime.SetTime(&tm1);
 
 	m_ctrlList.SetListFont(_T("新宋体"), 11, TRUE);
 	m_ctrlList.SetHeadings(
 		_T("批次号,90"),
 		_T("SN,90"),
-		_T("调试时间,90"),
+		_T("调试时间,190"),
 		_T("调试耗时,90"),
 		_T("▲E实际值,90"),
 		_T("▲E标准值,90"),
-		_T("32组RGB▲E值,190"),
+		_T("32组RGB▲E值,300"),
 		NULL
 		);	
 
@@ -76,7 +74,6 @@ HBRUSH CPageLog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
 {
 	HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
 
-	// TODO:  在此更改 DC 的任何属性
 	// TODO:  在此更改 DC 的任何属性
 	switch ( pWnd->GetDlgCtrlID() ) 
 	{
@@ -115,28 +112,87 @@ void CPageLog::OnBnClickedQuery()
 	BOOL bCheckSN = ((CButton*)GetDlgItem(CHECK_SN))->GetCheck();
 	BOOL bCheckResult = ((CButton*)GetDlgItem(CHECK_TEST_RESULT))->GetCheck();
 
+	if ( !(bCheckDate || bCheckBatchNum || bCheckSN || bCheckResult) )
+	{
+		MessageBox(_T("必须勾选某一项才能查询数据!"), _T("提示"), MB_ICONWARNING);
+		return;
+	}
 
+	std::string strWhere;
 	if ( bCheckDate )
 	{
-
+		CTime tStart;
+		CTime tEnd;
+		m_dtStartTime.GetTime(tStart);
+		m_dtEndTime.GetTime(tEnd);
+
+		strWhere.append("TestTime >= '");
+		strWhere.append(CharEncoding::UNICODE2ASCII((LPWCH)tStart.Format(_T("%Y-%m-%d %H:%M:%S")).GetString()));
+		strWhere.append("' and TestTime <='");
+		strWhere.append(CharEncoding::UNICODE2ASCII((LPWCH)tEnd.Format(_T("%Y-%m-%d %H:%M:%S")).GetString()));
+		strWhere.append("'");
 	}
 
 	if ( bCheckBatchNum )
 	{
-
-
+		CString strOrder;
+		GetDlgItemText(EDIT_BATCH_NUM, strOrder);
+		strWhere.append(" OrderID='");
+		strWhere.append(CharEncoding::UNICODE2ASCII((LPWCH)strOrder.GetString()));
+		strWhere.append("'");
 	}
 
 	if ( bCheckSN )
 	{
-
+		CString strSN;
+		GetDlgItemText(EDIT_SN, strSN);
+		strWhere.append(" SN='");
+		strWhere.append(CharEncoding::UNICODE2ASCII((LPWCH)strSN.GetString()));
+		strWhere.append("'");
 	}
 
 	if ( bCheckResult )
 	{
-
+		CComboBox *pCb = (CComboBox*)GetDlgItem(IDC_COMBO1);
+		if ( pCb )
+		{
+			int nCurSel = pCb->GetCurSel();
+			if ( nCurSel != CB_ERR )
+			{
+				strWhere.append("TestResult='");
+				strWhere.append(nCurSel ? "1" : "0");
+				strWhere.append("'");
+			}
+		}
 	}
 
-
-
+	std::vector<TB_SN> vtSNData;
+	if ( GLOBAL::g_db.QuerySNData(vtSNData, strWhere) > 0 )
+	{
+		UpdateList(vtSNData);
+	}
 }
+
+void CPageLog::UpdateList(std::vector<TB_SN> &vtSNData)
+{
+	int nIndex = 0;
+	CString strValue;
+	m_ctrlList.RemoveAll();
+	m_ctrlList.m_AryList.SetSize(vtSNData.size(), 1);
+	for (std::vector<TB_SN>::iterator it = vtSNData.begin(); it != vtSNData.end(); it++)
+	{
+		CStringArray arryString;
+		arryString.Add(CharEncoding::ASCII2UNICODE(it->strOrder.c_str()));
+		arryString.Add(CharEncoding::ASCII2UNICODE(it->strSN.c_str()));
+		arryString.Add(CharEncoding::ASCII2UNICODE(it->strTestTime.c_str()));
+		arryString.Add(CharEncoding::ASCII2UNICODE(it->strElapsed.c_str()));
+		arryString.Add(CharEncoding::ASCII2UNICODE(it->strDeltaEValue.c_str()));
+		arryString.Add(CharEncoding::ASCII2UNICODE(it->strDeltaEValue.c_str()));
+		arryString.Add(CharEncoding::ASCII2UNICODE(it->strDetails.c_str()));
+
+		//arryString.Add(strValue);
+		m_ctrlList.m_AryList.ElementAt(nIndex++).Copy(arryString);
+	}
+	//m_ctrlList.m_AryList.SetSize(vtRGB.size(), 1);
+	m_ctrlList.SetItemCountEx(vtSNData.size());
+}

+ 1 - 0
Source/OGCAssistTool/OGCAssistTool/PageLog.h

@@ -28,4 +28,5 @@ public:
 	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
 	CListSortCtrl m_ctrlList;
 	afx_msg void OnBnClickedQuery();
+	void UpdateList(std::vector<TB_SN> &vtSNData);
 };

+ 5 - 0
Source/OGCAssistTool/OGCAssistTool/TableInfo.h

@@ -6,6 +6,7 @@ typedef struct __TB_ORDER__
 {
 	std::string strOrder;
 	int nMode;						// 0=离线模式;1=在线模式;
+	std::string strMode;
 	std::string strDeltaEType;
 	std::string strDeltaEValue;
 	std::string strCreateTime;
@@ -17,6 +18,10 @@ typedef struct __TB_SN__
 	std::string strSN;
 	std::string strLine;
 	std::string strTestTime;
+	std::string strElapsed;
+	std::string strTestResult;
+	std::string strDeltaEValue;
+	std::string strDeltaAVGEValue;
 	int nElapsed;
 	int nTestResult;
 	DOUBLE dDeltaEValue;			// 标准值;多加这个变量为防止离线模式反复变化该值;

+ 1 - 0
Source/OGCAssistTool/OGCAssistTool/stdafx.h

@@ -40,6 +40,7 @@
 #include "sqlite3.h"
 #include "MTVERIFY.H"
 #include "Global.h"
+#include "CharEncoding.h"
 
 extern void dprintf(TCHAR* pszStr, ...);