123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- //---------------------------------------------------------------------------
- #pragma hdrstop
- #include "ITSDbF.h"
- #include "AppGlobalF.h"
- #include "CDSItsCrossInfoF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- String __fastcall STCondition::ToSQLOrString(String strField)
- {
- String strRet;
- int nCount = 0;
- if(true == bUse)
- {
- strRet += "( ";
- vector<String>::iterator it, itEnd = Codes.end();
- for(it = Codes.begin(); it != itEnd; ++it)
- {
- if(Codes.begin() != it)
- {
- strRet += " or ";
- }
- if(nCount >= 100)
- {
- strRet += " \n";
- nCount = 0;
- }
- strRet += strField + " = '";
- strRet += *it;
- strRet += "'";
- }
- strRet += ") ";
- }
- return strRet;
- }
- //------------------------------------------------------------------------------
- String __fastcall STCondition::ToSQLInString(String strField)
- {
- String strRet;
- if(true == bUse)
- {
- if(strField.IsEmpty() == false)
- {
- strRet.sprintf(L" %s IN ( ", strField);
- }
- else
- {
- strRet = " IN ( ";
- }
- vector<String>::iterator it, itEnd = Codes.end();
- for(it = Codes.begin(); it != itEnd; ++it)
- {
- if(Codes.begin() != it)
- {
- strRet += ", ";
- }
- strRet += "(";
- strRet += *it;
- strRet += ")";
- }
- strRet += ") ";
- }
- return strRet;
- };
- //------------------------------------------------------------------------------
- TRCrossDir::TRCrossDir()
- {
- FShow = true;
- }
- //---------------------------------------------------------------------------
- void TRCrossDir::Clear()
- {
- }
- //---------------------------------------------------------------------------
- TRCrossDir::~TRCrossDir()
- {
- }
- //---------------------------------------------------------------------------
- TRCross::TRCross()
- {
- FShow = true;
- }
- //---------------------------------------------------------------------------
- void TRCross::Clear()
- {
- }
- //---------------------------------------------------------------------------
- TRCross::~TRCross()
- {
- }
- //---------------------------------------------------------------------------
- TRCrossRoad::TRCrossRoad()
- {
- FShow = true;
- }
- //---------------------------------------------------------------------------
- void TRCrossRoad::Clear()
- {
- }
- //---------------------------------------------------------------------------
- TRCrossRoad::~TRCrossRoad()
- {
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- TRCrossManager *RCrossManager = NULL;
- //---------------------------------------------------------------------------
- TRCrossManager::TRCrossManager()
- {
- FLoadLink = false;
- }
- //---------------------------------------------------------------------------
- TRCrossManager::~TRCrossManager()
- {
- FLists.RemoveAll();
- }
- //---------------------------------------------------------------------------
- bool TRCrossManager::LoadCrossRoad(TADOConnection *ADbConn/*=NULL*/)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT B.ROAD_NAME \r\n"
- " FROM TB_VDS_CTLR A \r\n"
- " INNER JOIN TB_VDS_CMRA B \r\n"
- " ON A.DEL_YN = 'N' \r\n"
- " AND B.DEL_YN = 'N' \r\n"
- " AND A.VDS_TYPE_CD = 'C' \r\n"
- " AND A.VDS_CTLR_NMBR = B.VDS_CTLR_NMBR \r\n"
- " GROUP BY B.ROAD_NAME \r\n";
- try
- {
- FLists.Lock();
- 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())
- {
- TRCrossRoad *pCrsRoad = new TRCrossRoad();
- pCrsRoad->ROAD_NAME = pADO->FieldByName("ROAD_NAME")->AsString;
- FLists.Push(pCrsRoad->ROAD_NAME, pCrsRoad);
- }
- }
- catch(EDatabaseError &E)
- {
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- FLists.UnLock();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool TRCrossManager::LoadCross(TADOConnection *ADbConn/*=NULL*/)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT B.ROAD_NAME, B.CROSS_NAME \r\n"
- " FROM TB_VDS_CTLR A \r\n"
- " INNER JOIN TB_VDS_CMRA B \r\n"
- " ON A.DEL_YN = 'N' \r\n"
- " AND B.DEL_YN = 'N' \r\n"
- " AND A.VDS_TYPE_CD = 'C' \r\n"
- " AND A.VDS_CTLR_NMBR = B.VDS_CTLR_NMBR \r\n"
- " GROUP BY B.ROAD_NAME, B.CROSS_NAME \r\n";
- TRCrossRoad *pCrsRoad;
- try
- {
- 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 ROAD_NAME = pADO->FieldByName("ROAD_NAME")->AsString;
- pCrsRoad = FLists.Find(ROAD_NAME);
- if (!pCrsRoad) continue;
- TRCross *pCrs = new TRCross();
- pCrs->ROAD_NAME = ROAD_NAME;
- pCrs->CROSS_NAME = pADO->FieldByName("CROSS_NAME")->AsString;
- pCrsRoad->FCrosss.Push(pCrs->CROSS_NAME, pCrs);
- }
- }
- catch(EDatabaseError &E)
- {
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool TRCrossManager::LoadCrossDir(TADOConnection *ADbConn/*=NULL*/)
- {
- if (FLoadLink) return true;
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT B.ROAD_NAME, B.CROSS_NAME, B.DIR_NAME, B.VDS_CTLR_NMBR, B.VDS_CMRA_NO \r\n"
- " FROM TB_VDS_CTLR A \r\n"
- " INNER JOIN TB_VDS_CMRA B \r\n"
- " ON A.DEL_YN = 'N' \r\n"
- " AND B.DEL_YN = 'N' \r\n"
- " AND A.VDS_TYPE_CD = 'C' \r\n"
- " AND A.VDS_CTLR_NMBR = B.VDS_CTLR_NMBR \r\n"
- " GROUP BY B.ROAD_NAME, B.CROSS_NAME, B.DIR_NAME, B.VDS_CTLR_NMBR, B.VDS_CMRA_NO \r\n";
- TRCrossRoad *pCrsRoad;
- TRCross *pCrs;
- try
- {
- 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 ROAD_NAME = pADO->FieldByName("ROAD_NAME")->AsString;
- pCrsRoad = FLists.Find(ROAD_NAME);
- if (!pCrsRoad) continue;
- String CROSS_NAME = pADO->FieldByName("CROSS_NAME")->AsString;
- pCrs = pCrsRoad->FCrosss.Find(CROSS_NAME);
- if (!pCrs) continue;
- TRCrossDir *pDir = new TRCrossDir();
- pDir->DIR_NAME = pADO->FieldByName("DIR_NAME")->AsString;
- pDir->VDS_CTLR_NMBR = pADO->FieldByName("VDS_CTLR_NMBR")->AsString;
- pDir->VDS_CMRA_NO = pADO->FieldByName("VDS_CMRA_NO")->AsString;
- pCrs->FLinks.Push(pDir->DIR_NAME, pDir);
- }
- }
- catch(EDatabaseError &E)
- {
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- FLoadLink = true;
- return true;
- }
- //---------------------------------------------------------------------------
|