CDSLprsF.cpp 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSLprsF.h"
  4. #include "ITS_OPLibF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. //---------------------------------------------------------------------------
  8. TLprsCam::TLprsCam()
  9. {
  10. }
  11. //---------------------------------------------------------------------------
  12. TLprsCam::~TLprsCam()
  13. {
  14. }
  15. //---------------------------------------------------------------------------
  16. //---------------------------------------------------------------------------
  17. TLprsManager *LprsManager = NULL;
  18. //---------------------------------------------------------------------------
  19. TLprsManager::TLprsManager()
  20. {
  21. }
  22. //---------------------------------------------------------------------------
  23. TLprsManager::~TLprsManager()
  24. {
  25. FLists.RemoveAll();
  26. }
  27. //---------------------------------------------------------------------------
  28. bool TLprsManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  29. {
  30. String sQry;
  31. TADOQuery *pADO = NULL;
  32. #ifndef USE_LPRS
  33. return true;
  34. #endif
  35. sQry = "SELECT A.NMBR_IDNT_CMRA_ID, A.ISTL_LCTN, A.CMRA_IP, \r\n"
  36. " NVL(A.CMRA_X_CRDN, '0') AS Y_CRDN, \r\n"
  37. " NVL(A.CMRA_Y_CRDN, '0') AS X_CRDN \r\n"
  38. " FROM TB_SC_NMBR_IDNT_CMRA_MNGM A \r\n";
  39. FLists.Lock();
  40. try {
  41. FLists.RemoveAll();
  42. try {
  43. pADO = new TADOQuery(NULL);
  44. pADO->Close();
  45. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  46. pADO->SQL->Clear();
  47. pADO->SQL->Text = sQry;
  48. pADO->Prepared = true;
  49. pADO->Open();
  50. for( ; !pADO->Eof; pADO->Next()) {
  51. TLprsCam *pObj = new TLprsCam();
  52. pObj->CMRA_ID = pADO->FieldByName("NMBR_IDNT_CMRA_ID")->AsString;
  53. pObj->CMRA_NM = pADO->FieldByName("ISTL_LCTN")->AsString.Trim();
  54. pObj->CMRA_IP = pADO->FieldByName("CMRA_IP")->AsString.Trim();
  55. pObj->RTSP_URL = "";
  56. pObj->HTTP_URL = "";
  57. pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsFloat;
  58. pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsFloat;
  59. pObj->DEL_YN = "N";
  60. pObj->TYPE_CD = "LPRS";
  61. pObj->CTLR_NMBR = pObj->CMRA_ID;
  62. pObj->CTLR_ID = pObj->CMRA_ID;
  63. pObj->NAME = pObj->CMRA_NM;
  64. pObj->ISTL_LCTN_NM = pObj->CMRA_NM;
  65. pObj->ISTL_LCTN_ADDR = pObj->CMRA_NM;
  66. FLists.Push(pObj->CMRA_ID, pObj);
  67. pObj->Completed = true;
  68. }
  69. }
  70. catch(EDatabaseError &E) {
  71. DBERRORMSG("TLprsManager::LoadFromDb", String(E.ClassName()), E.Message, sQry);
  72. throw Exception(String(E.ClassName()) + E.Message);
  73. }
  74. catch(Exception &e) {
  75. DBERRORMSG("TLprsManager::LoadFromDb", String(e.ClassName()), e.Message, sQry);
  76. throw Exception(String(e.ClassName()) + e.Message);
  77. }
  78. }
  79. __finally {
  80. FLists.UnLock();
  81. if (pADO) {
  82. pADO->Close();
  83. delete pADO;
  84. }
  85. }
  86. return true;
  87. }
  88. //---------------------------------------------------------------------------
  89. bool TLprsManager::LoadStatusFromDb(TADOConnection *ADbConn/*=NULL*/)
  90. {
  91. String sQry;
  92. TADOQuery *pADO = NULL;
  93. #ifndef USE_LPRS
  94. return true;
  95. #endif
  96. sQry = "SELECT A.* \r\n"
  97. " FROM TB_SC_NMBR_IDNT_CMRA_STTS A, \r\n"
  98. " TB_SC_NMBR_IDNT_CMRA_MNGM B \r\n"
  99. " WHERE A.NMBR_IDNT_CMRA_ID = B.NMBR_IDNT_CMRA_ID \r\n";
  100. //" AND A.CLCT_DT >= TO_CHAR(SYSDATE-20/1440, 'YYYYMMDDHH24MISS') \r\n";
  101. FLists.Lock();
  102. try
  103. {
  104. FOR_STL(TLprsCam*, pTmp, FLists) {
  105. //pTmp->STATE.Comm = wcam_error;
  106. }
  107. TLprsCam *pObj = NULL;
  108. try
  109. {
  110. pADO = new TADOQuery(NULL);
  111. pADO->Close();
  112. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  113. pADO->SQL->Clear();
  114. pADO->SQL->Text = sQry;
  115. pADO->Prepared = true;
  116. pADO->Open();
  117. for( ; !pADO->Eof; pADO->Next()) {
  118. String CMRA_ID = pADO->FieldByName("NMBR_IDNT_CMRA_ID")->AsString;
  119. pObj = FLists.Find(CMRA_ID);
  120. if (!pObj) continue;
  121. String CLCT_DT = pADO->FieldByName("CLCT_DT")->AsString;
  122. int CMRA_STTS = pADO->FieldByName("CMRA_STTS")->AsInteger;
  123. if (CMRA_STTS != 0) {
  124. //Åë½ÅÀå¾Ö
  125. continue;
  126. }
  127. //pObj->STATE.Comm = (CMNC_STTS_CD == "CMS0") ? wcam_normal : wcam_error;
  128. }
  129. }
  130. catch(EDatabaseError &E) {
  131. DBERRORLOG("TLprsManager::LoadStatusFromDb", String(E.ClassName()), E.Message, sQry);
  132. throw Exception(String(E.ClassName()) + E.Message);
  133. }
  134. catch(Exception &e) {
  135. DBERRORLOG("TLprsManager::LoadStatusFromDb", String(e.ClassName()), e.Message, sQry);
  136. throw Exception(String(e.ClassName()) + e.Message);
  137. }
  138. }
  139. __finally {
  140. FLists.UnLock();
  141. if (pADO) {
  142. pADO->Close();
  143. delete pADO;
  144. }
  145. }
  146. return true;
  147. }
  148. //---------------------------------------------------------------------------