CDSEventF.cpp 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSEventF.h"
  4. #include "AppGlobalF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. TItsEvent::TItsEvent()
  8. {
  9. FCompleted = false;
  10. FEditMode = DB_INIT;
  11. FGridIndex = -1;
  12. MEM_DEL = "N";
  13. //Clear();
  14. }
  15. //---------------------------------------------------------------------------
  16. void TItsEvent::Clear()
  17. {
  18. }
  19. //---------------------------------------------------------------------------
  20. TItsEvent::~TItsEvent()
  21. {
  22. }
  23. //---------------------------------------------------------------------------
  24. //---------------------------------------------------------------------------
  25. TItsEventManager *ItsEventManager = NULL;
  26. //---------------------------------------------------------------------------
  27. /*
  28. * Event Manager
  29. */
  30. TItsEventManager::TItsEventManager()
  31. {
  32. }
  33. //---------------------------------------------------------------------------
  34. TItsEventManager::~TItsEventManager()
  35. {
  36. FLists.RemoveAll();
  37. }
  38. //---------------------------------------------------------------------------
  39. bool TItsEventManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  40. {
  41. try
  42. {
  43. FLists.Lock();
  44. FEventId = 0;
  45. FLists.RemoveAll();
  46. }
  47. __finally
  48. {
  49. FLists.UnLock();
  50. }
  51. LoadBlackBoxEvent(ADbConn);
  52. return true;
  53. }
  54. //---------------------------------------------------------------------------
  55. bool TItsEventManager::LoadBlackBoxEvent(TADOConnection *ADbConn/*=NULL*/)
  56. {
  57. String sQry;
  58. TADOQuery *pADO = NULL;
  59. sQry = "SELECT A.*, \r\n"
  60. " B.OCRR_DT, \r\n"
  61. " B.TRMN_ID, \r\n"
  62. " B.EVT_TYPE, \r\n"
  63. " DECODE(B.EVT_TYPE, '1', '1.주기보고', \r\n"
  64. " '2', '2.사용자전송', \r\n"
  65. " '3', '3.긴급전송', \r\n"
  66. " '---') AS EVT_DESC, \r\n"
  67. " B.X_CRDN, \r\n"
  68. " B.Y_CRDN, \r\n"
  69. " B.GPS_DRCT, \r\n"
  70. " B.SPED, \r\n"
  71. " B.VHRN_MODE, \r\n"
  72. " DECODE(B.VHRN_MODE, '1', '1.주행모드', \r\n"
  73. " '2', '2.주차모드', \r\n"
  74. " '---') AS VHRN_DESC, \r\n"
  75. " B.TRMN_VER, \r\n"
  76. " B.IMGN_PATH, B.LINK_ID \r\n"
  77. " FROM TB_BDS_TRMN A, \r\n"
  78. " TB_BDS_INCD_CLCT B \r\n"
  79. " WHERE A.BDS_MNGM_NMBR = B.BDS_MNGM_NMBR \r\n"
  80. " AND B.OCRR_DT >= TO_CHAR(SYSDATE-10/1440, 'YYYYMMDDHH24MISS') \r\n"
  81. " ORDER BY B.OCRR_DT DESC \r\n";
  82. try
  83. {
  84. FLists.Lock();
  85. FLists.RemoveAll();
  86. try
  87. {
  88. pADO = new TADOQuery(NULL);
  89. pADO->Close();
  90. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  91. pADO->SQL->Clear();
  92. pADO->SQL->Text = sQry;
  93. pADO->Prepared = true;
  94. pADO->Open();
  95. for( ; !pADO->Eof; pADO->Next())
  96. {
  97. TItsEvent *pObj = new TItsEvent();
  98. pObj->BDS_MNGM_NMBR = pADO->FieldByName("BDS_MNGM_NMBR")->AsString;
  99. pObj->OPNC_NMBR = pADO->FieldByName("OPNC_NMBR")->AsString;
  100. pObj->MDM_NMBR = pADO->FieldByName("MDM_NMBR")->AsString;
  101. pObj->USIM_NMBR = pADO->FieldByName("USIM_NMBR")->AsString;
  102. pObj->VHCL_NMBR = pADO->FieldByName("VHCL_NMBR")->AsString;
  103. pObj->OWNR_NM = pADO->FieldByName("OWNR_NM")->AsString;
  104. pObj->PRCT_NM = pADO->FieldByName("PRCT_NM")->AsString;
  105. pObj->OCRR_DT = pADO->FieldByName("OCRR_DT")->AsString;
  106. //String BDS_MNGM_NMBR; // N VARCHAR2(20) N 블랙박스 관리 번호
  107. pObj->TRMN_ID = pADO->FieldByName("TRMN_ID")->AsString;
  108. pObj->EVT_TYPE = pADO->FieldByName("EVT_DESC")->AsString;
  109. pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString;
  110. pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString;
  111. pObj->GPS_DRCT = pADO->FieldByName("GPS_DRCT")->AsString;
  112. pObj->SPED = pADO->FieldByName("SPED")->AsString;
  113. pObj->VHRN_MODE = pADO->FieldByName("VHRN_DESC")->AsString;
  114. pObj->TRMN_VER = pADO->FieldByName("TRMN_VER")->AsString;
  115. pObj->IMGN_PATH = pADO->FieldByName("IMGN_PATH")->AsString;
  116. pObj->LINK_ID = pADO->FieldByName("LINK_ID")->AsString;
  117. if (pObj->LINK_ID.Trim() == "0") pObj->LINK_ID = "";
  118. pObj->ID.printf(L"%05d", ++FEventId);
  119. FLists.Push(pObj->ID, pObj);
  120. }
  121. }
  122. catch(EDatabaseError &E)
  123. {
  124. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  125. DBERRORMSG("TItsEventManager::LoadBlackBoxEvent", String(E.ClassName()), E.Message, sQry);
  126. throw Exception(String(E.ClassName()) + E.Message);
  127. }
  128. catch(Exception &exception)
  129. {
  130. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  131. DBERRORMSG("TItsEventManager::LoadBlackBoxEvent", String(exception.ClassName()), exception.Message, sQry);
  132. throw Exception(String(exception.ClassName()) + exception.Message);
  133. }
  134. }
  135. __finally
  136. {
  137. if (pADO)
  138. {
  139. pADO->Close();
  140. delete pADO;
  141. }
  142. FLists.UnLock();
  143. }
  144. return true;
  145. }
  146. //---------------------------------------------------------------------------