123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- //---------------------------------------------------------------------------
- #pragma hdrstop
- #include "CDSVmsIfscF.h"
- #include "VmsCommonLibF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- //---------------------------------------------------------------------------
- TVmsIfsc::TVmsIfsc()
- {
- }
- //---------------------------------------------------------------------------
- TVmsIfsc::~TVmsIfsc()
- {
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- TVmsSect::TVmsSect()
- {
- }
- //---------------------------------------------------------------------------
- TVmsSect::~TVmsSect()
- {
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- TVmsRltnSect::TVmsRltnSect()
- {
- }
- //---------------------------------------------------------------------------
- TVmsRltnSect::~TVmsRltnSect()
- {
- FLists.RemoveAll();
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- TVmsIfscManager *VmsIfscManager = NULL;
- //---------------------------------------------------------------------------
- TVmsIfscManager::TVmsIfscManager()
- {
- }
- //---------------------------------------------------------------------------
- TVmsIfscManager::~TVmsIfscManager()
- {
- FLists.RemoveAll();
- FRltnLists.RemoveAll();
- }
- //---------------------------------------------------------------------------
- bool TVmsIfscManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- FLists.Lock();
- FLists.RemoveAll();
- sQry = "SELECT A.VMS_SECT_ID, \r\n"
- " A.VMS_SECT_NM, \r\n"
- " A.VMS_SECT_ENG_NM, \r\n"
- " A.VMS_DSPL_STRT_NM, \r\n"
- " A.VMS_DSPL_END_NM, \r\n"
- " A.VMS_DSPL_SECT_NM, \r\n"
- " A.ROAD_GRD \r\n"
- " FROM TB_VMS_SECT A \r\n"
- " ORDER BY A.VMS_SECT_ID \r\n";
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
- pADO->SQL->Clear();
- pADO->SQL->Text = sQry;
- pADO->Open();
- for( ; !pADO->Eof; pADO->Next()) {
- TVmsIfsc *pObj = new TVmsIfsc();
- pObj->VMS_SECT_ID = pADO->FieldByName("VMS_SECT_ID")->AsString;
- pObj->VMS_SECT_NM = pADO->FieldByName("VMS_SECT_NM")->AsString;
- pObj->VMS_SECT_ENG_NM = pADO->FieldByName("VMS_SECT_ENG_NM")->AsString;
- pObj->VMS_DSPL_STRT_NM = pADO->FieldByName("VMS_DSPL_STRT_NM")->AsString;
- pObj->VMS_DSPL_END_NM = pADO->FieldByName("VMS_DSPL_END_NM")->AsString;
- pObj->VMS_DSPL_SECT_NM = pADO->FieldByName("VMS_DSPL_SECT_NM")->AsString;
- pObj->ROAD_GRD = pADO->FieldByName("ROAD_GRD")->AsString;
- FLists.Push(pObj->VMS_SECT_ID, pObj);
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TVmsIfscManager::LoadFromDb", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TVmsIfscManager::LoadFromDb", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- FLists.UnLock();
- }
- return LoadSubFromDb(ADbConn);
- }
- //---------------------------------------------------------------------------
- bool TVmsIfscManager::LoadSubFromDb(TADOConnection *ADbConn/*=NULL*/)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT A.VMS_CTLR_ID, A.SN, \r\n"
- " A.VMS_SECT_ID, A.VMS_DTUR_SECT_ID \r\n"
- " FROM TB_VMS_VMS_SECT A, \r\n"
- " TB_VMS_SECT B \r\n"
- " WHERE A.VMS_SECT_ID = B.VMS_SECT_ID \r\n"
- " ORDER BY A.VMS_CTLR_ID, A.SN \r\n";
- FRltnLists.Lock();
- FRltnLists.RemoveAll();
- try {
- try
- {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
- pADO->SQL->Clear();
- pADO->SQL->Text = sQry;
- pADO->Open();
- for( ; !pADO->Eof; pADO->Next()) {
- TVmsSect *pSect = new TVmsSect();
- pSect->VMS_CTLR_ID = pADO->FieldByName("VMS_CTLR_ID")->AsString;
- pSect->SN = pADO->FieldByName("SN")->AsInteger;
- pSect->VMS_SECT_ID = pADO->FieldByName("VMS_SECT_ID")->AsString;
- pSect->VMS_DTUR_SECT_ID = pADO->FieldByName("VMS_DTUR_SECT_ID")->AsString;
- TVmsRltnSect *pRltnSect = FRltnLists.Find(pSect->VMS_CTLR_ID);
- if (pRltnSect == NULL) {
- pRltnSect = new TVmsRltnSect();
- pRltnSect->VMS_CTLR_ID = pSect->VMS_CTLR_ID;
- FRltnLists.Push(pRltnSect->VMS_CTLR_ID, pRltnSect);
- }
- pRltnSect->FLists.Push(pSect->SN, pSect);
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TVmsIfscManager::LoadSubFromDb", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TVmsIfscManager::LoadSubFromDb", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- FRltnLists.UnLock();
- }
- return true;
- }
- //---------------------------------------------------------------------------
|