123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- #include "stdafx.h"
- #include "OGCAssistTool.h"
- #include "PageLog.h"
- IMPLEMENT_DYNAMIC(CPageLog, CDialogEx)
- CPageLog::CPageLog(CWnd* pParent )
- : CDialogEx(CPageLog::IDD, pParent)
- {
- }
- CPageLog::~CPageLog()
- {
- }
- void CPageLog::DoDataExchange(CDataExchange* pDX)
- {
- CDialogEx::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_DATETIMEPICKER1, m_dtStartTime);
- DDX_Control(pDX, IDC_DATETIMEPICKER2, m_dtEndTime);
- DDX_Control(pDX, IDC_LIST1, m_ctrlList);
- }
- BEGIN_MESSAGE_MAP(CPageLog, CDialogEx)
- ON_WM_CTLCOLOR()
- ON_BN_CLICKED(BTN_QUERY, &CPageLog::OnBnClickedQuery)
- ON_NOTIFY(NM_CUSTOMDRAW, IDC_LIST1, &CPageLog::OnNMCustomdrawList1)
- END_MESSAGE_MAP()
- BOOL CPageLog::OnInitDialog()
- {
- CDialogEx::OnInitDialog();
-
- SetBackgroundColor(RGB(200,200,200));
- m_dtStartTime.SetFormat(_T("MM/dd HH:mm"));
- m_dtEndTime.SetFormat(_T("MM/dd HH:mm"));
-
- 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("调试时间,190"),
- _T("调试耗时,90"),
- _T("调试结果,90"),
- _T("▲E实际值,90"),
- _T("▲E标准值,90"),
- _T("32组RGB▲E值,300"),
- NULL
- );
-
- ((CButton*)GetDlgItem(CHECK_TEST_TIME))->SetCheck(TRUE);
- return TRUE;
-
- }
- HBRUSH CPageLog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
-
- switch ( pWnd->GetDlgCtrlID() )
- {
- case CHECK_TEST_TIME:
- case CHECK_TEST_RESULT:
- case CHECK_SN:
- case CHECK_BATCH_NUM:
- {
- #if 1
- pDC->SetBkMode(TRANSPARENT);
- CRect rc;
- pWnd->GetWindowRect(&rc);
- ScreenToClient(&rc);
- CDC* dc = GetDC();
- pDC->BitBlt(0,0,rc.Width(),rc.Height(),dc,rc.left,rc.top,SRCCOPY);
- ReleaseDC(dc);
- hbr = (HBRUSH) ::GetStockObject(NULL_BRUSH);
- #endif
- }
- break;
- default:
- break;
- }
-
- return hbr;
- }
- void CPageLog::OnBnClickedQuery()
- {
-
- BOOL bCheckDate = ((CButton*)GetDlgItem(CHECK_TEST_TIME))->GetCheck();
- BOOL bCheckBatchNum = ((CButton*)GetDlgItem(CHECK_BATCH_NUM))->GetCheck();
- 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);
- if ( strWhere.size() )
- strWhere.append(" and OrderID='");
- else
- strWhere.append(" OrderID='");
- strWhere.append(CharEncoding::UNICODE2ASCII((LPWCH)strOrder.GetString()));
- strWhere.append("'");
- }
- if ( bCheckSN )
- {
- CString strSN;
- GetDlgItemText(EDIT_SN, strSN);
- if ( strWhere.size() )
- strWhere.append(" and SN='");
- else
- 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 )
- {
- if ( strWhere.size() )
- strWhere.append(" and TestResult='");
- else
- strWhere.append(" TestResult='");
- strWhere.append(nCurSel ? "1" : "0");
- strWhere.append("'");
- }
- }
- }
- std::vector<TB_SN> vtSNData;
- if ( GLOBAL::g_db.QuerySNData(vtSNData, strWhere) != -1 )
- {
- 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(it->strTestResult == "1" ? _T("PASS") : _T("FAIL"));
- arryString.Add(CharEncoding::ASCII2UNICODE(it->strDeltaAVGEValue.c_str()));
- arryString.Add(CharEncoding::ASCII2UNICODE(it->strDeltaEValue.c_str()));
- arryString.Add(CharEncoding::ASCII2UNICODE(it->strDetails.c_str()));
-
- m_ctrlList.m_AryList.ElementAt(nIndex++).Copy(arryString);
- }
-
- m_ctrlList.SetItemCountEx(vtSNData.size());
- }
- void CPageLog::OnNMCustomdrawList1(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 )
- {
- if ( m_ctrlList.m_AryList.ElementAt(pLVCD->nmcd.dwItemSpec).ElementAt(4) == _T("FAIL") )
- {
- 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;
- }
- }
|