CDSMonitoringObjF.cpp 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "AppGlobalF.h"
  4. #include "CDSMonitoringObjF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. //---------------------------------------------------------------------------
  8. TMonitoringScreenManager *ObjScreenManager = NULL;
  9. //---------------------------------------------------------------------------
  10. TMonitoringScreenManager::TMonitoringScreenManager()
  11. {
  12. }
  13. //---------------------------------------------------------------------------
  14. TMonitoringScreenManager::~TMonitoringScreenManager()
  15. {
  16. FLists.RemoveAll();
  17. }
  18. //---------------------------------------------------------------------------
  19. void TMonitoringScreenManager::Init()
  20. {
  21. FLists.RemoveAll();
  22. }
  23. //---------------------------------------------------------------------------
  24. //---------------------------------------------------------------------------
  25. TMonitoringCtlrManager *ObjCtlrManager = NULL;
  26. //---------------------------------------------------------------------------
  27. TMonitoringCtlrManager::TMonitoringCtlrManager(int AMonitoringType)
  28. {
  29. FMonitoringType = AMonitoringType;
  30. }
  31. //---------------------------------------------------------------------------
  32. TMonitoringCtlrManager::~TMonitoringCtlrManager()
  33. {
  34. FLists.RemoveAll();
  35. }
  36. //---------------------------------------------------------------------------
  37. bool TMonitoringCtlrManager::LoadCtlrFromDb(TADOConnection *ADbConn/*=NULL*/)
  38. {
  39. String apiUri = g_AppCfg.sRestApiUri + "/api/vms/manager/info/list";
  40. TMcJsonItem *ObjList = NULL;
  41. try {
  42. FLists.Lock();
  43. FLists.RemoveAll();
  44. }
  45. __finally {
  46. FLists.UnLock();
  47. }
  48. try {
  49. FLists.Lock();
  50. ObjList = TRestObjectManager::RequestGet(apiUri);
  51. if (ObjList == NULL) {
  52. return false;
  53. }
  54. for (int ii = 0; ii < ObjList->Count; ii++) {
  55. String sDelYn = TRestObjectManager::GetValue(ObjList->Items[ii], "del_yn");
  56. if (sDelYn != "N") {
  57. continue;
  58. }
  59. TMonitoringCtlr *pObj = new TMonitoringCtlr();
  60. pObj->CTLR_NMBR = TRestObjectManager::GetValue(ObjList->Items[ii], "vms_ctlr_nmbr").ToIntDef(0);
  61. pObj->ID = TRestObjectManager::GetValue(ObjList->Items[ii], "vms_ctlr_id");
  62. pObj->CTLR_ID = TRestObjectManager::GetValue(ObjList->Items[ii], "vms_ctlr_id");
  63. pObj->NAME = TRestObjectManager::GetValue(ObjList->Items[ii], "vms_nm");
  64. pObj->CTLR_IP = TRestObjectManager::GetValue(ObjList->Items[ii], "vms_ctlr_ip");
  65. pObj->INFO1 = TRestObjectManager::GetValue(ObjList->Items[ii], "vms_type_desc");
  66. pObj->STRM_IP = TRestObjectManager::GetValue(ObjList->Items[ii], "web_cmra_ip");
  67. pObj->STRM_ID = TRestObjectManager::GetValue(ObjList->Items[ii], "web_cmra_id");
  68. pObj->STRM_PSWD = TRestObjectManager::GetValue(ObjList->Items[ii], "web_cmra_pwd");
  69. pObj->STRM_ADDR = TRestObjectManager::GetValue(ObjList->Items[ii], "strm_sesn_nm");
  70. pObj->FULL_STRM_ADDR = TRestObjectManager::GetValue(ObjList->Items[ii], "strm_sesn_nm");
  71. if (pObj->FULL_STRM_ADDR == "")
  72. {
  73. pObj->FULL_STRM_ADDR = pObj->STRM_ADDR;
  74. }
  75. FLists.Push(pObj->CTLR_NMBR, pObj);
  76. }
  77. } __finally {
  78. FLists.UnLock();
  79. if (ObjList) delete ObjList;
  80. }
  81. return true;
  82. }
  83. //---------------------------------------------------------------------------
  84. bool TMonitoringCtlrManager::LoadMonitoringFormFromDb(TADOConnection *ADbConn/*=NULL*/)
  85. {
  86. String sQry;
  87. TADOQuery *pADO = NULL;
  88. if (ObjScreenManager == NULL)
  89. {
  90. ObjScreenManager = new TMonitoringScreenManager();
  91. }
  92. ObjScreenManager->Init();
  93. String apiUri = g_AppCfg.sRestApiUri + "/cs-api/vms/common/monitoring/list/" + String(FMonitoringType);
  94. TMcJsonItem *ObjList = NULL;
  95. try {
  96. FLists.Lock();
  97. ObjList = TRestObjectManager::RequestGet(apiUri);
  98. if (ObjList == NULL) {
  99. return false;
  100. }
  101. for (int ii = 0; ii < ObjList->Count; ii++) {
  102. String MONITORING_NM = TRestObjectManager::GetValue(ObjList->Items[ii], "monitoring_nm");
  103. int MONITORING_SEQ = TRestObjectManager::GetValue(ObjList->Items[ii], "monitoring_seq").ToIntDef(0);
  104. int VMS_CTLR_NMBR = TRestObjectManager::GetValue(ObjList->Items[ii], "vms_ctlr_nmbr").ToIntDef(0);
  105. int VIEW_MODE = 0;
  106. TMonitoringScreen *pObj = ObjScreenManager->FLists.Find(MONITORING_NM);
  107. if (!pObj)
  108. {
  109. pObj = new TMonitoringScreen();
  110. pObj->NAME = MONITORING_NM;
  111. ObjScreenManager->FLists.Push(pObj->NAME, pObj);
  112. }
  113. TScreenCtlr *pScr = new TScreenCtlr();
  114. pScr->SEQ = pObj->FLists.Size()+1;
  115. pScr->CTLR_NMBR = VMS_CTLR_NMBR;
  116. pScr->VIEW_MODE = VIEW_MODE;
  117. pObj->FLists.Push(pScr->SEQ, pScr);
  118. }
  119. } __finally {
  120. FLists.UnLock();
  121. if (ObjList) delete ObjList;
  122. FOR_STL(TMonitoringScreen*, pObj, ObjScreenManager->FLists)
  123. {
  124. int nCtlrCount = pObj->FLists.Size();
  125. switch(nCtlrCount)
  126. {
  127. case 0: case 1: pObj->LAYOUT = 0; break; //1*1
  128. case 2: case 3: case 4: pObj->LAYOUT = 1; break; //2*2
  129. case 5: case 6: pObj->LAYOUT = 3; break; //3*2
  130. case 7: case 8: case 9: pObj->LAYOUT = 2; break; //3*3
  131. case 10: case 11: case 12: pObj->LAYOUT = 4; break; //4*3
  132. case 13: case 14: case 15: case 16: pObj->LAYOUT = 5; break; //4*4
  133. case 17: case 18: case 19: case 20: pObj->LAYOUT = 7; break; //5*4
  134. case 21: case 22: case 23: case 24: pObj->LAYOUT = 8; break; //6*4
  135. case 25: case 26: case 27: case 28:
  136. case 29: case 30: pObj->LAYOUT = 9; break; //6*5
  137. default:
  138. if (nCtlrCount <= 42) pObj->LAYOUT = 10; //7*6
  139. else if (nCtlrCount <= 56) pObj->LAYOUT = 11; //8*7
  140. else pObj->LAYOUT = 12; //8*8
  141. break;
  142. }
  143. }
  144. }
  145. return true;
  146. }
  147. //---------------------------------------------------------------------------
  148. bool TMonitoringCtlrManager::DelMonitoringFormFromDb(String AMonitoringName, TADOConnection *ADbConn/*=NULL*/)
  149. {
  150. bool result = false;
  151. String resultVal;
  152. String key = "abcdefg1234567890x";
  153. String apiUri = g_AppCfg.sRestApiUri + "/cs-api/vms/common/monitoring/delete/" + key + "/" + String(FMonitoringType);
  154. TMcJsonItem *ObjList = new TMcJsonItem();
  155. try {
  156. ObjList->Add("monitoring_type")->AsInteger = FMonitoringType;
  157. ObjList->Add("monitoring_nm")->AsString = AMonitoringName;
  158. ObjList->Add("monitoringSeq")->AsInteger = 0;
  159. ObjList->Add("vms_ctlr_nmbr")->AsInteger = 0;
  160. result = TRestObjectManager::RequestPost(apiUri, ObjList->AsJSON, resultVal);
  161. if (!result) {
  162. return false;
  163. }
  164. } __finally {
  165. }
  166. return result;
  167. }
  168. //---------------------------------------------------------------------------
  169. bool TMonitoringCtlrManager::InsMonitoringFormFromDb(String AMonitoringName, int ASeq, String ACtlrNmbr, int AViewMode, TADOConnection *ADbConn/*=NULL*/)
  170. {
  171. bool result = false;
  172. String resultVal;
  173. String key = "abcdefg1234567890x";
  174. String apiUri = g_AppCfg.sRestApiUri + "/cs-api/vms/common/monitoring/insert/" + key + "/" + String(FMonitoringType);
  175. TMcJsonItem *ObjList = new TMcJsonItem();
  176. try {
  177. ObjList->Add("monitoring_type")->AsInteger = FMonitoringType;
  178. ObjList->Add("monitoring_nm")->AsString = AMonitoringName;
  179. ObjList->Add("monitoringSeq")->AsInteger = ASeq;
  180. ObjList->Add("vms_ctlr_nmbr")->AsInteger = ACtlrNmbr.ToIntDef(0);
  181. result = TRestObjectManager::RequestPost(apiUri, ObjList->AsJSON, resultVal);
  182. if (!result) {
  183. return false;
  184. }
  185. } __finally {
  186. }
  187. return result;
  188. }
  189. //---------------------------------------------------------------------------