1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- //---------------------------------------------------------------------------
- #pragma hdrstop
- #include "CDSSgnlCtlrF.h"
- #include "ITS_OPLibF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- //---------------------------------------------------------------------------
- TSgnlCtlrManager *SgnlCtlrManager = NULL;
- //---------------------------------------------------------------------------
- TSgnlCtlrManager::TSgnlCtlrManager()
- {
- }
- //---------------------------------------------------------------------------
- TSgnlCtlrManager::~TSgnlCtlrManager()
- {
- FLists.RemoveAll();
- }
- //---------------------------------------------------------------------------
- bool TSgnlCtlrManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT A.SGNL_IXR_NMBR, A.X_CRDN/1000000 AS X_CRDN, A.Y_CRDN/1000000 AS Y_CRDN, \r\n"
- " B.IXR_NM AS IXR_NM, \r\n"
- " NVL(B.NODE_ID, 0) AS NODE_ID, \r\n"
- " NVL(B.CCTV_TYPE, 0) AS CCTV_TYPE, \r\n"
- " NVL(B.CCTV_NMBR, 0) AS CCTV_NMBR \r\n"
- " FROM SGNL_CTLR A \r\n"
- " LEFT OUTER JOIN SGNL_IXR_MNGM B \r\n"
- " ON A.SGNL_IXR_NMBR = B.SGNL_IXR_NMBR \r\n"
- " ORDER BY A.SGNL_IXR_NMBR \r\n";
- FLists.Lock();
- try
- {
- FLists.RemoveAll();
- try
- {
- pADO = new TADOQuery(NULL);
- pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
- pADO->SQL->Clear();
- pADO->SQL->Text = sQry;
- pADO->Prepared = true;
- pADO->Open();
- for( ; !pADO->Eof; pADO->Next())
- {
- TSgnlCtlr *pObj = new TSgnlCtlr();
- pObj->SGNL_IXR_NMBR = pADO->FieldByName("SGNL_IXR_NMBR")->AsString;
- pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsFloat;
- pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsFloat;
- pObj->IXR_NM = pADO->FieldByName("IXR_NM")->AsString.Trim();
- pObj->NODE_ID = pADO->FieldByName("NODE_ID")->AsString;
- pObj->CCTV_TYPE = pADO->FieldByName("CCTV_TYPE")->AsInteger;
- pObj->CCTV_NMBR = pADO->FieldByName("CCTV_NMBR")->AsString;
- pObj->CTLR_NMBR = pObj->SGNL_IXR_NMBR;
- pObj->CTLR_ID = pObj->SGNL_IXR_NMBR;
- pObj->NAME = pObj->IXR_NM;
- FLists.Push(pObj->SGNL_IXR_NMBR, pObj);
- }
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TSgnlCtlrManager::LoadFromDb", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &e)
- {
- DBERRORMSG("TSgnlCtlrManager::LoadFromDb", String(e.ClassName()), e.Message, sQry);
- throw Exception(String(e.ClassName()) + e.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- FLists.UnLock();
- }
- return true;
- }
- //---------------------------------------------------------------------------
|