123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- //---------------------------------------------------------------------------
- #pragma hdrstop
- #include "CDSCrossF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- //---------------------------------------------------------------------------
- void TCrossCam::Copy(TCrossCam *AObj)
- {
- if (AObj)
- {
- AObj->CROSS_ID = CROSS_ID;
- AObj->CAM_ID = CAM_ID;
- AObj->CAM_NM = CAM_NM;
- AObj->DIRECTION = DIRECTION;
- AObj->ANGLE = ANGLE;
- AObj->IP = IP;
- AObj->ID = ID;
- AObj->PWD = PWD;
- AObj->RTSP_URL = RTSP_URL;
- AObj->RTSP_PORT = RTSP_PORT;
- AObj->HTTP_PORT = HTTP_PORT;
- }
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- TCross::TCross()
- {
- }
- //---------------------------------------------------------------------------
- TCross::~TCross()
- {
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- TCrossManager *CrossManager = NULL;
- //---------------------------------------------------------------------------
- TCrossManager::TCrossManager()
- {
- }
- //---------------------------------------------------------------------------
- TCrossManager::~TCrossManager()
- {
- FLists.RemoveAll();
- FCamLists.RemoveAll();
- }
- //---------------------------------------------------------------------------
- bool TCrossManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT A.* \r\n"
- " FROM MST_CROSS A \r\n"
- " WHERE DEL_YN = 'N' \r\n";
- FLists.Lock();
- try
- {
- FLists.RemoveAll();
- try
- {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
- pADO->SQL->Clear();
- pADO->SQL->Text = sQry;
- pADO->Prepared = true;
- pADO->Open();
- for( ; !pADO->Eof; pADO->Next())
- {
- TCross *pObj = new TCross();
- pObj->CROSS_ID = pADO->FieldByName("CROSS_ID")->AsString;
- pObj->CROSS_NM = pADO->FieldByName("NAME")->AsString.Trim();
- pObj->CROSS_TYPE = pADO->FieldByName("CROSS_TYPE")->AsString.Trim();
- FLists.Push(pObj->CROSS_ID, pObj);
- }
- }
- catch(EDatabaseError &E)
- {
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &e)
- {
- throw Exception(String(e.ClassName()) + e.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- FLists.UnLock();
- }
- return LoadCrossCam(ADbConn);
- }
- //---------------------------------------------------------------------------
- bool TCrossManager::LoadCrossCam(TADOConnection *ADbConn/*=NULL*/)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- FLists.Lock();
- try
- {
- FOR_STL(TCross*, pObj, FLists)
- {
- pObj->FLists.RemoveAll();
- }
- }
- __finally
- {
- FLists.UnLock();
- }
- sQry = "SELECT A.CROSS_ID, B.CAM_ID, B.NAME, B.DEL_YN, C.DIRECTION, C.X, C.Y, C.ANGLE, \r\n"
- " B.IP, B.ID, B.PW, B.RTSP_URL, B.RTSP_PORT, B.HTTP_PORT, B.RIGHT_USE \r\n"
- " FROM MST_CROSS A, MST_CCAM B, MST_CCAM_ACCESS C \r\n"
- " WHERE A.CROSS_ID = B.CROSS_ID \r\n"
- " AND B.CAM_ID = C.CAM_ID \r\n"
- " AND A.DEL_YN = 'N' \r\n"
- " AND B.DEL_YN = 'N' \r\n"
- " ORDER BY A.CROSS_ID, B.CAM_ID \r\n";
- try
- {
- String WCAM_CTLR_NMBR;
- FLists.Lock();
- FCamLists.Lock();
- FCamLists.RemoveAll();
- try
- {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
- pADO->SQL->Clear();
- pADO->SQL->Text = sQry;
- pADO->Prepared = true;
- pADO->Open();
- for( ; !pADO->Eof; pADO->Next())
- {
- String CROSS_ID = pADO->FieldByName("CROSS_ID")->AsString;
- TCross *pCross = FLists.Find(String(CROSS_ID));
- if (!pCross) continue;
- TCrossCam *pObj = new TCrossCam();
- if (pObj)
- {
- pObj->CROSS_ID = CROSS_ID;
- pObj->CAM_ID = pADO->FieldByName("CAM_ID")->AsString;
- pObj->CAM_NM = pADO->FieldByName("NAME")->AsString;
- pObj->DIRECTION = pADO->FieldByName("DIRECTION")->AsString.Trim();
- pObj->ANGLE = pADO->FieldByName("ANGLE")->AsInteger;
- pObj->IP = pADO->FieldByName("IP")->AsString.Trim();
- pObj->ID = pADO->FieldByName("ID")->AsString.Trim();
- pObj->PWD = pADO->FieldByName("PW")->AsString.Trim();
- pObj->RTSP_URL = pADO->FieldByName("RTSP_URL")->AsString.Trim();
- pObj->RTSP_PORT = pADO->FieldByName("RTSP_PORT")->AsInteger;
- pObj->HTTP_PORT = pADO->FieldByName("HTTP_PORT")->AsInteger;
- pCross->FLists.Push(pObj->CAM_ID, pObj);
- TCrossCam *pObj2 = new TCrossCam();
- pObj->Copy(pObj2);
- FCamLists.Push(pObj2->CAM_ID, pObj2);
- }
- }
- }
- catch(EDatabaseError &E)
- {
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &e)
- {
- throw Exception(String(e.ClassName()) + e.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- FLists.UnLock();
- FCamLists.UnLock();
- }
- return true;
- }
- //---------------------------------------------------------------------------
|