CDSCenterCommF.cpp 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSCenterCommF.h"
  4. #include "VmsCommonLibF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. //---------------------------------------------------------------------------
  8. TCommInfo::TCommInfo()
  9. {
  10. }
  11. //---------------------------------------------------------------------------
  12. TCommInfo::~TCommInfo()
  13. {
  14. }
  15. //---------------------------------------------------------------------------
  16. //---------------------------------------------------------------------------
  17. TCommTarget::TCommTarget()
  18. {
  19. }
  20. //---------------------------------------------------------------------------
  21. TCommTarget::~TCommTarget()
  22. {
  23. }
  24. //---------------------------------------------------------------------------
  25. //---------------------------------------------------------------------------
  26. TCenterCommManager *CenterCommManager = NULL;
  27. //---------------------------------------------------------------------------
  28. TCenterCommManager::TCenterCommManager()
  29. {
  30. }
  31. //---------------------------------------------------------------------------
  32. TCenterCommManager::~TCenterCommManager()
  33. {
  34. FLists.RemoveAll();
  35. }
  36. //---------------------------------------------------------------------------
  37. int TCenterCommManager::LoadFromDb(String APRCS_ID, TADOConnection *ADbConn)
  38. {
  39. String sQry;
  40. TADOQuery *pADO = NULL;
  41. int nSelCnt = 0;
  42. sQry = "SELECT T1.CMD_SE, T2.SRVR_IP, T1.CMNC_PORT \r\n"
  43. " FROM TB_SYS_PRCS_CMNC_TGT T1, \r\n"
  44. " TB_SYS_PRCS T2 \r\n"
  45. " WHERE 1=1 \r\n"
  46. " AND T1.CMNC_KIND = 'U' \r\n"
  47. " AND T1.CMD_SE IN ('21', '22', '23', '24', '71') \r\n"
  48. " AND T1.RCV_PRCS_ID = T2.PRCS_ID \r\n"
  49. " GROUP BY T1.CMD_SE, T2.SRVR_IP, T1.CMNC_PORT \r\n";
  50. try
  51. {
  52. try
  53. {
  54. pADO = new TADOQuery(NULL);
  55. pADO->Connection = ADbConn;
  56. pADO->Close();
  57. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  58. pADO->SQL->Clear();
  59. pADO->SQL->Text = sQry;
  60. pADO->Prepared = true;
  61. pADO->Open();
  62. for( ; !pADO->Eof; pADO->Next())
  63. {
  64. TCommInfo *pCommInfo = new TCommInfo();
  65. pCommInfo->CMD_SE = pADO->FieldByName("CMD_SE")->AsString;
  66. pCommInfo->SRVR_IP = pADO->FieldByName("SRVR_IP")->AsString;
  67. pCommInfo->CMNC_PORT = pADO->FieldByName("CMNC_PORT")->AsInteger;
  68. TCommTarget *pCommTarget = FLists.Find(pCommInfo->CMD_SE);
  69. if (!pCommTarget)
  70. {
  71. pCommTarget = new TCommTarget();
  72. pCommTarget->CMD_SE = pCommInfo->CMD_SE;
  73. FLists.Push(pCommTarget->CMD_SE, pCommTarget);
  74. }
  75. pCommTarget->FLists.Push(pCommTarget->FLists.Size(), pCommInfo);
  76. nSelCnt++;
  77. }
  78. }
  79. catch(EDatabaseError &E)
  80. {
  81. DBERRORMSG("TCenterCommManager::LoadFromDb", String(E.ClassName()), E.Message, sQry);
  82. throw Exception(String(E.ClassName()) + E.Message);
  83. }
  84. catch(Exception &e)
  85. {
  86. DBERRORMSG("TCenterCommManager::LoadFromDb", String(e.ClassName()), e.Message, sQry);
  87. throw Exception(String(e.ClassName()) + e.Message);
  88. }
  89. }
  90. __finally
  91. {
  92. if (pADO)
  93. {
  94. pADO->Close();
  95. delete pADO;
  96. }
  97. }
  98. return nSelCnt;
  99. }
  100. //---------------------------------------------------------------------------