DlgQueryWarningRec.cpp 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. // AnalogDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "IDE.h"
  5. #include "DlgQueryWarningRec.h"
  6. #include ".\dlgquerywarningrec.h"
  7. #include "Syslib.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CDlgQueryWarningRec dialog
  15. CDlgQueryWarningRec::CDlgQueryWarningRec(CWnd* pParent /*=NULL*/)
  16. : CDialog(CDlgQueryWarningRec::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(CDlgQueryWarningRec)
  19. // NOTE: the ClassWizard will add member initialization here
  20. //}}AFX_DATA_INIT
  21. m_ctrlGridRec.RegisterWindowClass(g_hLangDLL);
  22. }
  23. void CDlgQueryWarningRec::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CDlgQueryWarningRec)
  27. DDX_Control(pDX, IDC_GRID_REC, m_ctrlGridRec);
  28. //}}AFX_DATA_MAP
  29. DDX_Control(pDX, IDC_DT_START_DATE, m_ctrlStartDate);
  30. DDX_Control(pDX, IDC_DT_END_DATE, m_ctrlEndDate);
  31. }
  32. BEGIN_MESSAGE_MAP(CDlgQueryWarningRec, CDialog)
  33. //{{AFX_MSG_MAP(CDlgQueryWarningRec)
  34. //}}AFX_MSG_MAP
  35. ON_BN_CLICKED(IDC_BTN_CLOSE, OnBnClickedBtnClose)
  36. ON_BN_CLICKED(IDC_BTN_QUERY, OnBnClickedBtnQuery)
  37. ON_BN_CLICKED(IDC_BTN_DEL, OnBnClickedBtnDel)
  38. ON_BN_CLICKED(IDC_BTN_EXPORT, OnBnClickedBtnExport)
  39. END_MESSAGE_MAP()
  40. /////////////////////////////////////////////////////////////////////////////
  41. // CDlgQueryWarningRec message handlers
  42. void CDlgQueryWarningRec::OnOK()
  43. {
  44. // TODO: Add extra validation here
  45. CDialog::OnOK();
  46. }
  47. void CDlgQueryWarningRec::OnCancel()
  48. {
  49. // TODO: Add extra cleanup here
  50. CDialog::OnCancel();
  51. }
  52. BOOL CDlgQueryWarningRec::OnInitDialog()
  53. {
  54. CDialog::OnInitDialog();
  55. m_btnQuery.SubclassDlgItem(IDC_BTN_QUERY, this);
  56. m_btnQuery.SetBitmaps(IDB_FRESH, RGB(255, 0, 255));
  57. m_btnQuery.SetFlat(FALSE);
  58. m_btnQuery.SetAlign(CButtonST::ST_ALIGN_HORIZ);
  59. m_btnExit.SubclassDlgItem(IDC_BTN_CLOSE, this);
  60. m_btnExit.SetBitmaps(IDB_EXIT , RGB(192, 192, 192));
  61. m_btnExit.SetFlat(FALSE);
  62. m_btnExit.SetAlign(CButtonST::ST_ALIGN_HORIZ);
  63. m_btnDel.SubclassDlgItem(IDC_BTN_DEL, this);
  64. m_btnDel.SetBitmaps(IDB_DEL , RGB(255,0 , 255));
  65. m_btnDel.SetFlat(FALSE);
  66. m_btnDel.SetAlign(CButtonST::ST_ALIGN_HORIZ);
  67. m_btnExport.SubclassDlgItem(IDC_BTN_EXPORT, this);
  68. m_btnExport.SetBitmaps(IDB_INTO, RGB(255, 0, 255));
  69. m_btnExport.SetFlat(FALSE);
  70. m_btnExport.SetAlign(CButtonST::ST_ALIGN_HORIZ);
  71. CTime tmToday; //今天的日期
  72. CTime tmPreTwoDay; //前两天的日期
  73. CTimeSpan tmspanTwoDay(1,0,0,0); //两天的时间距离
  74. tmToday=CTime::GetCurrentTime();//获得当前日期
  75. tmPreTwoDay=tmToday-tmspanTwoDay;
  76. UpdateData(TRUE);//时间更新为当前时间
  77. m_ctrlStartDate.SetFormat("yyyy-M-d HH:mm:ss");
  78. m_ctrlStartDate.SetTime( &tmPreTwoDay );
  79. m_ctrlEndDate.SetFormat("yyyy-M-d HH:mm:ss");
  80. m_ctrlEndDate.SetTime( &tmToday );
  81. SetFields();
  82. return TRUE; // return TRUE unless you set the focus to a control
  83. // EXCEPTION: OCX Property Pages should return FALSE
  84. }
  85. void CDlgQueryWarningRec::SetFields()
  86. {
  87. int i;
  88. m_ctrlGridRec.m_field.SetSize(4);
  89. i=0;
  90. m_ctrlGridRec.m_field[i].Field=_T("id");
  91. m_ctrlGridRec.m_field[i].Caption=_T("ID");
  92. m_ctrlGridRec.m_field[i].With = 50;
  93. m_ctrlGridRec.m_field[i].Find=true;
  94. i=1;
  95. m_ctrlGridRec.m_field[i].Field=_T("type_desc");
  96. m_ctrlGridRec.m_field[i].Caption=g_strDes;
  97. m_ctrlGridRec.m_field[i].With=150;
  98. m_ctrlGridRec.m_field[i].Find=true;
  99. i=2;
  100. m_ctrlGridRec.m_field[i].Field=_T("happen_time");
  101. m_ctrlGridRec.m_field[i].Caption=g_strHappenTime2;
  102. m_ctrlGridRec.m_field[i].With=120;
  103. m_ctrlGridRec.m_field[i].Find=true;
  104. i=3;
  105. m_ctrlGridRec.m_field[i].Field=_T("warncontent");
  106. m_ctrlGridRec.m_field[i].Caption=g_strWarnContent;
  107. m_ctrlGridRec.m_field[i].With=455;
  108. m_ctrlGridRec.m_field[i].Find=true;
  109. Requery();
  110. }
  111. void CDlgQueryWarningRec::Requery()
  112. {
  113. CString strWhere;
  114. //strWhere.Format(" uid <> \'%s\'", "admin");
  115. CString strStartTime, strEndTime, strStartDate, strEndDate;
  116. CString strTelNum, strContent;
  117. CTime tmToday;
  118. CTime tmPreTwoDay;
  119. m_ctrlStartDate.GetTime( tmPreTwoDay );
  120. m_ctrlEndDate.GetTime( tmToday );
  121. strStartDate.Format( "%d-%d-%d %d:%d:%d", tmPreTwoDay.GetYear(), tmPreTwoDay.GetMonth(), tmPreTwoDay.GetDay(),
  122. tmPreTwoDay.GetHour(), tmPreTwoDay.GetMinute(), tmPreTwoDay.GetSecond() );
  123. strEndDate.Format( "%d-%d-%d %d:%d:%d", tmToday.GetYear(), tmToday.GetMonth(), tmToday.GetDay(),
  124. tmToday.GetHour(), tmToday.GetMinute(), tmToday.GetSecond() );
  125. strWhere = "happen_time >= '" + strStartDate + "' and happen_time <= '" + strEndDate + "'";
  126. m_ctrlGridRec.Execute(_T("id")/*Primary key field */
  127. ,_T("*")//fields in SELECT statment
  128. ,_T("t_waring_record") //from
  129. ,strWhere // where
  130. ,0,0); // order by N of the Grid column
  131. //
  132. }
  133. BOOL CDlgQueryWarningRec::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
  134. {
  135. LPNMHDR pNmhdr = (LPNMHDR)lParam;
  136. // TODO: 在此添加专用代码和/或调用基类
  137. if (wParam == (WPARAM)m_ctrlGridRec.GetDlgCtrlID())
  138. {
  139. *pResult = 1;
  140. GV_DISPINFO *pDispInfo = (GV_DISPINFO*)lParam;
  141. m_ctrlGridRec.SetValue(pDispInfo);
  142. }
  143. return CDialog::OnNotify(wParam, lParam, pResult);
  144. }
  145. BEGIN_EVENTSINK_MAP(CDlgQueryWarningRec, CDialog)
  146. //{{AFX_EVENTSINK_MAP(CDlgQueryWarningRec)
  147. //}}AFX_EVENTSINK_MAP
  148. END_EVENTSINK_MAP()
  149. void CDlgQueryWarningRec::OnBnClickedBtnClose()
  150. {
  151. // TODO: 在此添加控件通知处理程序代码
  152. OnCancel();
  153. }
  154. void CDlgQueryWarningRec::OnBnClickedBtnQuery()
  155. {
  156. // TODO: 在此添加控件通知处理程序代码
  157. Requery();
  158. }
  159. void CDlgQueryWarningRec::OnBnClickedBtnDel()
  160. {
  161. int nCount = m_ctrlGridRec.GetRowCount();
  162. CString sID;
  163. if( nCount>0 )
  164. if (MessageBox (g_strMsgConfirmDelRecord, g_strMsgPrompt, MB_YESNO|MB_DEFBUTTON2 | MB_ICONQUESTION) != IDYES)
  165. return;
  166. for( int nRow=0;nRow<nCount;nRow++ )
  167. {
  168. sID = m_ctrlGridRec.GetCell( nRow, 0 )->GetText();
  169. CDBInterface::GetInstancePtr()->DelTableData( "t_waring_record","id",(char *)(LPCTSTR)sID,2 );
  170. }
  171. m_ctrlGridRec.DeleteAllItems();
  172. Requery();
  173. }
  174. void CDlgQueryWarningRec::OnBnClickedBtnExport()
  175. {
  176. ExportListToExcel( (CDataGrid*)&m_ctrlGridRec, "报警记录" );
  177. }